public override void FetchInstructions(AssemblyBuilderContext context)
        {
            switch (context)
            {
            case IfBlockContext ifBlockContext:
                IfBlock = ifBlockContext;
                break;

            case ElseIfBlockContext elseIfBlockContext:
                ElseIfBlocks.Add(elseIfBlockContext);
                break;

            case ElseBlockContext elseBlockContext:
                ElseBlock = elseBlockContext;
                break;

            default:
                throw new NotImplementedException();
            }
        }
 public IfBlockStatementContext(AssemblyBuilderContext parent) : base(parent)
 {
     IfBlock      = null;
     ElseIfBlocks = new List <ElseIfBlockContext>();
     ElseBlock    = null;
 }