def register(self,obj,cls=type(None),hist={}):
        """
        Takes a FortranObject and adds it to the appropriate list, if
        not already present.
        """
        #~ ident = getattr(obj,'ident',obj)
        if is_submodule(obj,cls):
            if obj not in self.submodules: self.submodules[obj] = SubmodNode(obj,self)
        elif is_module(obj,cls):
            if obj not in self.modules: self.modules[obj] = ModNode(obj,self)
        elif is_type(obj,cls):
            if obj not in self.types: self.types[obj] = TypeNode(obj,self,hist)
        elif is_proc(obj,cls):
            if obj not in self.procedures: self.procedures[obj] = ProcNode(obj,self,hist)
        elif is_program(obj,cls):
            if obj not in self.programs: self.programs[obj] = ProgNode(obj,self)
        elif is_sourcefile(obj,cls):
            if obj not in self.sourcefiles: self.sourcefiles[obj] = FileNode(obj,self)
        elif is_blockdata(obj,cls):
            if obj not in self.blockdata: self.blockdata[obj] = BlockNode(obj,self)
        else:
            raise BadType("Object type {} not recognized by GraphData".format(type(obj).__name__))
def register ( self , obj , cls = type ( None ) , hist = { } ) : if is_submodule ( obj , cls ) : if obj not in self . submodules : self . submodules [ obj ] = SubmodNode ( obj , self ) elif is_module ( obj , cls ) : if obj not in self . modules : self . modules [ obj ] = ModNode ( obj , self ) elif is_type ( obj , cls ) : if obj not in self . types : self . types [ obj ] = TypeNode ( obj , self , hist ) elif is_proc ( obj , cls ) : if obj not in self . procedures : self . procedures [ obj ] = ProcNode ( obj , self , hist ) elif is_program ( obj , cls ) : if obj not in self . programs : self . programs [ obj ] = ProgNode ( obj , self ) elif is_sourcefile ( obj , cls ) : if obj not in self . sourcefiles : self . sourcefiles [ obj ] = FileNode ( obj , self ) elif is_blockdata ( obj , cls ) : if obj not in self . blockdata : self . blockdata [ obj ] = BlockNode ( obj , self ) else : raise BadType ( "Object type {} not recognized by GraphData" . format ( type ( obj ) . __name__ ) )
Takes a FortranObject and adds it to the appropriate list, if
        not already present.