diff --git a/org.eclipse.xtend.core.tests/batch-compiler-data/xtendClass/XtendA.xtend b/org.eclipse.xtend.core.tests/batch-compiler-data/xtendClass/XtendA.xtend index 8bbc4c3e1ed..00059b1762f 100644 --- a/org.eclipse.xtend.core.tests/batch-compiler-data/xtendClass/XtendA.xtend +++ b/org.eclipse.xtend.core.tests/batch-compiler-data/xtendClass/XtendA.xtend @@ -9,4 +9,7 @@ class XtendA { val public String foo = "" + + def dispatch m(String s) {} + def dispatch m(int i) {} } \ No newline at end of file diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug423631Test.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug423631Test.xtend index 368787817b9..6d79c57c951 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug423631Test.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug423631Test.xtend @@ -30,6 +30,7 @@ class CompilerBug423631Test extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -41,6 +42,7 @@ class CompilerBug423631Test extends AbstractXtendCompilerTest { return null; } + @XbaseGenerated public Object m(final A a) { if (a instanceof B) { return _m((B)a); diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug427637Test.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug427637Test.xtend index cb48bd467cd..26b29c61431 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug427637Test.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug427637Test.xtend @@ -1084,6 +1084,7 @@ class CompilerBug427637Test extends AbstractXtendCompilerTest { import org.eclipse.xtext.xbase.lib.Functions.Function1; import org.eclipse.xtext.xbase.lib.IterableExtensions; import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; import org.eclipse.xtext.xbase.lib.util.ToStringHelper; @SuppressWarnings("all") @@ -1589,6 +1590,7 @@ class CompilerBug427637Test extends AbstractXtendCompilerTest { return _function; } + @XbaseGenerated protected Function1> newFormattingData(final HiddenLeafs leafs, final PreferenceKey key, final FormattingDataFactory.FormattingDataInit it) { if (key instanceof BlankLineKey) { return _newFormattingData(leafs, (BlankLineKey)key, it); diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug441096Test.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug441096Test.xtend index c501bdd3325..b39887c5ea0 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug441096Test.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug441096Test.xtend @@ -40,6 +40,7 @@ class CompilerBug441096Test extends AbstractXtendCompilerTest { import org.eclipse.xtend.lib.annotations.AccessorType; import org.eclipse.xtend.lib.annotations.Accessors; import org.eclipse.xtext.xbase.lib.Pure; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -65,6 +66,7 @@ class CompilerBug441096Test extends AbstractXtendCompilerTest { } }; + @XbaseGenerated public void m(final Object expr, final Object seq) { if (expr == null && seq instanceof StringBuilder) { diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug441099Test.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug441099Test.xtend index bc15949cf94..6f3f02f8c67 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug441099Test.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug441099Test.xtend @@ -37,6 +37,7 @@ class CompilerBug441099Test extends AbstractXtendCompilerTest { import org.eclipse.xtend.lib.annotations.AccessorType; import org.eclipse.xtend.lib.annotations.Accessors; import org.eclipse.xtext.xbase.lib.Pure; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -51,6 +52,7 @@ class CompilerBug441099Test extends AbstractXtendCompilerTest { return new D(""); } + @XbaseGenerated public Object m(final String x) { return _m(x); } diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug470768Test.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug470768Test.xtend index 94c65fc8939..c648a4382f5 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug470768Test.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBug470768Test.xtend @@ -37,6 +37,7 @@ class CompilerBug470768Test extends AbstractXtendCompilerTest { import java.util.List; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.eclipse.xtext.xbase.lib.IterableExtensions; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class SOE { @@ -58,6 +59,7 @@ class CompilerBug470768Test extends AbstractXtendCompilerTest { return CollectionLiterals.emptyList(); } + @XbaseGenerated public List getList(final Object it) { if (it instanceof SOE.A) { return _getList((SOE.A)it); @@ -93,6 +95,7 @@ class CompilerBug470768Test extends AbstractXtendCompilerTest { import java.util.List; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.eclipse.xtext.xbase.lib.IterableExtensions; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -111,6 +114,7 @@ class CompilerBug470768Test extends AbstractXtendCompilerTest { return CollectionLiterals.emptyList(); } + @XbaseGenerated public List getList(final Object it) { if (it instanceof C) { return _getList((C)it); @@ -148,6 +152,7 @@ class CompilerBug470768Test extends AbstractXtendCompilerTest { import java.util.List; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.eclipse.xtext.xbase.lib.IterableExtensions; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class SOE { @@ -169,6 +174,7 @@ class CompilerBug470768Test extends AbstractXtendCompilerTest { return IterableExtensions.toList(new SOE.CustomItr()); } + @XbaseGenerated public List getList(final Object it) { if (it instanceof SOE.A) { return _getList((SOE.A)it); @@ -205,6 +211,7 @@ class CompilerBug470768Test extends AbstractXtendCompilerTest { import java.util.List; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.eclipse.xtext.xbase.lib.IterableExtensions; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class SOE { @@ -226,6 +233,7 @@ class CompilerBug470768Test extends AbstractXtendCompilerTest { return CollectionLiterals.emptyList(); } + @XbaseGenerated public List getList(final Object it) { if (it instanceof SOE.A) { return _getList((SOE.A)it); diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBugDispatchWithOverrideTest.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBugDispatchWithOverrideTest.xtend index 4476f50db5d..e4206eb17f0 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBugDispatchWithOverrideTest.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBugDispatchWithOverrideTest.xtend @@ -34,6 +34,7 @@ class CompilerBugDispatchWithOverrideTest extends AbstractXtendCompilerTest { ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Something extends AbstractSomething { @@ -42,6 +43,7 @@ class CompilerBugDispatchWithOverrideTest extends AbstractXtendCompilerTest { } @Override + @XbaseGenerated public void m(final Object x) { if (x instanceof Integer) { _m((Integer)x); @@ -73,6 +75,7 @@ class CompilerBugDispatchWithOverrideTest extends AbstractXtendCompilerTest { ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Something extends AbstractSomething { @@ -81,6 +84,7 @@ class CompilerBugDispatchWithOverrideTest extends AbstractXtendCompilerTest { } @Override + @XbaseGenerated public void m(final Object x) { if (x instanceof Integer) { _m((Integer)x); diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBugInheritedDispatchTest.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBugInheritedDispatchTest.xtend index 74b84d2d47e..4e53b4ed89a 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBugInheritedDispatchTest.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerBugInheritedDispatchTest.xtend @@ -32,6 +32,7 @@ class CompilerBugInheritedDispatchTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class D extends C { @@ -41,6 +42,7 @@ class CompilerBugInheritedDispatchTest extends AbstractXtendCompilerTest { protected void _m(final CharSequence o) { } + @XbaseGenerated public void m(final Object o) { if (o instanceof Integer) { _m((Integer)o); @@ -93,6 +95,7 @@ class CompilerBugInheritedDispatchTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Parent { @@ -104,6 +107,7 @@ class CompilerBugInheritedDispatchTest extends AbstractXtendCompilerTest { return this.test(a.getDann()); } + @XbaseGenerated public T test(final Ausdruck a) { if (a instanceof Fallunterscheidung) { return _test((Fallunterscheidung)a); @@ -145,6 +149,7 @@ class CompilerBugInheritedDispatchTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Child extends Parent { @@ -152,6 +157,7 @@ class CompilerBugInheritedDispatchTest extends AbstractXtendCompilerTest { return null; } + @XbaseGenerated public String test(final Ausdruck a) { if (a instanceof Fallunterscheidung) { return _test((Fallunterscheidung)a); diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerTraceTest.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerTraceTest.xtend index 5df52054da4..f6f0768ae4c 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerTraceTest.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/CompilerTraceTest.xtend @@ -680,6 +680,7 @@ class CompilerTraceTest extends AbstractXtendTestCase { } '''.tracesTo(''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Zonk { @@ -689,6 +690,7 @@ class CompilerTraceTest extends AbstractXtendTestCase { protected void _method(final Integer i) { } + @XbaseGenerated public void method(final Object i) { if (i instanceof Integer) { _method((Integer)i); @@ -714,6 +716,7 @@ class CompilerTraceTest extends AbstractXtendTestCase { } '''.tracesTo(''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Zonk { @@ -723,6 +726,7 @@ class CompilerTraceTest extends AbstractXtendTestCase { protected void _method(final Integer i) { } + @XbaseGenerated public void #method#(final Object i) { if (i instanceof Integer) { _method((Integer)i); @@ -748,6 +752,7 @@ class CompilerTraceTest extends AbstractXtendTestCase { } '''.tracesTo(''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Zonk { @@ -757,6 +762,7 @@ class CompilerTraceTest extends AbstractXtendTestCase { protected void _method(final Integer i) { } + @XbaseGenerated public void method(final Object i) { if (i instanceof Integer) { _method((Integer)i); diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/DispatchCompilerTest.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/DispatchCompilerTest.xtend index 0f76469b632..9011e41f482 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/DispatchCompilerTest.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/DispatchCompilerTest.xtend @@ -36,6 +36,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } ''',''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Foo { @@ -55,6 +56,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { return null; } + @XbaseGenerated public Object foo(final Object assert_) { if (assert_ instanceof String) { return _foo((String)assert_); @@ -66,6 +68,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } } + @XbaseGenerated public Object bar(final Object assert_, final String assert__1) { if (assert_ instanceof String) { return _bar((String)assert_, assert__1); @@ -93,6 +96,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import org.eclipse.xtext.xbase.lib.Extension; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -100,6 +104,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { return s.substring(4); } + @XbaseGenerated public String m(final String s) { return _m(s); } @@ -116,12 +121,15 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } } ''', ''' + import org.eclipse.xtext.xbase.lib.XbaseGenerated; + @SuppressWarnings("all") public class C { protected void _minus(final Object operand) { throw new RuntimeException(); } + @XbaseGenerated public void minus(final Object operand) { _minus(operand); return; @@ -139,12 +147,15 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } } ''', ''' + import org.eclipse.xtext.xbase.lib.XbaseGenerated; + @SuppressWarnings("all") public class C { protected int _minus(final Object operand) { throw new RuntimeException(); } + @XbaseGenerated public int minus(final Object operand) { return _minus(operand); } @@ -167,6 +178,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { ''', ''' import java.util.Arrays; import org.eclipse.xtext.xbase.lib.DoubleExtensions; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -185,6 +197,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { return DoubleExtensions.operator_minus(e); } + @XbaseGenerated public double minus(final Object e) { if (e instanceof Double) { return _minus((Double)e); @@ -217,6 +230,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -232,6 +246,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { throw new RuntimeException(); } + @XbaseGenerated public void minus(final Object e) { if (e instanceof Double) { _minus((Double)e); @@ -265,6 +280,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { import java.util.Arrays; import org.eclipse.xtext.xbase.lib.DoubleExtensions; import org.eclipse.xtext.xbase.lib.Exceptions; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -285,6 +301,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { return Double.valueOf(DoubleExtensions.operator_minus(e)); } + @XbaseGenerated public Number minus(final Object e) { if (e instanceof Double) { return _minus((Double)e); @@ -315,6 +332,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { import java.util.Arrays; import org.eclipse.xtext.xbase.lib.DoubleExtensions; import org.eclipse.xtext.xbase.lib.Exceptions; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -335,6 +353,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { return Double.valueOf(DoubleExtensions.operator_minus(e)); } + @XbaseGenerated public Number minus(final Object e) { if (e instanceof Double) { return _minus((Double)e); @@ -364,6 +383,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -375,6 +395,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { return null; } + @XbaseGenerated public Object m(final Object sb, final int x) { if (sb instanceof StringBuffer) { return _m((StringBuffer)sb, x); @@ -411,6 +432,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -430,6 +452,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { return null; } + @XbaseGenerated public Object m(final Number x) { if (x instanceof Double) { return _m((Double)x); @@ -467,6 +490,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -482,6 +506,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { return null; } + @XbaseGenerated public Object m(final Object x) { if (x instanceof Integer) { return _m((Integer)x); @@ -506,6 +531,8 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { def dispatch void doThing(Object o) {} } ''', ''' + import org.eclipse.xtext.xbase.lib.XbaseGenerated; + @SuppressWarnings("all") public class Test { protected void _doThing(final Void v) { @@ -514,6 +541,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { protected void _doThing(final Object o) { } + @XbaseGenerated public void doThing(final Object v) { if (v == null) { _doThing((Void)null); @@ -525,7 +553,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } } ''') - } + } @Test def testVoidAndStringDoNotGenerateUnusedCode() { @@ -535,6 +563,8 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { def dispatch void doThing(String o) {} } ''', ''' + import org.eclipse.xtext.xbase.lib.XbaseGenerated; + @SuppressWarnings("all") public class Test { protected void _doThing(final Void v) { @@ -543,6 +573,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { protected void _doThing(final String o) { } + @XbaseGenerated public void doThing(final String o) { if (o != null) { _doThing(o); @@ -554,7 +585,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } } ''') - } + } @Test def testVoidAndObjectTwoParametersDoNotGenerateUnusedCode() { @@ -564,6 +595,8 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { def dispatch void doThing(Object p0, Void p1) {} } ''', ''' + import org.eclipse.xtext.xbase.lib.XbaseGenerated; + @SuppressWarnings("all") public class Test { protected void _doThing(final Void p0, final Object p1) { @@ -572,6 +605,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { protected void _doThing(final Object p0, final Void p1) { } + @XbaseGenerated public void doThing(final Object p0, final Object p1) { if (p0 == null && p1 != null) { @@ -585,7 +619,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } ''') } - + @Test def testVoidNotAllCases() { assertCompilesTo(''' @@ -596,6 +630,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Test { @@ -611,6 +646,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { return ""; } + @XbaseGenerated public String toExpectation(final Object p1) { if (p1 instanceof Integer) { return _toExpectation((Integer)p1); @@ -636,6 +672,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Test { @@ -645,6 +682,7 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { protected void _doThing(final Object p0, final Integer p1) { } + @XbaseGenerated public void doThing(final Object p0, final Number p1) { if (p0 == null && p1 instanceof Float) { @@ -670,11 +708,14 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { def dispatch void doThing(Object p0, Integer p1) {} } ''', ''' + import org.eclipse.xtext.xbase.lib.XbaseGenerated; + @SuppressWarnings("all") public class Test { protected void _doThing(final Object p0, final Integer p1) { } + @XbaseGenerated public void doThing(final Object p0, final Integer p1) { _doThing(p0, p1); return; @@ -691,12 +732,14 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Test { protected void _doThing(final Void p0, final Integer p1) { } + @XbaseGenerated public void doThing(final Object p0, final Integer p1) { if (p0 == null) { _doThing((Void)null, p1); @@ -718,12 +761,14 @@ class DispatchCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Test { protected void _doThing(final Void p0, final Void p1) { } + @XbaseGenerated public void doThing(final Object p0, final Object p1) { if (p0 == null && p1 == null) { diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/XtendCompilerTest.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/XtendCompilerTest.xtend index 2acf47242ff..e4eaa62c4b5 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/XtendCompilerTest.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/XtendCompilerTest.xtend @@ -386,6 +386,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -397,6 +398,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { return s.length(); } + @XbaseGenerated public int testFunction1(final CharSequence s) { if (s instanceof String) { return _testFunction1((String)s); @@ -432,6 +434,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -443,6 +446,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { return i.intValue(); } + @XbaseGenerated public int testFunction1(final Object i) { if (i instanceof Integer) { return _testFunction1((Integer)i); @@ -475,6 +479,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class D extends C { @@ -482,6 +487,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { return d.intValue(); } + @XbaseGenerated public int testFunction1(final Object d) { if (d instanceof Double) { return _testFunction1((Double)d); @@ -519,6 +525,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class D extends C { @@ -530,6 +537,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { return n.intValue(); } + @XbaseGenerated public int testFunction1(final Object d) { if (d instanceof Double) { return _testFunction1((Double)d); @@ -569,6 +577,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { } ''', ''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class C { @@ -580,6 +589,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { return i.intValue(); } + @XbaseGenerated public int testFunction1(final Object i) { if (i instanceof Integer) { return _testFunction1((Integer)i); @@ -3076,9 +3086,10 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { } ''', ''' package foo; - + import java.util.Arrays; - + import org.eclipse.xtext.xbase.lib.XbaseGenerated; + @SuppressWarnings("all") public class NoSuchElementException { protected void _foo(final String s) { @@ -3087,6 +3098,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { protected void _foo(final Object s) { } + @XbaseGenerated public void foo(final Object s) { if (s instanceof String) { _foo((String)s); @@ -3114,9 +3126,10 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { } ''', ''' package foo; - + import java.util.Arrays; - + import org.eclipse.xtext.xbase.lib.XbaseGenerated; + @SuppressWarnings("all") public class MyType { protected void _foo(final String s, final CharSequence other) { @@ -3128,6 +3141,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { protected void _foo(final Object s, final Object other) { } + @XbaseGenerated public void foo(final Object s, final Object other) { if (s instanceof String && other instanceof CharSequence) { @@ -3161,9 +3175,10 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { } ''', ''' package foo; - + import java.util.Arrays; - + import org.eclipse.xtext.xbase.lib.XbaseGenerated; + @SuppressWarnings("all") public class MyType { protected void _foo(final Object s, final Object other) { @@ -3175,6 +3190,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { protected void _foo(final String s, final CharSequence other) { } + @XbaseGenerated public void foo(final Object s, final Object other) { if (s instanceof String && other instanceof CharSequence) { @@ -3209,6 +3225,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { package foo; import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class MyType { @@ -3218,6 +3235,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { protected void _foo(final StringBuffer s, final boolean b, final String other) { } + @XbaseGenerated public void foo(final Object s, final boolean b, final String other) { if (s instanceof StringBuffer) { _foo((StringBuffer)s, b, other); @@ -5248,6 +5266,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { class B implements Element {} '''.assertCompilesTo(''' import java.util.Arrays; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class Bug { @@ -5259,6 +5278,7 @@ class XtendCompilerTest extends AbstractXtendCompilerTest { return 1; } + @XbaseGenerated public int bug(final Element a) { if (a instanceof A) { return _bug((A)a); diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/batch/BatchCompilerTest.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/batch/BatchCompilerTest.xtend index 65c67f0e4de..61a2cd59ffe 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/batch/BatchCompilerTest.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/compiler/batch/BatchCompilerTest.xtend @@ -486,7 +486,7 @@ class BatchCompilerTest { assertTrue(batchCompiler.compile) assertEquals(0, new File(TEMP_DIRECTORY).list.size) } - + @Test def void testNoSuppressWarningsAnnotations() { batchCompiler.generateSyntheticSuppressWarnings = false @@ -494,8 +494,15 @@ class BatchCompilerTest { assertTrue(batchCompiler.compile) assertFalse((OUTPUT_DIRECTORY + "/XtendA.java").contents.contains("@SuppressWarnings")) } - - + + @Test + def void testNoXbaseGenerated() { + batchCompiler.useXbaseGenerated = false + batchCompiler.sourcePath = "./batch-compiler-data/xtendClass" + assertTrue(batchCompiler.compile) + assertFalse((OUTPUT_DIRECTORY + "/XtendA.java").contents.contains("@XbaseGenerated")) + } + @Test(expected = IllegalArgumentException) def void testJavaVersion5() { batchCompiler.javaSourceVersion = "1.5" diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/macro/AbstractReusableActiveAnnotationTests.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/macro/AbstractReusableActiveAnnotationTests.xtend index 6e373fd8226..f2f0989d17f 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/macro/AbstractReusableActiveAnnotationTests.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/macro/AbstractReusableActiveAnnotationTests.xtend @@ -1749,6 +1749,7 @@ abstract class AbstractReusableActiveAnnotationTests { import java.util.Arrays; import myannotation.AddDispatchCase; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @AddDispatchCase @SuppressWarnings("all") @@ -1757,6 +1758,7 @@ abstract class AbstractReusableActiveAnnotationTests { return null; } + @XbaseGenerated public String m(final Object i) { if (i instanceof Integer) { return _m((Integer)i); @@ -1856,12 +1858,14 @@ abstract class AbstractReusableActiveAnnotationTests { package myusercode; import myannotation.Base; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class D1 { protected void _m(final Base b) { } + @XbaseGenerated public void m(final Base b) { _m(b); return; @@ -1873,6 +1877,7 @@ abstract class AbstractReusableActiveAnnotationTests { import java.util.Arrays; import myannotation.Base; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class D2 extends D1 { @@ -1885,6 +1890,7 @@ abstract class AbstractReusableActiveAnnotationTests { protected void _m(final Derived3 d) { } + @XbaseGenerated public void m(final Base d) { if (d instanceof Derived1) { _m((Derived1)d); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug423631Test.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug423631Test.java index 5b059e2ba0a..5149e01f707 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug423631Test.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug423631Test.java @@ -46,6 +46,8 @@ public void testBug423631_01() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -72,6 +74,9 @@ public void testBug423631_01() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public Object m(final A a) {"); _builder_1.newLine(); _builder_1.append(" "); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug427637Test.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug427637Test.java index c793facb8c8..304d1bb932f 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug427637Test.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug427637Test.java @@ -2535,6 +2535,8 @@ public void testBug_427637_15() { _builder_1.newLine(); _builder_1.append("import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.append("import org.eclipse.xtext.xbase.lib.util.ToStringHelper;"); _builder_1.newLine(); _builder_1.newLine(); @@ -3994,6 +3996,9 @@ public void testBug_427637_15() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("protected Function1> newFormattingData(final HiddenLeafs leafs, final PreferenceKey key, final FormattingDataFactory.FormattingDataInit it) {"); _builder_1.newLine(); _builder_1.append(" "); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug441096Test.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug441096Test.java index 185d101fa19..fbe1bda123c 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug441096Test.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug441096Test.java @@ -76,6 +76,8 @@ public void test_01() { _builder_1.newLine(); _builder_1.append("import org.eclipse.xtext.xbase.lib.Pure;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -136,6 +138,9 @@ public void test_01() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void m(final Object expr, final Object seq) {"); _builder_1.newLine(); _builder_1.append(" "); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug441099Test.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug441099Test.java index bb5fac51383..2d7ea53495d 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug441099Test.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug441099Test.java @@ -64,6 +64,8 @@ public void test_01() { _builder_1.newLine(); _builder_1.append("import org.eclipse.xtext.xbase.lib.Pure;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -97,6 +99,9 @@ public void test_01() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public Object m(final String x) {"); _builder_1.newLine(); _builder_1.append(" "); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug470768Test.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug470768Test.java index 53e23a1dca6..f71097d7a04 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug470768Test.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBug470768Test.java @@ -70,6 +70,8 @@ public void test_01() { _builder_1.newLine(); _builder_1.append("import org.eclipse.xtext.xbase.lib.IterableExtensions;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -122,6 +124,9 @@ public void test_01() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public List getList(final Object it) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -207,6 +212,8 @@ public void test_02() { _builder_1.newLine(); _builder_1.append("import org.eclipse.xtext.xbase.lib.IterableExtensions;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -252,6 +259,9 @@ public void test_02() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public List getList(final Object it) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -342,6 +352,8 @@ public void test_03() { _builder_1.newLine(); _builder_1.append("import org.eclipse.xtext.xbase.lib.IterableExtensions;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -394,6 +406,9 @@ public void test_03() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public List getList(final Object it) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -482,6 +497,8 @@ public void test_04() { _builder_1.newLine(); _builder_1.append("import org.eclipse.xtext.xbase.lib.IterableExtensions;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -534,6 +551,9 @@ public void test_04() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public List getList(final Object it) {"); _builder_1.newLine(); _builder_1.append(" "); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBugDispatchWithOverrideTest.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBugDispatchWithOverrideTest.java index 0146d6e5264..2190f1487ae 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBugDispatchWithOverrideTest.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBugDispatchWithOverrideTest.java @@ -45,6 +45,8 @@ public void testDispatchWithOverrideJava6HasAnnotation() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -64,6 +66,9 @@ public void testDispatchWithOverrideJava6HasAnnotation() { _builder_1.append("@Override"); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void m(final Object x) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -128,6 +133,8 @@ public void testDispatchWithOverrideJava5HasNoAnnotation() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -147,6 +154,9 @@ public void testDispatchWithOverrideJava5HasNoAnnotation() { _builder_1.append("@Override"); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void m(final Object x) {"); _builder_1.newLine(); _builder_1.append(" "); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBugInheritedDispatchTest.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBugInheritedDispatchTest.java index 13857d62f1d..33786bf0e1e 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBugInheritedDispatchTest.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerBugInheritedDispatchTest.java @@ -53,6 +53,8 @@ public void test_01() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -73,6 +75,9 @@ public void test_01() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void m(final Object o) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -205,6 +210,8 @@ public void test_383430_02() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -231,6 +238,9 @@ public void test_383430_02() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public T test(final Ausdruck a) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -330,6 +340,8 @@ public void test_383430_03() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -346,6 +358,9 @@ public void test_383430_03() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public String test(final Ausdruck a) {"); _builder_1.newLine(); _builder_1.append(" "); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerTraceTest.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerTraceTest.java index 24130829cbe..5b260206372 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerTraceTest.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/CompilerTraceTest.java @@ -1333,6 +1333,8 @@ public void testDispatchMethodName_01() throws Exception { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -1353,6 +1355,9 @@ public void testDispatchMethodName_01() throws Exception { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void method(final Object i) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1409,6 +1414,8 @@ public void testDispatchMethodName_02() throws Exception { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -1429,6 +1436,9 @@ public void testDispatchMethodName_02() throws Exception { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void #method#(final Object i) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1485,6 +1495,8 @@ public void testDispatchMethodName_03() throws Exception { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -1505,6 +1517,9 @@ public void testDispatchMethodName_03() throws Exception { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void method(final Object i) {"); _builder_1.newLine(); _builder_1.append(" "); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/DispatchCompilerTest.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/DispatchCompilerTest.java index 7faa62f7451..4a7b3bd543a 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/DispatchCompilerTest.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/DispatchCompilerTest.java @@ -57,6 +57,8 @@ public void testReservedJavaKeywords() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -103,6 +105,9 @@ public void testReservedJavaKeywords() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public Object foo(final Object assert_) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -134,6 +139,9 @@ public void testReservedJavaKeywords() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public Object bar(final Object assert_, final String assert__1) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -190,6 +198,8 @@ public void testExtensionParameters() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import org.eclipse.xtext.xbase.lib.Extension;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -206,6 +216,9 @@ public void testExtensionParameters() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public String m(final String s) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -236,6 +249,9 @@ public void testThrowExceptionSingleDispatchCase_01() { _builder.append("}"); _builder.newLine(); StringConcatenation _builder_1 = new StringConcatenation(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); + _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); _builder_1.append("public class C {"); @@ -251,6 +267,9 @@ public void testThrowExceptionSingleDispatchCase_01() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void minus(final Object operand) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -284,6 +303,9 @@ public void testThrowExceptionSingleDispatchCase_02() { _builder.append("}"); _builder.newLine(); StringConcatenation _builder_1 = new StringConcatenation(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); + _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); _builder_1.append("public class C {"); @@ -299,6 +321,9 @@ public void testThrowExceptionSingleDispatchCase_02() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public int minus(final Object operand) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -345,6 +370,8 @@ public void testThrowException() { _builder_1.newLine(); _builder_1.append("import org.eclipse.xtext.xbase.lib.DoubleExtensions;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -390,6 +417,9 @@ public void testThrowException() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public double minus(final Object e) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -467,6 +497,8 @@ public void testAllCasesThrowException() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -503,6 +535,9 @@ public void testAllCasesThrowException() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void minus(final Object e) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -581,6 +616,8 @@ public void testImplicitReturn_01() { _builder_1.newLine(); _builder_1.append("import org.eclipse.xtext.xbase.lib.Exceptions;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -632,6 +669,9 @@ public void testImplicitReturn_01() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public Number minus(final Object e) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -701,6 +741,8 @@ public void testImplicitReturn_02() { _builder_1.newLine(); _builder_1.append("import org.eclipse.xtext.xbase.lib.Exceptions;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -752,6 +794,9 @@ public void testImplicitReturn_02() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public Number minus(final Object e) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -820,6 +865,8 @@ public void testSamePrimitiveArgs() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -846,6 +893,9 @@ public void testSamePrimitiveArgs() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public Object m(final Object sb, final int x) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -929,6 +979,8 @@ public void testDifferentPrimitiveArgs_01() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -975,6 +1027,9 @@ public void testDifferentPrimitiveArgs_01() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public Object m(final Number x) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1061,6 +1116,8 @@ public void testDifferentPrimitiveArgs_02() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -1097,6 +1154,9 @@ public void testDifferentPrimitiveArgs_02() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public Object m(final Object x) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1151,6 +1211,9 @@ public void testVoidAndObjectDoNotGenerateUnusedCode() { _builder.append("}"); _builder.newLine(); StringConcatenation _builder_1 = new StringConcatenation(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); + _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); _builder_1.append("public class Test {"); @@ -1170,6 +1233,9 @@ public void testVoidAndObjectDoNotGenerateUnusedCode() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void doThing(final Object v) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1215,6 +1281,9 @@ public void testVoidAndStringDoNotGenerateUnusedCode() { _builder.append("}"); _builder.newLine(); StringConcatenation _builder_1 = new StringConcatenation(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); + _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); _builder_1.append("public class Test {"); @@ -1234,6 +1303,9 @@ public void testVoidAndStringDoNotGenerateUnusedCode() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void doThing(final String o) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1279,6 +1351,9 @@ public void testVoidAndObjectTwoParametersDoNotGenerateUnusedCode() { _builder.append("}"); _builder.newLine(); StringConcatenation _builder_1 = new StringConcatenation(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); + _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); _builder_1.append("public class Test {"); @@ -1298,6 +1373,9 @@ public void testVoidAndObjectTwoParametersDoNotGenerateUnusedCode() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void doThing(final Object p0, final Object p1) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1351,6 +1429,8 @@ public void testVoidNotAllCases() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -1387,6 +1467,9 @@ public void testVoidNotAllCases() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public String toExpectation(final Object p1) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1443,6 +1526,8 @@ public void testVoidAndObjectTwoParametersButDifferentTypesGenerateElse() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -1463,6 +1548,9 @@ public void testVoidAndObjectTwoParametersButDifferentTypesGenerateElse() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void doThing(final Object p0, final Number p1) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1520,6 +1608,9 @@ public void testSingleDispatchTwoParameters() { _builder.append("}"); _builder.newLine(); StringConcatenation _builder_1 = new StringConcatenation(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); + _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); _builder_1.append("public class Test {"); @@ -1532,6 +1623,9 @@ public void testSingleDispatchTwoParameters() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void doThing(final Object p0, final Integer p1) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1561,6 +1655,8 @@ public void testSingleDispatchTwoParametersOneVoid() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -1574,6 +1670,9 @@ public void testSingleDispatchTwoParametersOneVoid() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void doThing(final Object p0, final Integer p1) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1618,6 +1717,8 @@ public void testSingleDispatchTwoParametersTwoVoid() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -1631,6 +1732,9 @@ public void testSingleDispatchTwoParametersTwoVoid() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void doThing(final Object p0, final Object p1) {"); _builder_1.newLine(); _builder_1.append(" "); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/XtendCompilerTest.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/XtendCompilerTest.java index 43a45c64ae0..58d472b2f29 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/XtendCompilerTest.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/XtendCompilerTest.java @@ -847,6 +847,8 @@ public void testNonExplicitDispatchCases() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -873,6 +875,9 @@ public void testNonExplicitDispatchCases() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public int testFunction1(final CharSequence s) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -951,6 +956,8 @@ public void testInheritedDispatchMethods_01() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -977,6 +984,9 @@ public void testInheritedDispatchMethods_01() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public int testFunction1(final Object i) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1052,6 +1062,8 @@ public void testInheritedDispatchMethods_02() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -1068,6 +1080,9 @@ public void testInheritedDispatchMethods_02() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public int testFunction1(final Object d) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1158,6 +1173,8 @@ public void testInheritedDispatchMethods_03() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -1184,6 +1201,9 @@ public void testInheritedDispatchMethods_03() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public int testFunction1(final Object d) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -1280,6 +1300,8 @@ public void testInheritedDispatchMethods_04() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -1306,6 +1328,9 @@ public void testInheritedDispatchMethods_04() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public int testFunction1(final Object i) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -7043,6 +7068,8 @@ public void testVisibilityOfDispatchMethods() { _builder_1.newLine(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -7063,6 +7090,9 @@ public void testVisibilityOfDispatchMethods() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void foo(final Object s) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -7127,6 +7157,8 @@ public void testParenthesisInDispatchMethodsGuards() { _builder_1.newLine(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -7154,6 +7186,9 @@ public void testParenthesisInDispatchMethodsGuards() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void foo(final Object s, final Object other) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -7236,6 +7271,8 @@ public void testParenthesisInDispatchMethodsGuards_reordered() { _builder_1.newLine(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -7263,6 +7300,9 @@ public void testParenthesisInDispatchMethodsGuards_reordered() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void foo(final Object s, final Object other) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -7342,6 +7382,8 @@ public void testNoUnnecessaryCastInDispatchMethods() { _builder_1.newLine(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -7362,6 +7404,9 @@ public void testNoUnnecessaryCastInDispatchMethods() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public void foo(final Object s, final boolean b, final String other) {"); _builder_1.newLine(); _builder_1.append(" "); @@ -11557,6 +11602,8 @@ public void testBug412853() { StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("import java.util.Arrays;"); _builder_1.newLine(); + _builder_1.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("@SuppressWarnings(\"all\")"); _builder_1.newLine(); @@ -11583,6 +11630,9 @@ public void testBug412853() { _builder_1.newLine(); _builder_1.newLine(); _builder_1.append(" "); + _builder_1.append("@XbaseGenerated"); + _builder_1.newLine(); + _builder_1.append(" "); _builder_1.append("public int bug(final Element a) {"); _builder_1.newLine(); _builder_1.append(" "); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/batch/BatchCompilerTest.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/batch/BatchCompilerTest.java index 12c6fc83805..1f60f2ffd93 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/batch/BatchCompilerTest.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/compiler/batch/BatchCompilerTest.java @@ -730,6 +730,14 @@ public void testNoSuppressWarningsAnnotations() { Assert.assertFalse(this.getContents((BatchCompilerTest.OUTPUT_DIRECTORY + "/XtendA.java")).contains("@SuppressWarnings")); } + @Test + public void testNoXbaseGenerated() { + this.batchCompiler.setUseXbaseGenerated(false); + this.batchCompiler.setSourcePath("./batch-compiler-data/xtendClass"); + Assert.assertTrue(this.batchCompiler.compile()); + Assert.assertFalse(this.getContents((BatchCompilerTest.OUTPUT_DIRECTORY + "/XtendA.java")).contains("@XbaseGenerated")); + } + @Test(expected = IllegalArgumentException.class) public void testJavaVersion5() { this.batchCompiler.setJavaSourceVersion("1.5"); diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/macro/AbstractReusableActiveAnnotationTests.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/macro/AbstractReusableActiveAnnotationTests.java index 40fc8c99c0c..5b162f2ad3a 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/macro/AbstractReusableActiveAnnotationTests.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/macro/AbstractReusableActiveAnnotationTests.java @@ -3323,6 +3323,8 @@ public void testAddDispatchCase() { _builder_2.newLine(); _builder_2.append("import myannotation.AddDispatchCase;"); _builder_2.newLine(); + _builder_2.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_2.newLine(); _builder_2.newLine(); _builder_2.append("@AddDispatchCase"); _builder_2.newLine(); @@ -3341,6 +3343,9 @@ public void testAddDispatchCase() { _builder_2.newLine(); _builder_2.newLine(); _builder_2.append(" "); + _builder_2.append("@XbaseGenerated"); + _builder_2.newLine(); + _builder_2.append(" "); _builder_2.append("public String m(final Object i) {"); _builder_2.newLine(); _builder_2.append(" "); @@ -3530,6 +3535,8 @@ public void testChangeDispatchHierachy() { _builder_5.newLine(); _builder_5.append("import myannotation.Base;"); _builder_5.newLine(); + _builder_5.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_5.newLine(); _builder_5.newLine(); _builder_5.append("@SuppressWarnings(\"all\")"); _builder_5.newLine(); @@ -3543,6 +3550,9 @@ public void testChangeDispatchHierachy() { _builder_5.newLine(); _builder_5.newLine(); _builder_5.append(" "); + _builder_5.append("@XbaseGenerated"); + _builder_5.newLine(); + _builder_5.append(" "); _builder_5.append("public void m(final Base b) {"); _builder_5.newLine(); _builder_5.append(" "); @@ -3564,6 +3574,8 @@ public void testChangeDispatchHierachy() { _builder_6.newLine(); _builder_6.append("import myannotation.Base;"); _builder_6.newLine(); + _builder_6.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_6.newLine(); _builder_6.newLine(); _builder_6.append("@SuppressWarnings(\"all\")"); _builder_6.newLine(); @@ -3591,6 +3603,9 @@ public void testChangeDispatchHierachy() { _builder_6.newLine(); _builder_6.newLine(); _builder_6.append(" "); + _builder_6.append("@XbaseGenerated"); + _builder_6.newLine(); + _builder_6.append(" "); _builder_6.append("public void m(final Base d) {"); _builder_6.newLine(); _builder_6.append(" "); diff --git a/org.eclipse.xtend.core/src/org/eclipse/xtend/core/compiler/batch/Main.java b/org.eclipse.xtend.core/src/org/eclipse/xtend/core/compiler/batch/Main.java index 91f0992ffae..1ce70fbfec4 100644 --- a/org.eclipse.xtend.core/src/org/eclipse/xtend/core/compiler/batch/Main.java +++ b/org.eclipse.xtend.core/src/org/eclipse/xtend/core/compiler/batch/Main.java @@ -52,6 +52,8 @@ public static void main(String[] args) { compiler.setJavaSourceVersion(arguments.next().trim()); } else if ("-noSuppressWarningsAnnotation".equals(argument)) { compiler.setGenerateSyntheticSuppressWarnings(false); + } else if ("-noUseXbaseGenerated".equals(argument)) { + compiler.setUseXbaseGenerated(false); } else if ("-generateGeneratedAnnotation".equals(argument)) { compiler.setGenerateGeneratedAnnotation(true); } else if ("-includeDateInGeneratedAnnnotation".equals(argument)) { @@ -90,6 +92,7 @@ private static void printUsage() { out.println("-encoding Specify character encoding used by source files"); out.println("-javaSourceVersion Create Java Source compatible to this version. Can be: " + allVersionQualifiers); out.println("-noSuppressWarningsAnnotation Don't put @SuppressWarnings() into generated Java Code"); + out.println("-noUseXbaseGenerated Don't put @XbaseGenerated() into generated Java Code"); out.println("-generateGeneratedAnnotation Put @Generated into generated Java Code"); out.println("-includeDateInGeneratedAnnnotation If -generateGeneratedAnnotation is used, add the current date/time."); out.println("-generateAnnotationComment If -generateGeneratedAnnotation is used, add a comment."); diff --git a/org.eclipse.xtend.core/src/org/eclipse/xtend/core/compiler/batch/XtendBatchCompiler.java b/org.eclipse.xtend.core/src/org/eclipse/xtend/core/compiler/batch/XtendBatchCompiler.java index 8620d54152b..6878b2a840e 100644 --- a/org.eclipse.xtend.core/src/org/eclipse/xtend/core/compiler/batch/XtendBatchCompiler.java +++ b/org.eclipse.xtend.core/src/org/eclipse/xtend/core/compiler/batch/XtendBatchCompiler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2023 itemis AG (http://www.itemis.eu) and others. + * Copyright (c) 2012, 2023, 2024 itemis AG (http://www.itemis.eu) and others. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. @@ -315,6 +315,20 @@ public void setGenerateSyntheticSuppressWarnings(final boolean generateSynthetic generatorConfig.setGenerateSyntheticSuppressWarnings(generateSyntheticSuppressWarnings); } + /** + * @since 2.36 + */ + public boolean isUseXbaseGenerated() { + return generatorConfig.isUseXbaseGenerated(); + } + + /** + * @since 2.36 + */ + public void setUseXbaseGenerated(final boolean useXbaseGenerated) { + generatorConfig.setUseXbaseGenerated(useXbaseGenerated); + } + /** * @since 2.8 */ diff --git a/org.eclipse.xtend.core/src/org/eclipse/xtend/core/jvmmodel/XtendJvmModelInferrer.java b/org.eclipse.xtend.core/src/org/eclipse/xtend/core/jvmmodel/XtendJvmModelInferrer.java index 10ce90d5054..106a20f699d 100644 --- a/org.eclipse.xtend.core/src/org/eclipse/xtend/core/jvmmodel/XtendJvmModelInferrer.java +++ b/org.eclipse.xtend.core/src/org/eclipse/xtend/core/jvmmodel/XtendJvmModelInferrer.java @@ -85,6 +85,7 @@ import org.eclipse.xtext.xbase.jvmmodel.JvmTypeExtensions; import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder; import org.eclipse.xtext.xbase.lib.Extension; +import org.eclipse.xtext.xbase.lib.XbaseGenerated; import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; import org.eclipse.xtext.xbase.resource.BatchLinkableResource; @@ -485,15 +486,13 @@ protected void appendSyntheticDispatchMethods(XtendTypeDeclaration source, final ListMultimap methods = dispatchHelper.getDeclaredOrEnhancedDispatchMethods(target); for (DispatchHelper.DispatchSignature signature : methods.keySet()) { List operations = methods.get(signature); - Iterable localOperations = Iterables.filter(operations, new Predicate() { - @Override - public boolean apply(JvmOperation input) { - return target == input.eContainer(); - } - }); + Iterable localOperations = Iterables.filter(operations, input -> target == input.eContainer()); JvmOperation operation = deriveGenericDispatchOperationSignature(localOperations, target); if (operation != null) { dispatchHelper.markAsDispatcherFunction(operation); + if (generatorConfig.isUseXbaseGenerated()) { + operation.getAnnotations().add(_annotationTypesBuilder.annotationRef(XbaseGenerated.class)); + } operation.setSimpleName(signature.getSimpleName()); operation.setReturnType(jvmTypesBuilder.inferredType()); } diff --git a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/macros/AbstractReusableActiveAnnotationTests.xtend b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/macros/AbstractReusableActiveAnnotationTests.xtend index fb5f7932262..f4037c97f85 100644 --- a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/macros/AbstractReusableActiveAnnotationTests.xtend +++ b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/macros/AbstractReusableActiveAnnotationTests.xtend @@ -1749,6 +1749,7 @@ abstract class AbstractReusableActiveAnnotationTests { import java.util.Arrays; import myannotation.AddDispatchCase; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @AddDispatchCase @SuppressWarnings("all") @@ -1757,6 +1758,7 @@ abstract class AbstractReusableActiveAnnotationTests { return null; } + @XbaseGenerated public String m(final Object i) { if (i instanceof Integer) { return _m((Integer)i); @@ -1856,12 +1858,14 @@ abstract class AbstractReusableActiveAnnotationTests { package myusercode; import myannotation.Base; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class D1 { protected void _m(final Base b) { } + @XbaseGenerated public void m(final Base b) { _m(b); return; @@ -1873,6 +1877,7 @@ abstract class AbstractReusableActiveAnnotationTests { import java.util.Arrays; import myannotation.Base; + import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class D2 extends D1 { @@ -1885,6 +1890,7 @@ abstract class AbstractReusableActiveAnnotationTests { protected void _m(final Derived3 d) { } + @XbaseGenerated public void m(final Base d) { if (d instanceof Derived1) { _m((Derived1)d); diff --git a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/macros/AbstractReusableActiveAnnotationTests.java b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/macros/AbstractReusableActiveAnnotationTests.java index ff0c3ec7b14..0fb4b380e9f 100644 --- a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/macros/AbstractReusableActiveAnnotationTests.java +++ b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/macros/AbstractReusableActiveAnnotationTests.java @@ -3323,6 +3323,8 @@ public void testAddDispatchCase() { _builder_2.newLine(); _builder_2.append("import myannotation.AddDispatchCase;"); _builder_2.newLine(); + _builder_2.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_2.newLine(); _builder_2.newLine(); _builder_2.append("@AddDispatchCase"); _builder_2.newLine(); @@ -3341,6 +3343,9 @@ public void testAddDispatchCase() { _builder_2.newLine(); _builder_2.newLine(); _builder_2.append(" "); + _builder_2.append("@XbaseGenerated"); + _builder_2.newLine(); + _builder_2.append(" "); _builder_2.append("public String m(final Object i) {"); _builder_2.newLine(); _builder_2.append(" "); @@ -3530,6 +3535,8 @@ public void testChangeDispatchHierachy() { _builder_5.newLine(); _builder_5.append("import myannotation.Base;"); _builder_5.newLine(); + _builder_5.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_5.newLine(); _builder_5.newLine(); _builder_5.append("@SuppressWarnings(\"all\")"); _builder_5.newLine(); @@ -3543,6 +3550,9 @@ public void testChangeDispatchHierachy() { _builder_5.newLine(); _builder_5.newLine(); _builder_5.append(" "); + _builder_5.append("@XbaseGenerated"); + _builder_5.newLine(); + _builder_5.append(" "); _builder_5.append("public void m(final Base b) {"); _builder_5.newLine(); _builder_5.append(" "); @@ -3564,6 +3574,8 @@ public void testChangeDispatchHierachy() { _builder_6.newLine(); _builder_6.append("import myannotation.Base;"); _builder_6.newLine(); + _builder_6.append("import org.eclipse.xtext.xbase.lib.XbaseGenerated;"); + _builder_6.newLine(); _builder_6.newLine(); _builder_6.append("@SuppressWarnings(\"all\")"); _builder_6.newLine(); @@ -3591,6 +3603,9 @@ public void testChangeDispatchHierachy() { _builder_6.newLine(); _builder_6.newLine(); _builder_6.append(" "); + _builder_6.append("@XbaseGenerated"); + _builder_6.newLine(); + _builder_6.append(" "); _builder_6.append("public void m(final Base d) {"); _builder_6.newLine(); _builder_6.append(" "); diff --git a/org.eclipse.xtend.maven.plugin/src/main/java/org/eclipse/xtend/maven/AbstractXtendCompilerMojo.java b/org.eclipse.xtend.maven.plugin/src/main/java/org/eclipse/xtend/maven/AbstractXtendCompilerMojo.java index d20675759a5..2d0846a124c 100644 --- a/org.eclipse.xtend.maven.plugin/src/main/java/org/eclipse/xtend/maven/AbstractXtendCompilerMojo.java +++ b/org.eclipse.xtend.maven.plugin/src/main/java/org/eclipse/xtend/maven/AbstractXtendCompilerMojo.java @@ -80,6 +80,13 @@ public boolean apply(String filePath) { @Parameter(defaultValue="true") private boolean generateSyntheticSuppressWarnings; + /** + * Whether @XbaseGenerated shall be generated for synthetic members. + * @since 2.36 + */ + @Parameter(defaultValue="true") + private boolean useXbaseGenerated; + /** * Whether @Generated shall be generated for non-nested types. */ @@ -129,6 +136,8 @@ protected void compile(String classPath, List sourcePaths, String output compiler.setJavaSourceVersion(javaSourceVersion); log.debug("Set generateSyntheticSuppressWarnings: " + generateSyntheticSuppressWarnings); compiler.setGenerateSyntheticSuppressWarnings(generateSyntheticSuppressWarnings); + log.debug("Set useXbaseGenerated: " + useXbaseGenerated); + compiler.setUseXbaseGenerated(useXbaseGenerated); log.debug("Set generateGeneratedAnnotation: " + generateGeneratedAnnotation); compiler.setGenerateGeneratedAnnotation(generateGeneratedAnnotation); log.debug("Set includeDateInGeneratedAnnotation: " + includeDateInGeneratedAnnotation); diff --git a/org.eclipse.xtext.xbase.lib/src/org/eclipse/xtext/xbase/lib/XbaseGenerated.java b/org.eclipse.xtext.xbase.lib/src/org/eclipse/xtext/xbase/lib/XbaseGenerated.java new file mode 100644 index 00000000000..958401fceb6 --- /dev/null +++ b/org.eclipse.xtext.xbase.lib/src/org/eclipse/xtext/xbase/lib/XbaseGenerated.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2024 Lorenzo Bettini and others. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ +package org.eclipse.xtext.xbase.lib; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import com.google.common.annotations.Beta; +import com.google.common.annotations.GwtCompatible; + +/** + * By annotating a class or method with this annotation, JaCoCo will ignore the + * annotated member. + * + * @author Lorenzo Bettini - Initial contribution and API + * + * @since 2.36 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ + ElementType.TYPE, + ElementType.METHOD, + ElementType.CONSTRUCTOR +}) +@Documented +@Beta +@GwtCompatible public @interface XbaseGenerated { + +} diff --git a/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderConfigurationBlock.java b/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderConfigurationBlock.java index 8742466f48d..7e4dae92d32 100644 --- a/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderConfigurationBlock.java +++ b/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderConfigurationBlock.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * Copyright (c) 2015, 2024 itemis AG (http://www.itemis.eu) and others. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. @@ -28,12 +28,13 @@ * Builder configuration block that adds compiler settings for Xbase. * * @author Miro Spoenemann - Initial contribution and API + * @author Lorenzo Bettini - useXbaseGenerated */ public class XbaseBuilderConfigurationBlock extends BuilderConfigurationBlock { - + @Inject private XbaseBuilderPreferenceAccess preferenceAccess; - + private Combo versionCombo; private Button useComplianceButton; @@ -67,6 +68,8 @@ public void widgetSelected(SelectionEvent e) { addCheckBox(composite, "Generate @SuppressWarnings annotations", PREF_GENERATE_SUPPRESS_WARNINGS, BOOLEAN_VALUES, 0); + addCheckBox(composite, "Annotate synthetic members with @XbaseGenerated", + USE_XBASE_GENERATED, BOOLEAN_VALUES, 0); final Button generateGeneratedButton = addCheckBox(composite, "Generate @Generated annotations", PREF_GENERATE_GENERATED, BOOLEAN_VALUES, 0); diff --git a/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderPreferenceAccess.java b/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderPreferenceAccess.java index fed0d3c782b..3a2de72cc47 100644 --- a/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderPreferenceAccess.java +++ b/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderPreferenceAccess.java @@ -21,13 +21,21 @@ /** * @author Miro Spoenemann - Initial contribution and API + * @author Lorenzo Bettini - useXbaseGenerated */ public class XbaseBuilderPreferenceAccess { - + /** * Preference identifier for generating @SuppressWarnings. */ public static final String PREF_GENERATE_SUPPRESS_WARNINGS = "generateSuppressWarnings"; //$NON-NLS-1$ + + /** + * Preference identifier for generating @XbaseGenerated. + * @since 2.36 + */ + public static final String USE_XBASE_GENERATED = "useXbaseGenerated"; //$NON-NLS-1$ + /** * Preference identifier for generating @Generated. */ @@ -59,6 +67,7 @@ public static class Initializer extends BuilderPreferenceAccess.Initializer { protected void initializeBuilderPreferences(IPreferenceStore store) { super.initializeBuilderPreferences(store); store.setDefault(PREF_GENERATE_SUPPRESS_WARNINGS, true); + store.setDefault(USE_XBASE_GENERATED, true); store.setDefault(PREF_GENERATE_GENERATED, false); store.setDefault(PREF_DATE_IN_GENERATED, false); store.setDefault(PREF_JAVA_VERSION, JavaVersion.JAVA8.toString()); @@ -73,6 +82,7 @@ protected void initializeBuilderPreferences(IPreferenceStore store) { public void loadBuilderPreferences(GeneratorConfig generatorConfig, Object context) { IPreferenceStore preferenceStore = preferenceStoreAccess.getContextPreferenceStore(context); generatorConfig.setGenerateSyntheticSuppressWarnings(preferenceStore.getBoolean(PREF_GENERATE_SUPPRESS_WARNINGS)); + generatorConfig.setUseXbaseGenerated(preferenceStore.getBoolean(USE_XBASE_GENERATED)); generatorConfig.setGenerateGeneratedAnnotation(preferenceStore.getBoolean(PREF_GENERATE_GENERATED)); if (generatorConfig.isGenerateGeneratedAnnotation()) { generatorConfig.setIncludeDateInGeneratedAnnotation(preferenceStore.getBoolean(PREF_DATE_IN_GENERATED)); diff --git a/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/compiler/GeneratorConfig.java b/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/compiler/GeneratorConfig.java index a264a9d119d..f097f0ac84f 100644 --- a/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/compiler/GeneratorConfig.java +++ b/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/compiler/GeneratorConfig.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013, 2020 itemis AG (http://www.itemis.eu) and others. + * Copyright (c) 2013, 2020, 2024 itemis AG (http://www.itemis.eu) and others. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. @@ -13,6 +13,7 @@ /** * @author Holger Schill - Initial contribution and API * @author Miro Spoenemann + * @author Lorenzo Bettini - useXbaseGenerated */ public class GeneratorConfig { /** @@ -26,6 +27,11 @@ public class GeneratorConfig { */ private boolean generateSyntheticSuppressWarnings = true; + /** + * Whether @XbaseGenerated shall be generated for synthetic members. + */ + private boolean useXbaseGenerated = true; + /** * Whether @Generated shall be generated for non-nested types. */ @@ -80,6 +86,20 @@ public void setGenerateSyntheticSuppressWarnings(boolean generateSyntheticSuppre this.generateSyntheticSuppressWarnings = generateSyntheticSuppressWarnings; } + /** + * @since 2.36 + */ + public boolean isUseXbaseGenerated() { + return useXbaseGenerated; + } + + /** + * @since 2.36 + */ + public void setUseXbaseGenerated(boolean useXbaseGenerated) { + this.useXbaseGenerated = useXbaseGenerated; + } + public boolean isGenerateGeneratedAnnotation() { return generateGeneratedAnnotation; }