Search in sources :

Example 1 with CompilationContext

use of com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext in project dsl-devkit by dsldevkit.

the class CodeGenerationXTest method beforeAllTests.

@Override
protected void beforeAllTests() {
    super.beforeAllTests();
    final ExecutionContextImpl executionContext = new ExecutionContextImpl();
    executionContext.registerMetaModel(new JavaBeansMetaModel());
    executionContext.registerMetaModel(new EmfRegistryMetaModel());
    final CompilationContext context = new CompilationContext(executionContext, new GenModelUtilX());
    getTestInformation().putTestObject(CompilerX.class, new CompilerX(context));
}
Also used : GenModelUtilX(com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX) CompilerX(com.avaloq.tools.ddk.xtext.expression.generator.CompilerX) ExecutionContextImpl(org.eclipse.xtend.expression.ExecutionContextImpl) EmfRegistryMetaModel(org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel) CompilationContext(com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext) JavaBeansMetaModel(org.eclipse.xtend.type.impl.java.JavaBeansMetaModel)

Example 2 with CompilationContext

use of com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext in project dsl-devkit by dsldevkit.

the class CompilationContextTest method analyze.

@Test
public void analyze() {
    ExecutionContextImpl executionContext = new ExecutionContextImpl();
    executionContext.registerMetaModel(new JavaBeansMetaModel());
    final CompilationContext context = new CompilationContext(executionContext, null);
    Type expectedType = executionContext.getTypeForName("Integer");
    assertSame("Cannot analyze Integer", expectedType, context.analyze("1 + 3"));
    expectedType = executionContext.getTypeForName("Real");
    assertSame("Cannot analyze Real", expectedType, context.analyze("1 + 3.33"));
    expectedType = executionContext.getTypeForName("String");
    assertSame("Cannot analyse String 'foo'", expectedType, context.analyze("\'foo\'"));
    assertSame("Cannot analyse String \"foo \" ", expectedType, context.analyze("\"foo\""));
    assertSame("Cannot analyse String \"foo\" + \'bar\'", expectedType, context.analyze("\"foo\" + \'bar\'"));
}
Also used : Type(org.eclipse.xtend.typesystem.Type) ExecutionContextImpl(org.eclipse.xtend.expression.ExecutionContextImpl) CompilationContext(com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext) JavaBeansMetaModel(org.eclipse.xtend.type.impl.java.JavaBeansMetaModel) Test(org.junit.Test)

Example 3 with CompilationContext

use of com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext in project dsl-devkit by dsldevkit.

the class CompilationContextTest method isExtension.

@Test
public void isExtension() {
    ExecutionContextImpl executionContext = new ExecutionContextImpl();
    executionContext.registerMetaModel(new JavaBeansMetaModel());
    ExtensionFile extensionFile = ParseFacade.file(new InputStreamReader(getClass().getResourceAsStream("/com/avaloq/tools/ddk/xtext/generator/expression/TestExtensions.ext")), "TestExtensions.ext");
    executionContext = (ExecutionContextImpl) executionContext.cloneWithResource(extensionFile);
    final CompilationContext context = new CompilationContext(executionContext, null);
    assertTrue("test extension not identified", context.isExtension("test"));
}
Also used : InputStreamReader(java.io.InputStreamReader) ExecutionContextImpl(org.eclipse.xtend.expression.ExecutionContextImpl) CompilationContext(com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext) JavaBeansMetaModel(org.eclipse.xtend.type.impl.java.JavaBeansMetaModel) ExtensionFile(org.eclipse.internal.xtend.xtend.ast.ExtensionFile) Test(org.junit.Test)

Aggregations

CompilationContext (com.avaloq.tools.ddk.xtext.expression.generator.CompilationContext)3 ExecutionContextImpl (org.eclipse.xtend.expression.ExecutionContextImpl)3 JavaBeansMetaModel (org.eclipse.xtend.type.impl.java.JavaBeansMetaModel)3 Test (org.junit.Test)2 CompilerX (com.avaloq.tools.ddk.xtext.expression.generator.CompilerX)1 GenModelUtilX (com.avaloq.tools.ddk.xtext.expression.generator.GenModelUtilX)1 InputStreamReader (java.io.InputStreamReader)1 ExtensionFile (org.eclipse.internal.xtend.xtend.ast.ExtensionFile)1 Type (org.eclipse.xtend.typesystem.Type)1 EmfRegistryMetaModel (org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel)1