Commit 8043c1a
committed
Fix lambda statement recovery in AST generated by ASTParser
Also, recover expressions as an expression statement.
i.e. when there is this source in a method:
```java
{
...
"String".var
...
...
}
```
jdt.ui expects it to be recovered like this:
```java
{
...
"String".var = $missing$;
...
```
Where `$missing$` is a fake, empty identifier.
Currently, in some cases, the `"String".var` is being completely
discarded, and this should improve that.
Related to #4530
Signed-off-by: David Thompson <[email protected]>1 parent cb0ce53 commit 8043c1a
File tree
4 files changed
+72
-1
lines changed- org.eclipse.jdt.core.compiler.batch/src/org/eclipse/jdt/internal/compiler/parser
- org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/dom
- org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist
- complete
- impl
4 files changed
+72
-1
lines changedLines changed: 17 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1138 | 1138 | | |
1139 | 1139 | | |
1140 | 1140 | | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
1141 | 1148 | | |
1142 | 1149 | | |
1143 | 1150 | | |
| |||
12086 | 12093 | | |
12087 | 12094 | | |
12088 | 12095 | | |
| 12096 | + | |
12089 | 12097 | | |
12090 | 12098 | | |
12091 | 12099 | | |
12092 | 12100 | | |
12093 | 12101 | | |
12094 | 12102 | | |
| 12103 | + | |
| 12104 | + | |
| 12105 | + | |
| 12106 | + | |
| 12107 | + | |
12095 | 12108 | | |
12096 | 12109 | | |
12097 | 12110 | | |
| |||
12108 | 12121 | | |
12109 | 12122 | | |
12110 | 12123 | | |
12111 | | - | |
| 12124 | + | |
12112 | 12125 | | |
12113 | 12126 | | |
| 12127 | + | |
| 12128 | + | |
| 12129 | + | |
12114 | 12130 | | |
12115 | 12131 | | |
12116 | 12132 | | |
| |||
Lines changed: 46 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
95 | 96 | | |
96 | 97 | | |
97 | 98 | | |
| |||
2026 | 2027 | | |
2027 | 2028 | | |
2028 | 2029 | | |
| 2030 | + | |
| 2031 | + | |
| 2032 | + | |
| 2033 | + | |
| 2034 | + | |
| 2035 | + | |
| 2036 | + | |
| 2037 | + | |
| 2038 | + | |
| 2039 | + | |
| 2040 | + | |
| 2041 | + | |
| 2042 | + | |
| 2043 | + | |
| 2044 | + | |
| 2045 | + | |
| 2046 | + | |
| 2047 | + | |
| 2048 | + | |
| 2049 | + | |
| 2050 | + | |
| 2051 | + | |
| 2052 | + | |
| 2053 | + | |
| 2054 | + | |
| 2055 | + | |
| 2056 | + | |
| 2057 | + | |
| 2058 | + | |
| 2059 | + | |
| 2060 | + | |
| 2061 | + | |
| 2062 | + | |
| 2063 | + | |
| 2064 | + | |
| 2065 | + | |
| 2066 | + | |
| 2067 | + | |
| 2068 | + | |
| 2069 | + | |
| 2070 | + | |
| 2071 | + | |
| 2072 | + | |
| 2073 | + | |
| 2074 | + | |
2029 | 2075 | | |
org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6326 | 6326 | | |
6327 | 6327 | | |
6328 | 6328 | | |
| 6329 | + | |
| 6330 | + | |
| 6331 | + | |
| 6332 | + | |
| 6333 | + | |
| 6334 | + | |
6329 | 6335 | | |
6330 | 6336 | | |
6331 | 6337 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2070 | 2070 | | |
2071 | 2071 | | |
2072 | 2072 | | |
| 2073 | + | |
| 2074 | + | |
2073 | 2075 | | |
2074 | 2076 | | |
2075 | 2077 | | |
| |||
2090 | 2092 | | |
2091 | 2093 | | |
2092 | 2094 | | |
| 2095 | + | |
2093 | 2096 | | |
2094 | 2097 | | |
2095 | 2098 | | |
| |||
0 commit comments