Search in sources :

Example 6 with GeneratorConfig

use of org.eclipse.xtext.xbase.compiler.GeneratorConfig in project xtext-xtend by eclipse.

the class ConfiguredCompilerTest method testAnnotationWithValueArray_01.

@Test
public void testAnnotationWithValueArray_01() {
    final GeneratorConfig generatorConfig = this.generatorConfigProvider.get(null);
    generatorConfig.setGenerateSyntheticSuppressWarnings(false);
    generatorConfig.setGenerateExpressions(true);
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("@SuppressWarnings(#[ \'abc\', \'efg\' ])");
    _builder.newLine();
    _builder.append("class C {");
    _builder.newLine();
    _builder.append("}");
    _builder.newLine();
    StringConcatenation _builder_1 = new StringConcatenation();
    _builder_1.append("@SuppressWarnings({ \"abc\", \"efg\" })");
    _builder_1.newLine();
    _builder_1.append("public class C {");
    _builder_1.newLine();
    _builder_1.append("}");
    _builder_1.newLine();
    this.assertCompilesTo(_builder, _builder_1);
}
Also used : StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) GeneratorConfig(org.eclipse.xtext.xbase.compiler.GeneratorConfig) AbstractXtendCompilerTest(org.eclipse.xtend.core.tests.compiler.AbstractXtendCompilerTest) Test(org.junit.Test)

Example 7 with GeneratorConfig

use of org.eclipse.xtext.xbase.compiler.GeneratorConfig in project xtext-xtend by eclipse.

the class ConfiguredCompilerTest method testAnnotationWithValueArray_02.

@Test
public void testAnnotationWithValueArray_02() {
    final GeneratorConfig generatorConfig = this.generatorConfigProvider.get(null);
    generatorConfig.setGenerateSyntheticSuppressWarnings(false);
    generatorConfig.setGenerateExpressions(true);
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("@SuppressWarnings(\'abc\', \'efg\')");
    _builder.newLine();
    _builder.append("class C {");
    _builder.newLine();
    _builder.append("}");
    _builder.newLine();
    StringConcatenation _builder_1 = new StringConcatenation();
    _builder_1.append("@SuppressWarnings({ \"abc\", \"efg\" })");
    _builder_1.newLine();
    _builder_1.append("public class C {");
    _builder_1.newLine();
    _builder_1.append("}");
    _builder_1.newLine();
    this.assertCompilesTo(_builder, _builder_1);
}
Also used : StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) GeneratorConfig(org.eclipse.xtext.xbase.compiler.GeneratorConfig) AbstractXtendCompilerTest(org.eclipse.xtend.core.tests.compiler.AbstractXtendCompilerTest) Test(org.junit.Test)

Example 8 with GeneratorConfig

use of org.eclipse.xtext.xbase.compiler.GeneratorConfig in project xtext-xtend by eclipse.

the class ConfiguredCompilerTest method testGeneratedAnnotation_01.

@Test
public void testGeneratedAnnotation_01() {
    final GeneratorConfig generatorConfig = this.generatorConfigProvider.get(null);
    generatorConfig.setGenerateSyntheticSuppressWarnings(false);
    generatorConfig.setGenerateGeneratedAnnotation(true);
    generatorConfig.setIncludeDateInGeneratedAnnotation(false);
    generatorConfig.setGeneratedAnnotationComment("");
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("package foo");
    _builder.newLine();
    _builder.append("class Bar {");
    _builder.newLine();
    _builder.append("}");
    _builder.newLine();
    StringConcatenation _builder_1 = new StringConcatenation();
    _builder_1.append("package foo;");
    _builder_1.newLine();
    _builder_1.newLine();
    _builder_1.append("import javax.annotation.Generated;");
    _builder_1.newLine();
    _builder_1.newLine();
    _builder_1.append("@Generated(\"org.eclipse.xtend.core.compiler.XtendGenerator\")");
    _builder_1.newLine();
    _builder_1.append("public class Bar {");
    _builder_1.newLine();
    _builder_1.append("}");
    _builder_1.newLine();
    this.assertCompilesTo(_builder, _builder_1);
}
Also used : StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) GeneratorConfig(org.eclipse.xtext.xbase.compiler.GeneratorConfig) AbstractXtendCompilerTest(org.eclipse.xtend.core.tests.compiler.AbstractXtendCompilerTest) Test(org.junit.Test)

Example 9 with GeneratorConfig

use of org.eclipse.xtext.xbase.compiler.GeneratorConfig in project xtext-xtend by eclipse.

the class XtendValidator method getGeneratorConfig.

protected GeneratorConfig getGeneratorConfig(EObject element) {
    GeneratorConfig result = (GeneratorConfig) getContext().get(GeneratorConfig.class);
    if (result == null) {
        result = generatorConfigProvider.get(element);
        getContext().put(GeneratorConfig.class, result);
        if (result.getJavaSourceVersion().isAtLeast(JAVA8)) {
            methodInInterfaceModifierValidator = new ModifierValidator(newArrayList("public", "abstract", "static", "def", "override"), this);
        } else {
            methodInInterfaceModifierValidator = new ModifierValidator(newArrayList("public", "abstract", "def", "override"), this);
        }
    }
    return result;
}
Also used : GeneratorConfig(org.eclipse.xtext.xbase.compiler.GeneratorConfig)

Example 10 with GeneratorConfig

use of org.eclipse.xtext.xbase.compiler.GeneratorConfig in project xtext-xtend by eclipse.

the class ConfiguredCompilerTest method compileWithConfiguration_2.

@Test
public void compileWithConfiguration_2() {
    final GeneratorConfig generatorConfig = this.generatorConfigProvider.get(null);
    generatorConfig.setGenerateSyntheticSuppressWarnings(true);
    generatorConfig.setGenerateExpressions(false);
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("package foo");
    _builder.newLine();
    _builder.newLine();
    _builder.append("/**");
    _builder.newLine();
    _builder.append(" ");
    _builder.append("* javadoc");
    _builder.newLine();
    _builder.append(" ");
    _builder.append("*/");
    _builder.newLine();
    _builder.append("@SuppressWarnings(\"unused\")");
    _builder.newLine();
    _builder.append("class Bar {");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("def foo(){");
    _builder.newLine();
    _builder.append("\t\t");
    _builder.append("1 + 1");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("}");
    _builder.newLine();
    _builder.append("}");
    _builder.newLine();
    StringConcatenation _builder_1 = new StringConcatenation();
    _builder_1.append("package foo;");
    _builder_1.newLine();
    _builder_1.newLine();
    _builder_1.append("/**");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("* javadoc");
    _builder_1.newLine();
    _builder_1.append(" ");
    _builder_1.append("*/");
    _builder_1.newLine();
    _builder_1.append("@SuppressWarnings(\"unused\")");
    _builder_1.newLine();
    _builder_1.append("public class Bar {");
    _builder_1.newLine();
    _builder_1.append("  ");
    _builder_1.append("public int foo() {");
    _builder_1.newLine();
    _builder_1.append("    ");
    _builder_1.append("throw new UnsupportedOperationException(\"foo is not implemented\");");
    _builder_1.newLine();
    _builder_1.append("  ");
    _builder_1.append("}");
    _builder_1.newLine();
    _builder_1.append("}");
    _builder_1.newLine();
    this.assertCompilesTo(_builder, _builder_1);
}
Also used : StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) GeneratorConfig(org.eclipse.xtext.xbase.compiler.GeneratorConfig) AbstractXtendCompilerTest(org.eclipse.xtend.core.tests.compiler.AbstractXtendCompilerTest) Test(org.junit.Test)

Aggregations

GeneratorConfig (org.eclipse.xtext.xbase.compiler.GeneratorConfig)13 AbstractXtendCompilerTest (org.eclipse.xtend.core.tests.compiler.AbstractXtendCompilerTest)8 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)8 Test (org.junit.Test)8 IGeneratorConfigProvider (org.eclipse.xtext.xbase.compiler.IGeneratorConfigProvider)3 XtendFile (org.eclipse.xtend.core.xtend.XtendFile)2 File (java.io.File)1 FileWriter (java.io.FileWriter)1 Resource (org.eclipse.emf.ecore.resource.Resource)1 ResourceSet (org.eclipse.emf.ecore.resource.ResourceSet)1 IXtendJvmAssociations (org.eclipse.xtend.core.jvmmodel.IXtendJvmAssociations)1 JvmDeclaredType (org.eclipse.xtext.common.types.JvmDeclaredType)1 JvmGenericType (org.eclipse.xtext.common.types.JvmGenericType)1 JvmModelGenerator (org.eclipse.xtext.xbase.compiler.JvmModelGenerator)1 ITreeAppendable (org.eclipse.xtext.xbase.compiler.output.ITreeAppendable)1