public PsiUnresolvedRuleReferenceHighlighting(ITreeNode element) { myElement = element; if (element is RuleName) { myReference = (element as RuleName).RuleNameReference; } }
public CreatePsiRuleTarget(PsiRuleReference reference) { myElement = reference.GetTreeNode(); string name = reference.GetName(); var node = myElement.NextSibling; while (node != null) { if (!node.IsWhitespaceToken()) { if (!(node is IRuleParameters)) { break; } var child = node.FirstChild; while (child != null) { if (!child.IsWhitespaceToken()) { if (child is IRuleBraceParameters) { myHasBraceParameters = true; } if (child is IRuleBracketParameters) { CollectVariableParameters(child as IRuleBracketParameters); } } child = child.NextSibling; } break; } node = node.NextSibling; } if (name != "") { myDeclaration = PsiElementFactory.GetInstance(myElement.GetPsiModule()).CreateRuleDeclaration(name, myHasBraceParameters, myVariableParameters); } else { myDeclaration = null; } Anchor = myElement.GetContainingNode <IRuleDeclaration>(); }
public PsiUnresolvedRuleReferenceHighlighting(RuleName element) { myElement = element; myReference = element.RuleNameReference; }