Esempio n. 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);
        }
 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);
         }
     }
 }
 public virtual void PostWalk(TryStatementHandler node) { }
 // TryStatementHandler
 public virtual bool Walk(TryStatementHandler node) { return true; }
Esempio n. 5
0
 public virtual void PostWalk(TryStatementHandler node)
 {
 }
Esempio n. 6
0
 // TryStatementHandler
 public virtual bool Walk(TryStatementHandler node)
 {
     return(true);
 }
Esempio n. 7
0
 // TryStatementHandler
 public override bool Walk(TryStatementHandler node)
 {
     return(Location >= node.StartIndex && Location <= node.EndIndex);
 }
Esempio n. 8
0
 public override void PostWalk(TryStatementHandler node)
 {
 }
Esempio n. 9
0
 // TryStatementHandler
 public override bool Walk(TryStatementHandler node) { return Location >= node.StartIndex && Location <= node.EndIndex; }
Esempio n. 10
0
 public void PostWalk(TryStatementHandler node)
 {
     PostProcess(node);
 }
Esempio n. 11
0
 // TryStatementHandler
 public bool Walk(TryStatementHandler node)
 {
     return(Process(node));
 }
 public override void PostWalk(TryStatementHandler node)
 {
     PostWalkWorker(node);
 }
 // TryStatementHandler
 public override bool Walk(TryStatementHandler node)
 {
     return(ShouldWalkWorker(node));
 }
Esempio n. 14
0
 public TryDefinition(TryStatement tryStatement, TryStatementHandler tryHandler)
 {
     this.tryStatement = tryStatement;
     this.tryHandler   = tryHandler;
 }
Esempio n. 15
0
 // TryStatementHandler
 public override bool Walk(TryStatementHandler node) { return false; }
Esempio n. 16
0
 public override void PostWalk(TryStatementHandler node) { }
Esempio n. 17
0
 // TryStatementHandler
 public override bool Walk(TryStatementHandler node)
 {
     return(false);
 }