コード例 #1
0
        public static bool TryGetCompletions(TryStatementHandler tryStatement, CompletionContext context, out CompletionResult result)
        {
            result = CompletionResult.Empty;

            // except Test as Target
            if (tryStatement.Target != null && context.Position >= tryStatement.Target.StartIndex)
            {
                return(true);
            }

            if (tryStatement.Test is TupleExpression || tryStatement.Test is null)
            {
                return(false);
            }

            if (context.Position <= tryStatement.Test.EndIndex)
            {
                return(false);
            }

            var applicableSpan = context.GetApplicableSpanFromLastToken(tryStatement);

            result = new CompletionResult(Enumerable.Repeat(CompletionItemSource.AsKeyword, 1), applicableSpan);
            return(true);
        }
コード例 #2
0
 public void Analyze(TryStatement ts)
 {
     this.tryStatement = ts;
     foreach (TryStatementHandler tsh in tryStatement.Handlers)
     {
         this.tryHandler = tsh;
         if (tsh.Target != null)
         {
             tsh.Target.Walk(this);
         }
     }
 }
コード例 #3
0
 public virtual void PostWalk(TryStatementHandler node) { }
コード例 #4
0
 // TryStatementHandler
 public virtual bool Walk(TryStatementHandler node) { return true; }
コード例 #5
0
ファイル: PythonWalker.Generated.cs プロジェクト: krus/PTVS
 public virtual void PostWalk(TryStatementHandler node)
 {
 }
コード例 #6
0
ファイル: PythonWalker.Generated.cs プロジェクト: krus/PTVS
 // TryStatementHandler
 public virtual bool Walk(TryStatementHandler node)
 {
     return(true);
 }
コード例 #7
0
ファイル: PythonWalker.Generated.cs プロジェクト: krus/PTVS
 // TryStatementHandler
 public override bool Walk(TryStatementHandler node)
 {
     return(Location >= node.StartIndex && Location <= node.EndIndex);
 }
コード例 #8
0
ファイル: PythonWalker.Generated.cs プロジェクト: krus/PTVS
 public override void PostWalk(TryStatementHandler node)
 {
 }
コード例 #9
0
 // TryStatementHandler
 public override bool Walk(TryStatementHandler node) { return Location >= node.StartIndex && Location <= node.EndIndex; }
コード例 #10
0
 public void PostWalk(TryStatementHandler node)
 {
     PostProcess(node);
 }
コード例 #11
0
 // TryStatementHandler
 public bool Walk(TryStatementHandler node)
 {
     return(Process(node));
 }
コード例 #12
0
 public override void PostWalk(TryStatementHandler node)
 {
     PostWalkWorker(node);
 }
コード例 #13
0
 // TryStatementHandler
 public override bool Walk(TryStatementHandler node)
 {
     return(ShouldWalkWorker(node));
 }
コード例 #14
0
 public TryDefinition(TryStatement tryStatement, TryStatementHandler tryHandler)
 {
     this.tryStatement = tryStatement;
     this.tryHandler   = tryHandler;
 }
コード例 #15
0
 // TryStatementHandler
 public override bool Walk(TryStatementHandler node) { return false; }
コード例 #16
0
 public override void PostWalk(TryStatementHandler node) { }
コード例 #17
0
ファイル: PythonWalker.Generated.cs プロジェクト: krus/PTVS
 // TryStatementHandler
 public override bool Walk(TryStatementHandler node)
 {
     return(false);
 }