コード例 #1
0
ファイル: _ast.cs プロジェクト: rchandrashekara/main
 internal Raise(RaiseStatement stmt)
     : this() {
     if (stmt.ExceptType != null)
         _type = Convert(stmt.ExceptType);
     if (stmt.Value != null)
         _inst = Convert(stmt.Value);
     if (stmt.Traceback != null)
         _tback = Convert(stmt.Traceback);
 }
コード例 #2
0
ファイル: Parser.cs プロジェクト: bdoot/IronLanguages
        //raise_stmt: 'raise' [expression [',' expression [',' expression]]]
        private RaiseStatement ParseRaiseStmt() {
            Eat(TokenKind.KeywordRaise);
            var start = GetStart();
            Expression type = null, _value = null, traceback = null;

            if (!NeverTestToken(PeekToken())) {
                type = ParseExpression();
                if (MaybeEat(TokenKind.Comma)) {
                    _value = ParseExpression();
                    if (MaybeEat(TokenKind.Comma)) {
                        traceback = ParseExpression();
                    }
                }
            }
            RaiseStatement ret = new RaiseStatement(type, _value, traceback);
            ret.SetLoc(_globalParent, start, GetEnd());
            return ret;
        }
コード例 #3
0
        // *** END GENERATED CODE ***

        #endregion

        public override bool Walk(RaiseStatement node)
        {
            node.Parent    = _currentScope;
            node.InFinally = _finallyCount[_finallyCount.Count - 1] != 0;
            return(base.Walk(node));
        }
コード例 #4
0
ファイル: PythonNameBinder.cs プロジェクト: TerabyteX/main
 public override bool Walk(RaiseStatement node)
 {
     node.Parent = _currentScope;
     node.InFinally = _finallyCount[_finallyCount.Count - 1] != 0;
     return base.Walk(node);
 }
コード例 #5
0
ファイル: JavascriptGenerator.cs プロジェクト: valdisz/PyToJs
 public override bool Walk(RaiseStatement node)
 {
     CommonWalk(node);
     return true;
 }
コード例 #6
0
ファイル: JavascriptGenerator.cs プロジェクト: valdisz/PyToJs
 public override void PostWalk(RaiseStatement node)
 {
     CommonPostWalk(node);
 }
コード例 #7
0
 public void PostWalk(RaiseStatement node)
 {
     PostProcess(node);
 }
コード例 #8
0
 // RaiseStatement
 public bool Walk(RaiseStatement node)
 {
     return Process(node);
 }
コード例 #9
0
 public static string Format(RaiseStatement node)
 {
     return("raise " + Format(node.ExceptType) + "(" + Format(node.Value) + ")");
 }
コード例 #10
0
 public override bool Walk(RaiseStatement node)
 {
     Emit(node); return false;
 }
コード例 #11
0
 public virtual void PostWalk(RaiseStatement node)
 {
 }
コード例 #12
0
 // RaiseStatement
 public virtual bool Walk(RaiseStatement node)
 {
     return true;
 }
コード例 #13
0
 //public void Visit(PyAst.PythonAst node)=> throw CreateNotImplementedEx();
 public void Visit(PyAst.RaiseStatement node)
 {
     AppendLineWithIndentation("raise" + (node.Value is null ? "" : " " + Visit(node.Value)));
 }