@@ -135,6 +135,21 @@ private module Impl {
135
135
)
136
136
}
137
137
138
+ private Element getImmediateChildOfErrorElement (
139
+ ErrorElement e , int index , string partialPredicateCall
140
+ ) {
141
+ exists ( int b , int bLocatable , int n |
142
+ b = 0 and
143
+ bLocatable = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfLocatable ( e , i , _) ) | i ) and
144
+ n = bLocatable and
145
+ (
146
+ none ( )
147
+ or
148
+ result = getImmediateChildOfLocatable ( e , index - b , partialPredicateCall )
149
+ )
150
+ )
151
+ }
152
+
138
153
private Element getImmediateChildOfUnknownFile (
139
154
UnknownFile e , int index , string partialPredicateCall
140
155
) {
@@ -165,32 +180,18 @@ private module Impl {
165
180
)
166
181
}
167
182
168
- private Element getImmediateChildOfUnresolvedElement (
169
- UnresolvedElement e , int index , string partialPredicateCall
170
- ) {
171
- exists ( int b , int bLocatable , int n |
172
- b = 0 and
173
- bLocatable = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfLocatable ( e , i , _) ) | i ) and
174
- n = bLocatable and
175
- (
176
- none ( )
177
- or
178
- result = getImmediateChildOfLocatable ( e , index - b , partialPredicateCall )
179
- )
180
- )
181
- }
182
-
183
183
private Element getImmediateChildOfUnspecifiedElement (
184
184
UnspecifiedElement e , int index , string partialPredicateCall
185
185
) {
186
- exists ( int b , int bLocatable , int n |
186
+ exists ( int b , int bErrorElement , int n |
187
187
b = 0 and
188
- bLocatable = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfLocatable ( e , i , _) ) | i ) and
189
- n = bLocatable and
188
+ bErrorElement =
189
+ b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
190
+ n = bErrorElement and
190
191
(
191
192
none ( )
192
193
or
193
- result = getImmediateChildOfLocatable ( e , index - b , partialPredicateCall )
194
+ result = getImmediateChildOfErrorElement ( e , index - b , partialPredicateCall )
194
195
)
195
196
)
196
197
}
@@ -1221,14 +1222,18 @@ private module Impl {
1221
1222
}
1222
1223
1223
1224
private Element getImmediateChildOfErrorExpr ( ErrorExpr e , int index , string partialPredicateCall ) {
1224
- exists ( int b , int bExpr , int n |
1225
+ exists ( int b , int bExpr , int bErrorElement , int n |
1225
1226
b = 0 and
1226
1227
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1227
- n = bExpr and
1228
+ bErrorElement =
1229
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1230
+ n = bErrorElement and
1228
1231
(
1229
1232
none ( )
1230
1233
or
1231
1234
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1235
+ or
1236
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1232
1237
)
1233
1238
)
1234
1239
}
@@ -1598,14 +1603,18 @@ private module Impl {
1598
1603
private Element getImmediateChildOfOverloadedDeclRefExpr (
1599
1604
OverloadedDeclRefExpr e , int index , string partialPredicateCall
1600
1605
) {
1601
- exists ( int b , int bExpr , int n |
1606
+ exists ( int b , int bExpr , int bErrorElement , int n |
1602
1607
b = 0 and
1603
1608
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1604
- n = bExpr and
1609
+ bErrorElement =
1610
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1611
+ n = bErrorElement and
1605
1612
(
1606
1613
none ( )
1607
1614
or
1608
1615
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1616
+ or
1617
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1609
1618
)
1610
1619
)
1611
1620
}
@@ -1763,38 +1772,38 @@ private module Impl {
1763
1772
private Element getImmediateChildOfUnresolvedDeclRefExpr (
1764
1773
UnresolvedDeclRefExpr e , int index , string partialPredicateCall
1765
1774
) {
1766
- exists ( int b , int bExpr , int bUnresolvedElement , int n |
1775
+ exists ( int b , int bExpr , int bErrorElement , int n |
1767
1776
b = 0 and
1768
1777
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1769
- bUnresolvedElement =
1770
- bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
1771
- n = bUnresolvedElement and
1778
+ bErrorElement =
1779
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1780
+ n = bErrorElement and
1772
1781
(
1773
1782
none ( )
1774
1783
or
1775
1784
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1776
1785
or
1777
- result = getImmediateChildOfUnresolvedElement ( e , index - bExpr , partialPredicateCall )
1786
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1778
1787
)
1779
1788
)
1780
1789
}
1781
1790
1782
1791
private Element getImmediateChildOfUnresolvedDotExpr (
1783
1792
UnresolvedDotExpr e , int index , string partialPredicateCall
1784
1793
) {
1785
- exists ( int b , int bExpr , int bUnresolvedElement , int n , int nBase |
1794
+ exists ( int b , int bExpr , int bErrorElement , int n , int nBase |
1786
1795
b = 0 and
1787
1796
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1788
- bUnresolvedElement =
1789
- bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
1790
- n = bUnresolvedElement and
1797
+ bErrorElement =
1798
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1799
+ n = bErrorElement and
1791
1800
nBase = n + 1 and
1792
1801
(
1793
1802
none ( )
1794
1803
or
1795
1804
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1796
1805
or
1797
- result = getImmediateChildOfUnresolvedElement ( e , index - bExpr , partialPredicateCall )
1806
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1798
1807
or
1799
1808
index = n and result = e .getImmediateBase ( ) and partialPredicateCall = "Base()"
1800
1809
)
@@ -1804,38 +1813,38 @@ private module Impl {
1804
1813
private Element getImmediateChildOfUnresolvedMemberExpr (
1805
1814
UnresolvedMemberExpr e , int index , string partialPredicateCall
1806
1815
) {
1807
- exists ( int b , int bExpr , int bUnresolvedElement , int n |
1816
+ exists ( int b , int bExpr , int bErrorElement , int n |
1808
1817
b = 0 and
1809
1818
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1810
- bUnresolvedElement =
1811
- bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
1812
- n = bUnresolvedElement and
1819
+ bErrorElement =
1820
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1821
+ n = bErrorElement and
1813
1822
(
1814
1823
none ( )
1815
1824
or
1816
1825
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1817
1826
or
1818
- result = getImmediateChildOfUnresolvedElement ( e , index - bExpr , partialPredicateCall )
1827
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1819
1828
)
1820
1829
)
1821
1830
}
1822
1831
1823
1832
private Element getImmediateChildOfUnresolvedPatternExpr (
1824
1833
UnresolvedPatternExpr e , int index , string partialPredicateCall
1825
1834
) {
1826
- exists ( int b , int bExpr , int bUnresolvedElement , int n , int nSubPattern |
1835
+ exists ( int b , int bExpr , int bErrorElement , int n , int nSubPattern |
1827
1836
b = 0 and
1828
1837
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1829
- bUnresolvedElement =
1830
- bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
1831
- n = bUnresolvedElement and
1838
+ bErrorElement =
1839
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1840
+ n = bErrorElement and
1832
1841
nSubPattern = n + 1 and
1833
1842
(
1834
1843
none ( )
1835
1844
or
1836
1845
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1837
1846
or
1838
- result = getImmediateChildOfUnresolvedElement ( e , index - bExpr , partialPredicateCall )
1847
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1839
1848
or
1840
1849
index = n and result = e .getImmediateSubPattern ( ) and partialPredicateCall = "SubPattern()"
1841
1850
)
@@ -1845,19 +1854,19 @@ private module Impl {
1845
1854
private Element getImmediateChildOfUnresolvedSpecializeExpr (
1846
1855
UnresolvedSpecializeExpr e , int index , string partialPredicateCall
1847
1856
) {
1848
- exists ( int b , int bExpr , int bUnresolvedElement , int n , int nSubExpr |
1857
+ exists ( int b , int bExpr , int bErrorElement , int n , int nSubExpr |
1849
1858
b = 0 and
1850
1859
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1851
- bUnresolvedElement =
1852
- bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
1853
- n = bUnresolvedElement and
1860
+ bErrorElement =
1861
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1862
+ n = bErrorElement and
1854
1863
nSubExpr = n + 1 and
1855
1864
(
1856
1865
none ( )
1857
1866
or
1858
1867
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1859
1868
or
1860
- result = getImmediateChildOfUnresolvedElement ( e , index - bExpr , partialPredicateCall )
1869
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1861
1870
or
1862
1871
index = n and result = e .getImmediateSubExpr ( ) and partialPredicateCall = "SubExpr()"
1863
1872
)
@@ -2841,45 +2850,43 @@ private module Impl {
2841
2850
private Element getImmediateChildOfUnresolvedMemberChainResultExpr (
2842
2851
UnresolvedMemberChainResultExpr e , int index , string partialPredicateCall
2843
2852
) {
2844
- exists ( int b , int bIdentityExpr , int bUnresolvedElement , int n |
2853
+ exists ( int b , int bIdentityExpr , int bErrorElement , int n |
2845
2854
b = 0 and
2846
2855
bIdentityExpr =
2847
2856
b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfIdentityExpr ( e , i , _) ) | i ) and
2848
- bUnresolvedElement =
2857
+ bErrorElement =
2849
2858
bIdentityExpr + 1 +
2850
- max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
2851
- n = bUnresolvedElement and
2859
+ max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
2860
+ n = bErrorElement and
2852
2861
(
2853
2862
none ( )
2854
2863
or
2855
2864
result = getImmediateChildOfIdentityExpr ( e , index - b , partialPredicateCall )
2856
2865
or
2857
- result =
2858
- getImmediateChildOfUnresolvedElement ( e , index - bIdentityExpr , partialPredicateCall )
2866
+ result = getImmediateChildOfErrorElement ( e , index - bIdentityExpr , partialPredicateCall )
2859
2867
)
2860
2868
)
2861
2869
}
2862
2870
2863
2871
private Element getImmediateChildOfUnresolvedTypeConversionExpr (
2864
2872
UnresolvedTypeConversionExpr e , int index , string partialPredicateCall
2865
2873
) {
2866
- exists ( int b , int bImplicitConversionExpr , int bUnresolvedElement , int n |
2874
+ exists ( int b , int bImplicitConversionExpr , int bErrorElement , int n |
2867
2875
b = 0 and
2868
2876
bImplicitConversionExpr =
2869
2877
b + 1 +
2870
2878
max ( int i | i = - 1 or exists ( getImmediateChildOfImplicitConversionExpr ( e , i , _) ) | i ) and
2871
- bUnresolvedElement =
2879
+ bErrorElement =
2872
2880
bImplicitConversionExpr + 1 +
2873
- max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
2874
- n = bUnresolvedElement and
2881
+ max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
2882
+ n = bErrorElement and
2875
2883
(
2876
2884
none ( )
2877
2885
or
2878
2886
result = getImmediateChildOfImplicitConversionExpr ( e , index - b , partialPredicateCall )
2879
2887
or
2880
2888
result =
2881
- getImmediateChildOfUnresolvedElement ( e , index - bImplicitConversionExpr ,
2882
- partialPredicateCall )
2889
+ getImmediateChildOfErrorElement ( e , index - bImplicitConversionExpr , partialPredicateCall )
2883
2890
)
2884
2891
)
2885
2892
}
@@ -3874,14 +3881,18 @@ private module Impl {
3874
3881
}
3875
3882
3876
3883
private Element getImmediateChildOfErrorType ( ErrorType e , int index , string partialPredicateCall ) {
3877
- exists ( int b , int bType , int n |
3884
+ exists ( int b , int bType , int bErrorElement , int n |
3878
3885
b = 0 and
3879
3886
bType = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfType ( e , i , _) ) | i ) and
3880
- n = bType and
3887
+ bErrorElement =
3888
+ bType + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
3889
+ n = bErrorElement and
3881
3890
(
3882
3891
none ( )
3883
3892
or
3884
3893
result = getImmediateChildOfType ( e , index - b , partialPredicateCall )
3894
+ or
3895
+ result = getImmediateChildOfErrorElement ( e , index - bType , partialPredicateCall )
3885
3896
)
3886
3897
)
3887
3898
}
@@ -4145,18 +4156,18 @@ private module Impl {
4145
4156
private Element getImmediateChildOfUnresolvedType (
4146
4157
UnresolvedType e , int index , string partialPredicateCall
4147
4158
) {
4148
- exists ( int b , int bType , int bUnresolvedElement , int n |
4159
+ exists ( int b , int bType , int bErrorElement , int n |
4149
4160
b = 0 and
4150
4161
bType = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfType ( e , i , _) ) | i ) and
4151
- bUnresolvedElement =
4152
- bType + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
4153
- n = bUnresolvedElement and
4162
+ bErrorElement =
4163
+ bType + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
4164
+ n = bErrorElement and
4154
4165
(
4155
4166
none ( )
4156
4167
or
4157
4168
result = getImmediateChildOfType ( e , index - b , partialPredicateCall )
4158
4169
or
4159
- result = getImmediateChildOfUnresolvedElement ( e , index - bType , partialPredicateCall )
4170
+ result = getImmediateChildOfErrorElement ( e , index - bType , partialPredicateCall )
4160
4171
)
4161
4172
)
4162
4173
}
0 commit comments