@@ -3,13 +3,13 @@ private import swift
33cached
44newtype TControlFlowElement =
55 TAstElement ( AstNode n ) or
6- TFuncDeclElement ( AbstractFunctionDecl func ) { func .hasBody ( ) } or
7- TClosureElement ( ClosureExpr clos ) or
6+ TFuncDeclElement ( Function func ) { func .hasBody ( ) } or
7+ TClosureElement ( ExplicitClosureExpr clos ) or
88 TPropertyGetterElement ( Decl accessor , Expr ref ) { isPropertyGetterElement ( accessor , ref ) } or
9- TPropertySetterElement ( AccessorDecl accessor , AssignExpr assign ) {
9+ TPropertySetterElement ( Accessor accessor , AssignExpr assign ) {
1010 isPropertySetterElement ( accessor , assign )
1111 } or
12- TPropertyObserverElement ( AccessorDecl observer , AssignExpr assign ) {
12+ TPropertyObserverElement ( Accessor observer , AssignExpr assign ) {
1313 isPropertyObserverElement ( observer , assign )
1414 } or
1515 TKeyPathElement ( KeyPathExpr expr )
@@ -24,19 +24,19 @@ predicate ignoreAstElement(AstNode n) {
2424 isPropertySetterElement ( _, n )
2525}
2626
27- private AccessorDecl getAnAccessorDecl ( Decl d ) {
28- result = d .( VarDecl ) .getAnAccessorDecl ( ) or
29- result = d .( SubscriptDecl ) .getAnAccessorDecl ( )
27+ private Accessor getAnAccessor ( Decl d ) {
28+ result = d .( VarDecl ) .getAnAccessor ( ) or
29+ result = d .( SubscriptDecl ) .getAnAccessor ( )
3030}
3131
32- predicate isPropertyGetterElement ( AccessorDecl accessor , Expr ref ) {
32+ predicate isPropertyGetterElement ( Accessor accessor , Expr ref ) {
3333 hasDirectToImplementationOrOrdinarySemantics ( ref ) and
3434 isRValue ( ref ) and
3535 accessor .isGetter ( ) and
36- accessor = getAnAccessorDecl ( [ ref .( LookupExpr ) .getMember ( ) , ref .( DeclRefExpr ) .getDecl ( ) ] )
36+ accessor = getAnAccessor ( [ ref .( LookupExpr ) .getMember ( ) , ref .( DeclRefExpr ) .getDecl ( ) ] )
3737}
3838
39- predicate isPropertyGetterElement ( PropertyGetterElement pge , AccessorDecl accessor , Expr ref ) {
39+ predicate isPropertyGetterElement ( PropertyGetterElement pge , Accessor accessor , Expr ref ) {
4040 pge = TPropertyGetterElement ( accessor , ref )
4141}
4242
@@ -60,32 +60,32 @@ private predicate hasDirectToImplementationOrOrdinarySemantics(Expr e) {
6060 hasDirectToImplementationSemantics ( e ) or hasOrdinarySemantics ( e )
6161}
6262
63- private predicate isPropertySetterElement ( AccessorDecl accessor , AssignExpr assign ) {
63+ private predicate isPropertySetterElement ( Accessor accessor , AssignExpr assign ) {
6464 exists ( Expr lhs | lhs = assign .getDest ( ) |
6565 hasDirectToImplementationOrOrdinarySemantics ( lhs ) and
6666 accessor .isSetter ( ) and
6767 isLValue ( lhs ) and
68- accessor = getAnAccessorDecl ( [ lhs .( LookupExpr ) .getMember ( ) , lhs .( DeclRefExpr ) .getDecl ( ) ] )
68+ accessor = getAnAccessor ( [ lhs .( LookupExpr ) .getMember ( ) , lhs .( DeclRefExpr ) .getDecl ( ) ] )
6969 )
7070}
7171
7272predicate isPropertySetterElement (
73- PropertySetterElement pse , AccessorDecl accessor , AssignExpr assign
73+ PropertySetterElement pse , Accessor accessor , AssignExpr assign
7474) {
7575 pse = TPropertySetterElement ( accessor , assign )
7676}
7777
78- private predicate isPropertyObserverElement ( AccessorDecl observer , AssignExpr assign ) {
78+ private predicate isPropertyObserverElement ( Accessor observer , AssignExpr assign ) {
7979 exists ( Expr lhs | lhs = assign .getDest ( ) |
8080 hasDirectToImplementationOrOrdinarySemantics ( lhs ) and
8181 observer .isPropertyObserver ( ) and
8282 isLValue ( lhs ) and
83- observer = getAnAccessorDecl ( [ lhs .( LookupExpr ) .getMember ( ) , lhs .( DeclRefExpr ) .getDecl ( ) ] )
83+ observer = getAnAccessor ( [ lhs .( LookupExpr ) .getMember ( ) , lhs .( DeclRefExpr ) .getDecl ( ) ] )
8484 )
8585}
8686
8787predicate isPropertyObserverElement (
88- PropertyObserverElement poe , AccessorDecl accessor , AssignExpr assign
88+ PropertyObserverElement poe , Accessor accessor , AssignExpr assign
8989) {
9090 poe = TPropertyObserverElement ( accessor , assign )
9191}
@@ -111,7 +111,7 @@ class AstElement extends ControlFlowElement, TAstElement {
111111}
112112
113113class PropertyGetterElement extends ControlFlowElement , TPropertyGetterElement {
114- AccessorDecl accessor ;
114+ Accessor accessor ;
115115 Expr ref ;
116116
117117 PropertyGetterElement ( ) { this = TPropertyGetterElement ( accessor , ref ) }
@@ -122,13 +122,13 @@ class PropertyGetterElement extends ControlFlowElement, TPropertyGetterElement {
122122
123123 Expr getRef ( ) { result = ref }
124124
125- AccessorDecl getAccessorDecl ( ) { result = accessor }
125+ Accessor getAccessor ( ) { result = accessor }
126126
127127 Expr getBase ( ) { result = ref .( LookupExpr ) .getBase ( ) }
128128}
129129
130130class PropertySetterElement extends ControlFlowElement , TPropertySetterElement {
131- AccessorDecl accessor ;
131+ Accessor accessor ;
132132 AssignExpr assign ;
133133
134134 PropertySetterElement ( ) { this = TPropertySetterElement ( accessor , assign ) }
@@ -137,15 +137,15 @@ class PropertySetterElement extends ControlFlowElement, TPropertySetterElement {
137137
138138 override Location getLocation ( ) { result = assign .getLocation ( ) }
139139
140- AccessorDecl getAccessorDecl ( ) { result = accessor }
140+ Accessor getAccessor ( ) { result = accessor }
141141
142142 AssignExpr getAssignExpr ( ) { result = assign }
143143
144144 Expr getBase ( ) { result = assign .getDest ( ) .( LookupExpr ) .getBase ( ) }
145145}
146146
147147class PropertyObserverElement extends ControlFlowElement , TPropertyObserverElement {
148- AccessorDecl observer ;
148+ Accessor observer ;
149149 AssignExpr assign ;
150150
151151 PropertyObserverElement ( ) { this = TPropertyObserverElement ( observer , assign ) }
@@ -160,7 +160,7 @@ class PropertyObserverElement extends ControlFlowElement, TPropertyObserverEleme
160160
161161 override Location getLocation ( ) { result = assign .getLocation ( ) }
162162
163- AccessorDecl getObserver ( ) { result = observer }
163+ Accessor getObserver ( ) { result = observer }
164164
165165 predicate isWillSet ( ) { observer .isWillSet ( ) }
166166
@@ -172,15 +172,15 @@ class PropertyObserverElement extends ControlFlowElement, TPropertyObserverEleme
172172}
173173
174174class FuncDeclElement extends ControlFlowElement , TFuncDeclElement {
175- AbstractFunctionDecl func ;
175+ Function func ;
176176
177177 FuncDeclElement ( ) { this = TFuncDeclElement ( func ) }
178178
179179 override string toString ( ) { result = func .toString ( ) }
180180
181181 override Location getLocation ( ) { result = func .getLocation ( ) }
182182
183- AbstractFunctionDecl getAst ( ) { result = func }
183+ Function getAst ( ) { result = func }
184184}
185185
186186class KeyPathElement extends ControlFlowElement , TKeyPathElement {
@@ -196,13 +196,13 @@ class KeyPathElement extends ControlFlowElement, TKeyPathElement {
196196}
197197
198198class ClosureElement extends ControlFlowElement , TClosureElement {
199- ClosureExpr expr ;
199+ ExplicitClosureExpr expr ;
200200
201201 ClosureElement ( ) { this = TClosureElement ( expr ) }
202202
203203 override Location getLocation ( ) { result = expr .getLocation ( ) }
204204
205- ClosureExpr getAst ( ) { result = expr }
205+ ExplicitClosureExpr getAst ( ) { result = expr }
206206
207207 override string toString ( ) { result = expr .toString ( ) }
208208}
0 commit comments