internal static void TestSequence(int level, JetBrains.ReSharper.PsiPlugin.Tree.ISequence param, String caller) { if (!CanVisitFurther(param)) { return; } VisitElement(level, param, caller); }
public virtual JetBrains.ReSharper.PsiPlugin.Tree.ISequence SetSequence(JetBrains.ReSharper.PsiPlugin.Tree.ISequence param) { using (JetBrains.Application.WriteLockCookie.Create(this.IsPhysical())) { TreeElement current = null, next = GetNextFilteredChild(current), result = null; next = GetNextFilteredChild(current); if (next == null) { return((JetBrains.ReSharper.PsiPlugin.Tree.ISequence)result); } else { if (next.NodeType == JetBrains.ReSharper.PsiPlugin.Tree.Impl.TokenType.OR) { current = next; } else { return((JetBrains.ReSharper.PsiPlugin.Tree.ISequence)result); } } next = GetNextFilteredChild(current); if (next == null) { if (param == null) { return(null); } result = current = (TreeElement)JetBrains.ReSharper.Psi.ExtensionsAPI.Tree.ModificationUtil.AddChildAfter(this, current, (JetBrains.ReSharper.Psi.Tree.ITreeNode)param); } else { if (next.NodeType == JetBrains.ReSharper.PsiPlugin.Tree.Impl.ElementType.SEQUENCE) { if (param != null) { result = current = (TreeElement)JetBrains.ReSharper.Psi.ExtensionsAPI.Tree.ModificationUtil.ReplaceChild(next, (JetBrains.ReSharper.Psi.Tree.ITreeNode)param); } else { current = GetNextFilteredChild(next); JetBrains.ReSharper.Psi.ExtensionsAPI.Tree.ModificationUtil.DeleteChild(next); } } else { if (param == null) { return(null); } result = (TreeElement)JetBrains.ReSharper.Psi.ExtensionsAPI.Tree.ModificationUtil.AddChildBefore(next, (JetBrains.ReSharper.Psi.Tree.ITreeNode)param); current = next; } } return((JetBrains.ReSharper.PsiPlugin.Tree.ISequence)result); } }
internal static void TestChoiceTail(int level, JetBrains.ReSharper.PsiPlugin.Tree.IChoiceTail param, String caller) { if (!CanVisitFurther(param)) { return; } VisitElement(level, param, caller); { JetBrains.ReSharper.PsiPlugin.Tree.ISequence child = ((JetBrains.ReSharper.PsiPlugin.Tree.IChoiceTail)param).Sequence; TestSequence(level + 1, (JetBrains.ReSharper.PsiPlugin.Tree.ISequence)child, "Sequence"); } }
public static JetBrains.ReSharper.PsiPlugin.Tree.IChoiceTail GetBySequence(JetBrains.ReSharper.PsiPlugin.Tree.ISequence param) { if (param == null) { return(null); } TreeElement current = (TreeElement)param; if (current.parent is JetBrains.ReSharper.PsiPlugin.Tree.Impl.ChoiceTail) { if (current.parent.GetChildRole(current) != JetBrains.ReSharper.PsiPlugin.Tree.Impl.ChoiceTail.PSI_SEQUENCE) { return(null); } current = current.parent; } else { return(null); } return((JetBrains.ReSharper.PsiPlugin.Tree.IChoiceTail)current); }
public virtual void VisitSequence([JetBrains.Annotations.NotNull] JetBrains.ReSharper.PsiPlugin.Tree.ISequence sequenceParam, TContext context) { VisitNode(sequenceParam, context); }