Exemple #1
0
        public static Microsoft.CodeAnalysis.Text.TextSpan GetDeclareClauseSpan(this DeclareStmt declStmt)
        {
            if (declStmt.Statement is EmptyStmt)
            {
                // declare (...); - return whole span
                return(declStmt.Span.ToTextSpan());
            }
            else
            {
                // declare (...) { ... } - return only the span of declare (...)
                int    clauseStart  = declStmt.Span.Start;
                int    blockStart   = declStmt.Statement.Span.Start;
                var    searchSpan   = new Span(clauseStart, blockStart - clauseStart);
                string searchText   = declStmt.ContainingSourceUnit.GetSourceCode(searchSpan);
                int    clauseLength = searchText.LastIndexOf(')') + 1;

                return(new Microsoft.CodeAnalysis.Text.TextSpan(clauseStart, clauseLength));
            }
        }
Exemple #2
0
 public override void VisitDeclareStmt(DeclareStmt x)
 {
     throw new NotImplementedException();
 }
Exemple #3
0
 /// <summary>
 /// Visits <c>declare</c> statement and its inner statement.
 /// </summary>
 virtual public void VisitDeclareStmt(DeclareStmt x)
 {
     VisitElement(x.Statement);
 }
Exemple #4
0
        public override void VisitDeclareStmt(DeclareStmt x)
        {
            Add(x);

            base.VisitDeclareStmt(x); // visit inner statement, if present
        }
Exemple #5
0
 public override void VisitDeclareStmt(DeclareStmt x)
 {
     Add(x);
 }
Exemple #6
0
 override public void VisitDeclareStmt(DeclareStmt x)
 {
     _serializer.StartSerialize(typeof(DeclareStmt).Name, SerializeSpan(x.Span));
     base.VisitDeclareStmt(x);
     _serializer.EndSerialize();
 }