Пример #1
0
        public override void VisitSubStatements(StatementContainingStatement stmtContainer)
        {
            if (halt)
            {
                return;
            }

            var ss = stmtContainer.SubStatements;

            if (ss != null)
            {
                shownKeywords.Push(BlockMemberFilter | MemberFilter.StatementBlockKeywords | ExprMemberFilter);

                foreach (IStatement substatement in ss)
                {
                    if (substatement != null)
                    {
                        substatement.Accept(this);
                        if (halt)
                        {
                            return;
                        }
                    }
                }

                if (!halt && stmtContainer.EndLocation < ed.CaretLocation)
                {
                    shownKeywords.Pop();
                }
            }
        }
Пример #2
0
 public override void VisitChildren(StatementContainingStatement stmtContainer)
 {
     if (PushSelectionRange(stmtContainer))
     {
         base.VisitChildren(stmtContainer);
     }
 }
Пример #3
0
 public override void VisitChildren(StatementContainingStatement stmtContainer)
 {
     VisitSubStatements(stmtContainer);
     if (!halt)
     {
         VisitAbstractStmt(stmtContainer);
     }
 }
		public override void VisitChildren (StatementContainingStatement stmt)
		{
			var back = ctxt.ScopedStatement;
			if (back != stmt) {
				ctxt.PushNewScope (ctxt.ScopedBlock, stmt);
				OnScopedStatementChanged (stmt);
			}
			base.VisitSubStatements (stmt);
			if (back != stmt)
				ctxt.Pop ();
		}
Пример #5
0
        public virtual void VisitSubStatements(StatementContainingStatement stmtContainer)
        {
            var ss = stmtContainer.SubStatements;

            if (ss != null)
            {
                foreach (IStatement substatement in ss)
                {
                    substatement.Accept(this);
                }
            }
        }
Пример #6
0
        /// <summary>
        /// Visit abstract stmt
        /// </summary>
        public virtual void VisitChildren(StatementContainingStatement stmtContainer)
        {
            if (stmtContainer.SubStatements != null)
            {
                foreach (var s in stmtContainer.SubStatements)
                {
                    s.Accept(this);
                }
            }

            VisitAbstractStmt(stmtContainer);
        }
Пример #7
0
        public override void VisitChildren(StatementContainingStatement stmt)
        {
            var back = ctxt.ScopedStatement;

            if (back != stmt)
            {
                ctxt.PushNewScope(ctxt.ScopedBlock, stmt);
                OnScopedStatementChanged(stmt);
            }
            base.VisitSubStatements(stmt);
            if (back != stmt)
            {
                ctxt.Pop();
            }
        }
Пример #8
0
        public override void VisitSubStatements(StatementContainingStatement stmtContainer)
        {
            var ss = stmtContainer.SubStatements;

            if (ss != null)
            {
                foreach (IStatement substatement in ss)
                {
                    if (substatement != null)
                    {
                        substatement.Accept(this);
                        if (halt)
                        {
                            return;
                        }
                    }
                }
            }
        }
Пример #9
0
        void GenerateFoldsInternal(List <FoldingRegion> l, StatementContainingStatement statement)
        {
            // Only let block statements (like { SomeStatement(); SomeOtherStatement++; }) be foldable
            if (statement is BlockStatement)
            {
                l.Add(new FoldingRegion(
                          new DomRegion(
                              statement.Location.Line,
                              statement.Location.Column,
                              statement.EndLocation.Line,
                              statement.EndLocation.Column + 1),
                          FoldType.Undefined));
            }

            // Do a deep-scan
            foreach (var s in statement.SubStatements)
            {
                if (s is StatementContainingStatement)
                {
                    GenerateFoldsInternal(l, s as StatementContainingStatement);
                }
            }
        }
Пример #10
0
        static void AssignInStatementDeclarationsToNewParentNode(StatementContainingStatement ss, INode newParentNode)
        {
            IDeclarationContainingStatement dcs;

            if (ss.SubStatements != null)
            {
                foreach (var s in ss.SubStatements)
                {
                    dcs = s as IDeclarationContainingStatement;
                    if (dcs != null && dcs.Declarations != null)
                    {
                        foreach (var n in dcs.Declarations)
                        {
                            n.Parent = newParentNode;
                        }
                    }

                    if (s is StatementContainingStatement)
                    {
                        AssignInStatementDeclarationsToNewParentNode(s as StatementContainingStatement, newParentNode);
                    }
                }
            }
        }
		/// <summary>
		/// Visit abstract stmt
		/// </summary>
		public virtual void VisitChildren(StatementContainingStatement stmtContainer)
		{
			VisitSubStatements(stmtContainer);
			VisitAbstractStmt(stmtContainer);
		}
		public virtual void VisitSubStatements(StatementContainingStatement stmtContainer)
		{
			var ss = stmtContainer.SubStatements;
			if (ss != null)
				foreach (IStatement substatement in ss)
					substatement.Accept(this);
		}
Пример #13
0
 public override void VisitChildren(StatementContainingStatement stmt)
 {
     using (ctxt.Push(stmt.ParentNode, stmt.Location))
         base.VisitSubStatements(stmt);
 }
Пример #14
0
 /// <summary>
 /// Visit abstract stmt
 /// </summary>
 public virtual void VisitChildren(StatementContainingStatement stmtContainer)
 {
     VisitSubStatements(stmtContainer);
     VisitAbstractStmt(stmtContainer);
 }
Пример #15
0
 public override void VisitChildren(StatementContainingStatement stmt)
 {
     using (PushConditionEnumBlock(stmt))
         base.VisitChildren(stmt);
 }