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(); } }
/// <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) { }