public override void EnterLocalVariableDeclaration([NotNull] NovaParser.LocalVariableDeclarationContext context) { VariableDeclaratorContext declarator = context.variableDeclarator(); string type = context.typeType().GetChild(0).GetText(); string name = declarator.variableDeclaratorId().GetText(); DeclarationStatement statement = new DeclarationStatement(Parent, context); Variable variable = new Variable(name, type, context.variableDeclarator()); ExpressionNode value = new ExpressionNode(statement); VariableInitializerContext initializer = declarator.variableInitializer(); if (initializer != null) { ExpressionContext expressionContext = initializer.expression(); ExpressionListener listener = new ExpressionListener(statement); expressionContext.EnterRule(listener); value = listener.GetResult(); } statement.Variable = variable; statement.Value = value; Result.Add(statement); }
private static CodeBlock CreateBlockFromMethodeInizialiser(VariableInitializerContext tmpInizialiser, ClassContainer inParentClass, VariableDeclaration inVarDeclaration) { if (tmpInizialiser != null) { var tmpBlock = new CodeBlock(); if (tmpInizialiser.arrayInitializer() != null) { throw new NotImplementedException("Array Inizialiser not implemented"); } else { new JavaMethodeCodeResolver() { ParentClass = inParentClass } .HandleExpressionContext(tmpBlock, tmpInizialiser.expression(), inVarDeclaration); } return(tmpBlock); } return(null); }