コード例 #1
0
 public DMASTProcStatementForRange(DMASTProcStatement initializer, DMASTIdentifier variable, DMASTExpression rangeStart, DMASTExpression rangeEnd, DMASTExpression step, DMASTProcBlockInner body) : base(initializer, body)
 {
     Variable   = variable;
     RangeStart = rangeStart;
     RangeEnd   = rangeEnd;
     Step       = step;
 }
コード例 #2
0
        public void ProcessStatement(DMASTProcStatement statement)
        {
            switch (statement)
            {
            case DMASTProcStatementExpression statementExpression: ProcessStatementExpression(statementExpression); break;

            case DMASTProcStatementContinue statementContinue: ProcessStatementContinue(statementContinue); break;

            case DMASTProcStatementGoto statementGoto: ProcessStatementGoto(statementGoto); break;

            case DMASTProcStatementLabel statementLabel: ProcessStatementLabel(statementLabel); break;

            case DMASTProcStatementBreak statementBreak: ProcessStatementBreak(statementBreak); break;

            case DMASTProcStatementDel statementDel: ProcessStatementDel(statementDel); break;

            case DMASTProcStatementSpawn statementSpawn: ProcessStatementSpawn(statementSpawn); break;

            case DMASTProcStatementReturn statementReturn: ProcessStatementReturn(statementReturn); break;

            case DMASTProcStatementIf statementIf: ProcessStatementIf(statementIf); break;

            case DMASTProcStatementForStandard statementForStandard: ProcessStatementForStandard(statementForStandard); break;

            case DMASTProcStatementForList statementForList: ProcessStatementForList(statementForList); break;

            case DMASTProcStatementForRange statementForRange: ProcessStatementForRange(statementForRange); break;

            case DMASTProcStatementInfLoop statementInfLoop: ProcessStatementInfLoop(statementInfLoop); break;

            case DMASTProcStatementWhile statementWhile: ProcessStatementWhile(statementWhile); break;

            case DMASTProcStatementDoWhile statementDoWhile: ProcessStatementDoWhile(statementDoWhile); break;

            case DMASTProcStatementSwitch statementSwitch: ProcessStatementSwitch(statementSwitch); break;

            case DMASTProcStatementBrowse statementBrowse: ProcessStatementBrowse(statementBrowse); break;

            case DMASTProcStatementBrowseResource statementBrowseResource: ProcessStatementBrowseResource(statementBrowseResource); break;

            case DMASTProcStatementOutputControl statementOutputControl: ProcessStatementOutputControl(statementOutputControl); break;

            case DMASTProcStatementVarDeclaration varDeclaration: ProcessStatementVarDeclaration(varDeclaration); break;

            case DMASTProcStatementTryCatch tryCatch: ProcessStatementTryCatch(tryCatch); break;

            case DMASTProcStatementThrow dmThrow: ProcessStatementThrow(dmThrow); break;

            case DMASTProcStatementMultipleVarDeclarations multipleVarDeclarations: {
                foreach (DMASTProcStatementVarDeclaration varDeclaration in multipleVarDeclarations.VarDeclarations)
                {
                    ProcessStatementVarDeclaration(varDeclaration);
                }

                break;
            }

            default: throw new ArgumentException("Invalid proc statement");
            }
        }
コード例 #3
0
 public DMASTProcStatementForList(DMASTProcStatement initializer, DMASTIdentifier variable, DMASTExpression list, DMASTProcBlockInner body) : base(initializer, body)
 {
     Variable = variable;
     List     = list;
 }
コード例 #4
0
 public DMASTProcStatementForStandard(DMASTProcStatement initializer, DMASTExpression comparator, DMASTExpression incrementor, DMASTProcBlockInner body) : base(initializer, body)
 {
     Comparator  = comparator;
     Incrementor = incrementor;
 }
コード例 #5
0
 public DMASTProcStatementFor(DMASTProcStatement initializer, DMASTProcBlockInner body)
 {
     Initializer = initializer;
     Body        = body;
 }