Ejemplo n.º 1
0
        private ICandidate[] GetCandidates(IRuleNameUsage ruleNameUsage)
        {
            var ruleName        = ruleNameUsage.Name;
            var ruleDeclaration = ruleName.RuleNameReference.Resolve().DeclaredElement as IRuleDeclaration;

            if (ruleDeclaration != null)
            {
                var psiRuleSignature = new PsiRuleSignature(ruleDeclaration);
                var candidates       = new ICandidate[1];
                candidates[0] = new PsiParameterInfoCandidate(psiRuleSignature);
                return(candidates);
            }
            return(null);
        }
Ejemplo n.º 2
0
 public PsiParameterInfoContext(IRuleNameUsage ruleNameUsage, int argumentIndex)
 {
     myCandidates   = GetCandidates(ruleNameUsage);
     NamedArguments = EmptyArray <string> .Instance;
     Argument       = argumentIndex;
     if (ruleNameUsage.Parameters.FirstChild != null)
     {
         myTextRange = ruleNameUsage.Parameters.FirstChild.GetNavigationRange().TextRange;
     }
     else
     {
         myTextRange = TextRange.InvalidRange;
     }
 }