use of org.mule.mvel2.compiler.ExpressionCompiler in project mvel by mvel.
the class TypesAndInferenceTests method testDetermineEgressParametricType.
public final void testDetermineEgressParametricType() {
final ParserContext parserContext = new ParserContext();
parserContext.setStrongTyping(true);
parserContext.addInput("strings", List.class, new Class[] { String.class });
final CompiledExpression expr = new ExpressionCompiler("strings", parserContext).compile();
assertTrue(STRINGS.equals(executeExpression(expr, new A())));
/*
final Type[] typeParameters = expr.getParserContext().getLastTypeParameters();
assertTrue(typeParameters != null);
assertTrue(String.class.equals(typeParameters[0]));
*/
}
use of org.mule.mvel2.compiler.ExpressionCompiler in project mvel by mvel.
the class TypesAndInferenceTests method testVarInputs2.
public void testVarInputs2() {
ParserContext ctx = new ParserContext();
ExpressionCompiler compiler = new ExpressionCompiler("test != foo && bo.addSomething(trouble); String bleh = foo; twa = bleh;", ctx);
compiler.compile();
System.out.println(ctx.getVarOrInputType("bleh"));
}
use of org.mule.mvel2.compiler.ExpressionCompiler in project mvel by mvel.
the class TypesAndInferenceTests method testParameterizedTypeInStrictMode.
public void testParameterizedTypeInStrictMode() {
ParserContext ctx = new ParserContext();
ctx.setStrongTyping(true);
ctx.addInput("foo", HashMap.class, new Class[] { String.class, String.class });
ExpressionCompiler compiler = new ExpressionCompiler("foo.get('bar').toUpperCase()", ctx);
compiler.compile();
}
use of org.mule.mvel2.compiler.ExpressionCompiler in project mvel by mvel.
the class TypesAndInferenceTests method testStrictStrongTypingCompilationErrors1.
public void testStrictStrongTypingCompilationErrors1() throws Exception {
ParserContext ctx = new ParserContext();
ctx.setStrictTypeEnforcement(true);
ctx.setStrongTyping(true);
ctx.addImport(Foo.class);
ctx.addInput("$bar", Bar.class);
try {
ExpressionCompiler compiler = new ExpressionCompiler("System.out.println( $ba );", ctx);
compiler.compile();
fail("This should not compileShared");
} catch (Exception e) {
}
}
use of org.mule.mvel2.compiler.ExpressionCompiler in project mvel by mvel.
the class TypesAndInferenceTests method testParameterizedTypeInStrictMode2.
public void testParameterizedTypeInStrictMode2() {
ParserContext ctx = new ParserContext();
ctx.setStrongTyping(true);
ctx.addInput("ctx", Object.class);
ExpressionCompiler compiler = new ExpressionCompiler("org.mvel2.DataConversion.convert(ctx, String).toUpperCase()", ctx);
assertEquals(String.class, compiler.compile().getKnownEgressType());
}
Aggregations