Commit Graph

5 Commits

Author SHA1 Message Date
Slava Pestov
39a22f3d6a AST: Remove ParameterTypeFlags::Escaping
Escapingness is a property of the type of a value, not a property of a function
parameter. Having it as a separate parameter flag just meant one more piece of
state that could get out of sync and cause weird problems.

Instead, always look at the noescape bit in a function type as the canonical
source of truth.

This does mean that '@escaping' is now printed in a few diagnostics where it was
not printed before; we can investigate these as separate issues, but it is
correct to print it there because the function types in question are, in fact,
escaping.

Fixes <https://bugs.swift.org/browse/SR-10256>, <rdar://problem/49522774>.
2019-04-15 00:25:03 -04:00
Rintaro Ishizaki
f4fc479818 [IDE] Handle MakeTemporarilyEscapableExpr in SemaAnnotator 2018-07-30 09:50:37 +09:00
Rintaro Ishizaki
1a624413c6 [IDE] Handle OpenExistentialExpr in SemaAnnotator
As for `OpenExistentialExpr`, normal ASTWalker walks into the existential
expression first, then walks into sub expression. However,
`SourceEntitiyWalker` must walk AST tree by source order. Handle
`OpenExistentialExpr` and its `OpaqueValueExpr` so that
`SourceEntityWalker` walks to them in "outer to inner" manner.

rdar://problem/41147733
2018-07-30 09:50:37 +09:00
Xi Ge
83183abc38 RangeInfo: Add a new range info kind that describes part of a parent expression. rdar://32039874 (#9707) 2017-05-17 14:21:47 -07:00
Xi Ge
57efeef1af [test] Add range info test for rdar://31692218 2017-05-03 12:04:54 -07:00