Esempio n. 1
0
 public override void EnterStatement(FlyParser.StatementContext context)
 {
     if (context.varAssignment() != null)
     {
         EnterVarAssignment(context.varAssignment());
         Code.Instructions.Add(OpCode.POP);
     }
     else if (context.varMultiAssignment() != null)
     {
         EnterVarMultiAssignment(context.varMultiAssignment());
     }
     else if (context.expression() != null)
     {
         EnterExpression(context.expression());
     }
     else if (context.ifElse() != null)
     {
         EnterIfElse(context.ifElse());
     }
     else if (context.methodDefinition() != null)
     {
         EnterMethodDefinition(context.methodDefinition());
     }
     else if (context.methodCall() != null)
     {
         EnterMethodCall(context.methodCall());
     }
     else if (context.forLoop() != null)
     {
         EnterForLoop(context.forLoop());
     }
     else if (context.returnStmt() != null)
     {
         EnterReturnStmt(context.returnStmt());
     }
     else if (context.importStatement() != null)
     {
         EnterImportStatement(context.importStatement());
     }
     else if (context.breakStmt() != null)
     {
         Code.Break();
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Exit a parse tree produced by <see cref="FlyParser.statement"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitStatement([NotNull] FlyParser.StatementContext context)
 {
 }