//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); }