def _get_chain_parent_symbol(self, symbol, fullsymbol):
        """Gets the code element object for the parent of the specified
        symbol in the fullsymbol chain."""
        #We are only interested in the type of the variable immediately preceding our symbol
        #in the chain so we can list its members.
        chain = fullsymbol.split("%")

        #We assume that if symbol != fullsymbol, we have at least a % at the end that 
        #tricked the symbol regex.
        if len(chain) < 2:
            return ([], None)
        previous = chain[-2].lower()

        #Now we need to use the name of the variable to find the actual type name
        target_name = ""
        if previous in self.element.members:
            target_name = self.element.members[previous].kind
        #The contextual element could be a module, in which case it has no parameters
        if hasattr(self.element, "parameters") and previous in self.element.parameters:
            target_name = self.element.parameters[previous].kind

        if target_name == "":
            return (None, None)

        return self.context.parser.tree_find(target_name, self.context.module, "types")
def _get_chain_parent_symbol ( self , symbol , fullsymbol ) : chain = fullsymbol . split ( "%" ) if len ( chain ) < 2 : return ( [ ] , None ) previous = chain [ - 2 ] . lower ( ) target_name = "" if previous in self . element . members : target_name = self . element . members [ previous ] . kind if hasattr ( self . element , "parameters" ) and previous in self . element . parameters : target_name = self . element . parameters [ previous ] . kind if target_name == "" : return ( None , None ) return self . context . parser . tree_find ( target_name , self . context . module , "types" )
Gets the code element object for the parent of the specified
        symbol in the fullsymbol chain.