Move more of the signature validation of accessors into Sema.

Use this to remove the last bit of the hack to suppres noescape on setter
arguments.  Add a more comprehensive test of noescape's interaction with
accessors.
This commit is contained in:
John McCall
2017-09-12 02:56:27 -04:00
parent fec25a5de8
commit 171d45d8c9
9 changed files with 329 additions and 120 deletions

View File

@@ -2216,15 +2216,7 @@
key.usr: "s:8__main__16ComputedPropertyC5valueSivs",
key.offset: 910,
key.length: 49,
key.fully_annotated_decl: "<decl.function.accessor.setter><decl.name>set(newVal)</decl.name> {}</decl.function.accessor.setter>",
key.entities: [
{
key.kind: source.lang.swift.decl.var.local,
key.name: "newVal",
key.offset: 843,
key.length: 3
}
]
key.fully_annotated_decl: "<decl.function.accessor.setter><decl.name>set(newVal)</decl.name> {}</decl.function.accessor.setter>"
},
{
key.kind: source.lang.swift.decl.var.instance,
@@ -2360,15 +2352,7 @@
key.usr: "s:8__main__3CC2CS2icis",
key.offset: 1193,
key.length: 31,
key.fully_annotated_decl: "<decl.function.accessor.setter><decl.name>set(vvv)</decl.name> {}</decl.function.accessor.setter>",
key.entities: [
{
key.kind: source.lang.swift.decl.var.local,
key.name: "vvv",
key.offset: 1152,
key.length: 3
}
]
key.fully_annotated_decl: "<decl.function.accessor.setter><decl.name>set(vvv)</decl.name> {}</decl.function.accessor.setter>"
}
]
},