Пример #1
0
        //Method is used as a delegate to avoid propogating RubberduckParserState beyond this class
        private string GetVariableTypeName(string variableName, ParserRuleContext ancestor)
        {
            var descendents = ancestor.GetDescendents <VBAParser.SimpleNameExprContext>().Where(desc => desc.GetText().Equals(variableName));

            if (descendents.Any())
            {
                (bool success, IdentifierReference idRef) = GetIdentifierReferenceForContext(descendents.First(), State);
                if (success)
                {
                    return(GetBaseTypeForDeclaration(idRef.Declaration));
                }
            }
            return(string.Empty);
        }