@@ -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
}
@@ -1215,14 +1216,18 @@ private module Impl {
1215
1216
}
1216
1217
1217
1218
private Element getImmediateChildOfErrorExpr ( ErrorExpr e , int index , string partialPredicateCall ) {
1218
- exists ( int b , int bExpr , int n |
1219
+ exists ( int b , int bExpr , int bErrorElement , int n |
1219
1220
b = 0 and
1220
1221
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1221
- n = bExpr and
1222
+ bErrorElement =
1223
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1224
+ n = bErrorElement and
1222
1225
(
1223
1226
none ( )
1224
1227
or
1225
1228
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1229
+ or
1230
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1226
1231
)
1227
1232
)
1228
1233
}
@@ -1592,14 +1597,18 @@ private module Impl {
1592
1597
private Element getImmediateChildOfOverloadedDeclRefExpr (
1593
1598
OverloadedDeclRefExpr e , int index , string partialPredicateCall
1594
1599
) {
1595
- exists ( int b , int bExpr , int n |
1600
+ exists ( int b , int bExpr , int bErrorElement , int n |
1596
1601
b = 0 and
1597
1602
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1598
- n = bExpr and
1603
+ bErrorElement =
1604
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1605
+ n = bErrorElement and
1599
1606
(
1600
1607
none ( )
1601
1608
or
1602
1609
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1610
+ or
1611
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1603
1612
)
1604
1613
)
1605
1614
}
@@ -1744,38 +1753,38 @@ private module Impl {
1744
1753
private Element getImmediateChildOfUnresolvedDeclRefExpr (
1745
1754
UnresolvedDeclRefExpr e , int index , string partialPredicateCall
1746
1755
) {
1747
- exists ( int b , int bExpr , int bUnresolvedElement , int n |
1756
+ exists ( int b , int bExpr , int bErrorElement , int n |
1748
1757
b = 0 and
1749
1758
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1750
- bUnresolvedElement =
1751
- bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
1752
- n = bUnresolvedElement and
1759
+ bErrorElement =
1760
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1761
+ n = bErrorElement and
1753
1762
(
1754
1763
none ( )
1755
1764
or
1756
1765
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1757
1766
or
1758
- result = getImmediateChildOfUnresolvedElement ( e , index - bExpr , partialPredicateCall )
1767
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1759
1768
)
1760
1769
)
1761
1770
}
1762
1771
1763
1772
private Element getImmediateChildOfUnresolvedDotExpr (
1764
1773
UnresolvedDotExpr e , int index , string partialPredicateCall
1765
1774
) {
1766
- exists ( int b , int bExpr , int bUnresolvedElement , int n , int nBase |
1775
+ exists ( int b , int bExpr , int bErrorElement , int n , int nBase |
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
nBase = n + 1 and
1773
1782
(
1774
1783
none ( )
1775
1784
or
1776
1785
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1777
1786
or
1778
- result = getImmediateChildOfUnresolvedElement ( e , index - bExpr , partialPredicateCall )
1787
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1779
1788
or
1780
1789
index = n and result = e .getImmediateBase ( ) and partialPredicateCall = "Base()"
1781
1790
)
@@ -1785,38 +1794,38 @@ private module Impl {
1785
1794
private Element getImmediateChildOfUnresolvedMemberExpr (
1786
1795
UnresolvedMemberExpr e , int index , string partialPredicateCall
1787
1796
) {
1788
- exists ( int b , int bExpr , int bUnresolvedElement , int n |
1797
+ exists ( int b , int bExpr , int bErrorElement , int n |
1789
1798
b = 0 and
1790
1799
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1791
- bUnresolvedElement =
1792
- bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
1793
- n = bUnresolvedElement and
1800
+ bErrorElement =
1801
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1802
+ n = bErrorElement and
1794
1803
(
1795
1804
none ( )
1796
1805
or
1797
1806
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1798
1807
or
1799
- result = getImmediateChildOfUnresolvedElement ( e , index - bExpr , partialPredicateCall )
1808
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1800
1809
)
1801
1810
)
1802
1811
}
1803
1812
1804
1813
private Element getImmediateChildOfUnresolvedPatternExpr (
1805
1814
UnresolvedPatternExpr e , int index , string partialPredicateCall
1806
1815
) {
1807
- exists ( int b , int bExpr , int bUnresolvedElement , int n , int nSubPattern |
1816
+ exists ( int b , int bExpr , int bErrorElement , int n , int nSubPattern |
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
nSubPattern = n + 1 and
1814
1823
(
1815
1824
none ( )
1816
1825
or
1817
1826
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1818
1827
or
1819
- result = getImmediateChildOfUnresolvedElement ( e , index - bExpr , partialPredicateCall )
1828
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1820
1829
or
1821
1830
index = n and result = e .getImmediateSubPattern ( ) and partialPredicateCall = "SubPattern()"
1822
1831
)
@@ -1826,19 +1835,19 @@ private module Impl {
1826
1835
private Element getImmediateChildOfUnresolvedSpecializeExpr (
1827
1836
UnresolvedSpecializeExpr e , int index , string partialPredicateCall
1828
1837
) {
1829
- exists ( int b , int bExpr , int bUnresolvedElement , int n , int nSubExpr |
1838
+ exists ( int b , int bExpr , int bErrorElement , int n , int nSubExpr |
1830
1839
b = 0 and
1831
1840
bExpr = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfExpr ( e , i , _) ) | i ) and
1832
- bUnresolvedElement =
1833
- bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
1834
- n = bUnresolvedElement and
1841
+ bErrorElement =
1842
+ bExpr + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
1843
+ n = bErrorElement and
1835
1844
nSubExpr = n + 1 and
1836
1845
(
1837
1846
none ( )
1838
1847
or
1839
1848
result = getImmediateChildOfExpr ( e , index - b , partialPredicateCall )
1840
1849
or
1841
- result = getImmediateChildOfUnresolvedElement ( e , index - bExpr , partialPredicateCall )
1850
+ result = getImmediateChildOfErrorElement ( e , index - bExpr , partialPredicateCall )
1842
1851
or
1843
1852
index = n and result = e .getImmediateSubExpr ( ) and partialPredicateCall = "SubExpr()"
1844
1853
)
@@ -2805,45 +2814,43 @@ private module Impl {
2805
2814
private Element getImmediateChildOfUnresolvedMemberChainResultExpr (
2806
2815
UnresolvedMemberChainResultExpr e , int index , string partialPredicateCall
2807
2816
) {
2808
- exists ( int b , int bIdentityExpr , int bUnresolvedElement , int n |
2817
+ exists ( int b , int bIdentityExpr , int bErrorElement , int n |
2809
2818
b = 0 and
2810
2819
bIdentityExpr =
2811
2820
b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfIdentityExpr ( e , i , _) ) | i ) and
2812
- bUnresolvedElement =
2821
+ bErrorElement =
2813
2822
bIdentityExpr + 1 +
2814
- max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
2815
- n = bUnresolvedElement and
2823
+ max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
2824
+ n = bErrorElement and
2816
2825
(
2817
2826
none ( )
2818
2827
or
2819
2828
result = getImmediateChildOfIdentityExpr ( e , index - b , partialPredicateCall )
2820
2829
or
2821
- result =
2822
- getImmediateChildOfUnresolvedElement ( e , index - bIdentityExpr , partialPredicateCall )
2830
+ result = getImmediateChildOfErrorElement ( e , index - bIdentityExpr , partialPredicateCall )
2823
2831
)
2824
2832
)
2825
2833
}
2826
2834
2827
2835
private Element getImmediateChildOfUnresolvedTypeConversionExpr (
2828
2836
UnresolvedTypeConversionExpr e , int index , string partialPredicateCall
2829
2837
) {
2830
- exists ( int b , int bImplicitConversionExpr , int bUnresolvedElement , int n |
2838
+ exists ( int b , int bImplicitConversionExpr , int bErrorElement , int n |
2831
2839
b = 0 and
2832
2840
bImplicitConversionExpr =
2833
2841
b + 1 +
2834
2842
max ( int i | i = - 1 or exists ( getImmediateChildOfImplicitConversionExpr ( e , i , _) ) | i ) and
2835
- bUnresolvedElement =
2843
+ bErrorElement =
2836
2844
bImplicitConversionExpr + 1 +
2837
- max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
2838
- n = bUnresolvedElement and
2845
+ max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
2846
+ n = bErrorElement and
2839
2847
(
2840
2848
none ( )
2841
2849
or
2842
2850
result = getImmediateChildOfImplicitConversionExpr ( e , index - b , partialPredicateCall )
2843
2851
or
2844
2852
result =
2845
- getImmediateChildOfUnresolvedElement ( e , index - bImplicitConversionExpr ,
2846
- partialPredicateCall )
2853
+ getImmediateChildOfErrorElement ( e , index - bImplicitConversionExpr , partialPredicateCall )
2847
2854
)
2848
2855
)
2849
2856
}
@@ -3838,14 +3845,18 @@ private module Impl {
3838
3845
}
3839
3846
3840
3847
private Element getImmediateChildOfErrorType ( ErrorType e , int index , string partialPredicateCall ) {
3841
- exists ( int b , int bType , int n |
3848
+ exists ( int b , int bType , int bErrorElement , int n |
3842
3849
b = 0 and
3843
3850
bType = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfType ( e , i , _) ) | i ) and
3844
- n = bType and
3851
+ bErrorElement =
3852
+ bType + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
3853
+ n = bErrorElement and
3845
3854
(
3846
3855
none ( )
3847
3856
or
3848
3857
result = getImmediateChildOfType ( e , index - b , partialPredicateCall )
3858
+ or
3859
+ result = getImmediateChildOfErrorElement ( e , index - bType , partialPredicateCall )
3849
3860
)
3850
3861
)
3851
3862
}
@@ -3993,18 +4004,18 @@ private module Impl {
3993
4004
private Element getImmediateChildOfUnresolvedType (
3994
4005
UnresolvedType e , int index , string partialPredicateCall
3995
4006
) {
3996
- exists ( int b , int bType , int bUnresolvedElement , int n |
4007
+ exists ( int b , int bType , int bErrorElement , int n |
3997
4008
b = 0 and
3998
4009
bType = b + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfType ( e , i , _) ) | i ) and
3999
- bUnresolvedElement =
4000
- bType + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfUnresolvedElement ( e , i , _) ) | i ) and
4001
- n = bUnresolvedElement and
4010
+ bErrorElement =
4011
+ bType + 1 + max ( int i | i = - 1 or exists ( getImmediateChildOfErrorElement ( e , i , _) ) | i ) and
4012
+ n = bErrorElement and
4002
4013
(
4003
4014
none ( )
4004
4015
or
4005
4016
result = getImmediateChildOfType ( e , index - b , partialPredicateCall )
4006
4017
or
4007
- result = getImmediateChildOfUnresolvedElement ( e , index - bType , partialPredicateCall )
4018
+ result = getImmediateChildOfErrorElement ( e , index - bType , partialPredicateCall )
4008
4019
)
4009
4020
)
4010
4021
}
0 commit comments