11
11
******************************************************************************/
12
12
package org.eclipse.lsp4j.generator
13
13
14
+ import com.google.common.base.MoreObjects
15
+ import com.google.gson.annotations.JsonAdapter
14
16
import org.eclipse.lsp4j.jsonrpc.validation.NonNull
15
17
import org.eclipse.xtend.lib.annotations.AccessorsProcessor
16
18
import org.eclipse.xtend.lib.annotations.EqualsHashCodeProcessor
@@ -22,8 +24,6 @@ import org.eclipse.xtend.lib.macro.declaration.MutableClassDeclaration
22
24
import org.eclipse.xtend.lib.macro.declaration.MutableFieldDeclaration
23
25
import org.eclipse.xtend.lib.macro.declaration.Type
24
26
import org.eclipse.xtend.lib.macro.declaration.Visibility
25
- import org.eclipse.xtext.xbase.lib.util.ToStringBuilder
26
- import com.google.gson.annotations.JsonAdapter
27
27
28
28
class JsonRpcDataProcessor extends AbstractClassProcessor {
29
29
@@ -44,7 +44,12 @@ class JsonRpcDataProcessor extends AbstractClassProcessor {
44
44
val fields = impl. declaredFields. filter[! static ]
45
45
equalsHashCodeUtil. addEquals(impl, fields, shouldIncludeSuper)
46
46
equalsHashCodeUtil. addHashCode(impl, fields, shouldIncludeSuper)
47
-
47
+ impl. getDeclaredMethods. forEach [ method |
48
+ val purified = method. findAnnotation(Pure . findTypeGlobally)
49
+ if (purified !== null ) {
50
+ method. removeAnnotation(purified)
51
+ }
52
+ ]
48
53
return impl
49
54
}
50
55
@@ -154,10 +159,9 @@ class JsonRpcDataProcessor extends AbstractClassProcessor {
154
159
impl. addMethod(" toString" ) [
155
160
returnType = string
156
161
addAnnotation(newAnnotationReference(Override ))
157
- addAnnotation(newAnnotationReference(Pure ))
158
162
val accessorsUtil = new AccessorsProcessor . Util (context)
159
163
body = ' ' '
160
- «ToStringBuilder » b = new «ToStringBuilder» (this);
164
+ «MoreObjects.ToStringHelper » b = «MoreObjects».toStringHelper (this);
161
165
«FOR field : toStringFields»
162
166
b.add("«field.simpleName»", «IF field.declaringType == impl»this.«field.simpleName»«ELSE»«
163
167
accessorsUtil.getGetterName(field)»()«ENDIF»);
0 commit comments