예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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)
예제 #4
0
 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)