public ProcessedExpression( String expression, CompilerContext ctx, ProcessedFEELUnit.DefaultMode defaultBackend, List<FEELProfile> profiles) { super(expression, ctx, profiles); this.defaultBackend = defaultBackend; ParseTree tree = parser.compilation_unit(); ast = tree.accept(new ASTBuilderVisitor(ctx.getInputVariableTypes())); }
public ProcessedUnaryTest( String expressions, CompilerContext ctx) { super(expressions, ctx, Collections.emptyList()); ParseTree tree = parser.unaryTestsRoot(); BaseNode initialAst = tree.accept(new ASTBuilderVisitor(ctx.getInputVariableTypes())); ast = initialAst.accept(new ASTUnaryTestTransform()).node(); }
private BaseNode parse(String input, Map<String, Type> inputTypes) { FEEL_1_1Parser parser = FEELParser.parse(null, input, inputTypes, Collections.emptyMap(), Collections.emptyList(), Collections.emptyList()); ParseTree tree = parser.expression(); ASTBuilderVisitor v = new ASTBuilderVisitor(inputTypes); BaseNode expr = v.visit( tree ); return expr; }
private DirectCompilerResult declareExternalFunction(FEEL_1_1Parser.FunctionDefinitionContext ctx) { ASTBuilderVisitor evaluatingVisitor = new ASTBuilderVisitor(Collections.emptyMap()); EvaluationContextImpl emptyEvalCtx = new EvaluationContextImpl(this.getClass().getClassLoader(), new FEELEventListenersManager());
private CompiledFEELExpression parse(String input, Map<String, Type> inputTypes) { FEEL_1_1Parser parser = FEELParser.parse(null, input, inputTypes, Collections.emptyMap(), Collections.emptyList(), Collections.emptyList()); ParseTree tree = parser.compilation_unit(); ASTBuilderVisitor v = new ASTBuilderVisitor(inputTypes); BaseNode node = v.visit(tree); DirectCompilerResult directResult = node.accept(new ASTCompilerVisitor()); Expression expr = directResult.getExpression(); CompiledFEELExpression cu = new CompilerBytecodeLoader().makeFromJPExpression(input, expr, directResult.getFieldDeclarations()); return cu; }
private CompiledFEELUnaryTests parse(String input, Map<String, Type> inputTypes, FEELEventListenersManager mgr, CompiledFEELSupport.SyntaxErrorListener listener) { FEEL_1_1Parser parser = FEELParser.parse(mgr, input, inputTypes, Collections.emptyMap(), Collections.emptyList(), Collections.emptyList()); ParseTree tree = parser.unaryTestsRoot(); DirectCompilerResult directResult; if (listener.isError()) { directResult = CompiledFEELSupport.compiledErrorUnaryTest(listener.event().getMessage()); } else { ASTBuilderVisitor v = new ASTBuilderVisitor(inputTypes); BaseNode node = v.visit(tree); BaseNode transformed = node.accept(new ASTUnaryTestTransform()).node(); directResult = transformed.accept(new ASTCompilerVisitor()); } Expression expr = directResult.getExpression(); CompiledFEELUnaryTests cu = new CompilerBytecodeLoader().makeFromJPUnaryTestsExpression(input, expr, directResult.getFieldDeclarations()); return cu; }