def unitTestRoutineJSONEncoder(outputFile): testPA = Package("TestPA") testPB = Package("TestPB") testPC = Package("TestPC") calledRoutineA = Routine("TestRA", testPB) calledRoutineB = Routine("TestRB", testPC) testRoutine = Routine("TestRA", testPA) localVar = LocalVariable("TSTLA",">>","YU+4,XU+1*") testRoutine.addLocalVariables(localVar) localVar = LocalVariable("TSTLB",">>","YU+1*,XU+3*") testRoutine.addLocalVariables(localVar) globalVar = GlobalVariable("TSTGA",">>","YU+4,XU+1*") testRoutine.addGlobalVariables(globalVar) nakedVar = NakedGlobal("^(20.2",None,"YU+4,XU+1") testRoutine.addNakedGlobals(nakedVar) labelRef = LabelReference("DD",None,"YU+4,XU+1") testRoutine.addLabelReference(labelRef) globalVar = Global("^TMP(\"TEST\"", None, None, None) testRoutine.addReferredGlobal(globalVar) globalVar = Global("^TMP($J", None, None, None) testRoutine.addReferredGlobal(globalVar) testRoutine.addCalledRoutines(calledRoutineA,"$$DT","N+1,Y+3") testRoutine.addCalledRoutines(calledRoutineB,"$$OUT","Y+1,Z+3") output = RoutineJSONEncoder().outputRoutine(testRoutine) outputFile = open(outputFile, "wb") outputFile.write(output) outputFile.write("\n")
def unitTestRoutineJSONEncoder(outputFile): testPA = Package("TestPA") testPB = Package("TestPB") testPC = Package("TestPC") calledRoutineA = Routine("TestRA", testPB) calledRoutineB = Routine("TestRB", testPC) testRoutine = Routine("TestRA", testPA) localVar = LocalVariable("TSTLA", ">>", "YU+4,XU+1*") testRoutine.addLocalVariables(localVar) localVar = LocalVariable("TSTLB", ">>", "YU+1*,XU+3*") testRoutine.addLocalVariables(localVar) globalVar = GlobalVariable("TSTGA", ">>", "YU+4,XU+1*") testRoutine.addGlobalVariables(globalVar) nakedVar = NakedGlobal("^(20.2", None, "YU+4,XU+1") testRoutine.addNakedGlobals(nakedVar) labelRef = LabelReference("DD", None, "YU+4,XU+1") testRoutine.addLabelReference(labelRef) globalVar = Global("^TMP(\"TEST\"", None, None, None) testRoutine.addReferredGlobal(globalVar) globalVar = Global("^TMP($J", None, None, None) testRoutine.addReferredGlobal(globalVar) testRoutine.addCalledRoutines(calledRoutineA, "$$DT", "N+1,Y+3") testRoutine.addCalledRoutines(calledRoutineB, "$$OUT", "Y+1,Z+3") output = RoutineJSONEncoder().outputRoutine(testRoutine) outputFile = open(outputFile, "wb") outputFile.write(output) outputFile.write("\n")
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)
def __handleReferredGlobals__(self, Routine, RoutineJson): referredGlobalsJson = RoutineJson.get('referred_globals') if not referredGlobalsJson: return for referredGlobal in referredGlobalsJson: Routine.addReferredGlobal(self._crossRef.getGlobalByName(referredGlobal))
def __handleReferredGlobals__(self, Routine, RoutineJson): referredGlobalsJson = RoutineJson.get('referred_globals') if not referredGlobalsJson: return for referredGlobal in referredGlobalsJson: Routine.addReferredGlobal( self._crossRef.getGlobalByName(referredGlobal))