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);
        }
Beispiel #2
0
 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);
 }