def outputRoutine(self, Routine): outputDict = dict() if isinstance(Routine, PlatformDependentGenericRoutine): platformList = self.__outputPlatformDepRoutineList__(Routine) outputDict["platform_dep_list"] = platformList outputDict["name"] = Routine.getName() outputDict["package"] = Routine.getPackage().getName() outputDict["comments"] = Routine.getComment() outputDict["original_name"] = Routine.getOriginalName() outputDict["source_code"] = Routine.hasSourceCode() localVars = self.__outputAbstractVariables__(Routine.getLocalVariables()) outputDict["local_variables"] = localVars globalVars = self.__outputAbstractVariables__(Routine.getGlobalVariables()) outputDict["global_variables"] = globalVars nakedVars = self.__outputAbstractVariables__(Routine.getNakedGlobals()) outputDict["naked_globals"] = nakedVars markedItems = self.__outputAbstractVariables__(Routine.getMarkedItems()) outputDict["marked_items"] = markedItems labelRefs = self.__outputAbstractVariables__(Routine.getLabelReferences()) outputDict["label_references"] = labelRefs outputDict["referred_globals"] = self.__outputReferredGlobals__(Routine.getReferredGlobal()) outputDict["total_called_routines"] = Routine.getTotalCalled() outputDict["called_routines"] = self.__outputCallDepRoutines__(Routine.getCalledRoutines()) outputDict["caller_routines"] = self.__outputCallDepRoutines__(Routine.getCallerRoutines()) return json.dumps(outputDict)
def outputRoutine(self, Routine): outputDict = dict() if isinstance(Routine, PlatformDependentGenericRoutine): platformList = self.__outputPlatformDepRoutineList__(Routine) outputDict["platform_dep_list"] = platformList outputDict["name"] = Routine.getName() outputDict["package"] = Routine.getPackage().getName() outputDict["comments"] = Routine.getComment() outputDict["original_name"] = Routine.getOriginalName() outputDict["source_code"] = Routine.hasSourceCode() localVars = self.__outputAbstractVariables__( Routine.getLocalVariables()) outputDict["local_variables"] = localVars globalVars = self.__outputAbstractVariables__( Routine.getGlobalVariables()) outputDict["global_variables"] = globalVars nakedVars = self.__outputAbstractVariables__(Routine.getNakedGlobals()) outputDict["naked_globals"] = nakedVars markedItems = self.__outputAbstractVariables__( Routine.getMarkedItems()) outputDict["marked_items"] = markedItems labelRefs = self.__outputAbstractVariables__( Routine.getLabelReferences()) outputDict["label_references"] = labelRefs outputDict["referred_globals"] = self.__outputReferredGlobals__( Routine.getReferredGlobal()) outputDict["total_called_routines"] = Routine.getTotalCalled() outputDict["called_routines"] = self.__outputCallDepRoutines__( Routine.getCalledRoutines()) outputDict["caller_routines"] = self.__outputCallDepRoutines__( Routine.getCallerRoutines()) return json.dumps(outputDict)
def __postParsing__(self, Routine, CrossReference): globalVar = CrossReference.getGlobalByName(self._varName) if not globalVar: globalVar = CrossReference.addNonFileManGlobalByName(self._varName) routineName = Routine.getName() # case to handle the platform dependent routines if CrossReference.isPlatformDependentRoutineByName(routineName): genericRoutine = CrossReference.getGenericPlatformDepRoutineByName(routineName) assert genericRoutine globalVar.addReferencedRoutine(genericRoutine) genericRoutine.addReferredGlobal(globalVar) else: globalVar.addReferencedRoutine(Routine) Routine.addReferredGlobal(globalVar)