.. java:import:: fr.inria.tapenade.analysis InOutAnalyzer .. java:import:: fr.inria.tapenade.analysis LoopArrayAccessAnalyzer .. java:import:: fr.inria.tapenade.analysis PointerAnalyzer .. java:import:: fr.inria.tapenade.frontend TreeProtocol .. java:import:: fr.inria.tapenade.utils ILLang .. java:import:: fr.inria.tapenade.utils TapIntList .. java:import:: fr.inria.tapenade.utils TapPair .. java:import:: fr.inria.tapenade.utils TapTriplet .. java:import:: fr.inria.tapenade.utils Tree CallGraph ========= .. java:package:: fr.inria.tapenade.representation :noindex: .. java:type:: public final class CallGraph Top of internal representation, holding the call graph for a given program or library. Fields ------ MPIRecvCalls ^^^^^^^^^^^^ .. java:field:: public TapList MPIRecvCalls :outertype: CallGraph allGlobalsForExternals ^^^^^^^^^^^^^^^^^^^^^^ .. java:field:: public TapList allGlobalsForExternals :outertype: CallGraph The ordered list of all global zones that an external routine may see backAssociations ^^^^^^^^^^^^^^^^ .. java:field:: public TapList>> backAssociations :outertype: CallGraph When this CallGraph was built by transformation from some origin CallGraph, this A-list may hold the link from each Unit of the origin CallGraph to the list of the related Units of this new CallGraph. globalCMaps ^^^^^^^^^^^ .. java:field:: public TapList> globalCMaps :outertype: CallGraph The "maps" built for C global vars that are visible across files (Translation Units). globalFortranMaps ^^^^^^^^^^^^^^^^^ .. java:field:: public MemoryMaps globalFortranMaps :outertype: CallGraph The memory maps built for all COMMON, SAVE, and BIND(C) variables (Fortran-specific) globalZonesNumber4 ^^^^^^^^^^^^^^^^^^ .. java:field:: public int[] globalZonesNumber4 :outertype: CallGraph The number of global zones in this CallGraph (together with the 3 kind-specific numbers) globalsForExternalsNumber4 ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:field:: public int[] globalsForExternalsNumber4 :outertype: CallGraph The number of global zones in allGlobalsForExternals (together with the 3 kind-specific numbers) hasCuda ^^^^^^^ .. java:field:: public boolean hasCuda :outertype: CallGraph True when the given code contains CUDA operations numberOfDummyRootZones ^^^^^^^^^^^^^^^^^^^^^^ .. java:field:: public int numberOfDummyRootZones :outertype: CallGraph The number of dummy zones of the root SymbolTable, i.e. the destinations of NULL, Undef, the IO stream(s), and the MPI channels. toSharingTypes ^^^^^^^^^^^^^^ .. java:field:: public TapList> toSharingTypes :outertype: CallGraph The (hatted) list of all named types encountered, used to organize sharing of CompositeTypeSpec's activities topBlock ^^^^^^^^ .. java:field:: public Block topBlock :outertype: CallGraph Block that will contain global declarations. topPostComments ^^^^^^^^^^^^^^^ .. java:field:: public Tree topPostComments :outertype: CallGraph The tree of comments post-attached to this CallGraph. topPostCommentsBlock ^^^^^^^^^^^^^^^^^^^^ .. java:field:: public Tree topPostCommentsBlock :outertype: CallGraph The tree of block-comments post-attached to this CallGraph. topPreComments ^^^^^^^^^^^^^^ .. java:field:: public Tree topPreComments :outertype: CallGraph The tree of comments pre-attached to this CallGraph. topPreCommentsBlock ^^^^^^^^^^^^^^^^^^^ .. java:field:: public Tree topPreCommentsBlock :outertype: CallGraph The tree of block-comments pre-attached to this CallGraph. usedCommonNames ^^^^^^^^^^^^^^^ .. java:field:: public TapList usedCommonNames :outertype: CallGraph zoneNbOfAllIOStreams ^^^^^^^^^^^^^^^^^^^^ .. java:field:: public int zoneNbOfAllIOStreams :outertype: CallGraph index of the special memory zone that represents all I-O files. zoneNbOfNullDest ^^^^^^^^^^^^^^^^ .. java:field:: public int zoneNbOfNullDest :outertype: CallGraph index of the special memory zone that represents destination of NULL. zoneNbOfUnknownDest ^^^^^^^^^^^^^^^^^^^ .. java:field:: public int zoneNbOfUnknownDest :outertype: CallGraph index of the special memory zone that represents destination of an uninitialized pointer. Constructors ------------ CallGraph ^^^^^^^^^ .. java:constructor:: public CallGraph(String name) :outertype: CallGraph Creates a new CallGraph called "name". Methods ------- absorbAndDeleteAfterCreateNewUnit ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void absorbAndDeleteAfterCreateNewUnit() :outertype: CallGraph addAllocationPoint ^^^^^^^^^^^^^^^^^^ .. java:method:: protected void addAllocationPoint(Tree allocateTree, Tree recipientTree, TypeSpec allocatedType, SymbolTable symbolTable) :outertype: CallGraph addBindFortranCDiffUnit ^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void addBindFortranCDiffUnit(Unit diffUnit) :outertype: CallGraph addBindFortranCFunction ^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void addBindFortranCFunction(String unitFortranName, String unitCName, FunctionDecl funcDecl) :outertype: CallGraph addBindFortranCType ^^^^^^^^^^^^^^^^^^^ .. java:method:: public void addBindFortranCType(TypeDecl fortranTypeDecl, TypeDecl cTypeDecl) :outertype: CallGraph addCallArrow ^^^^^^^^^^^^ .. java:method:: public static CallArrow addCallArrow(Unit origin, int kind, Unit destination) :outertype: CallGraph Adds a new CallArrow into the CallGraph, from "origin" to "destination". If such an arrow already exists, no arrow is created. "kind" is the kind of arrow, belongs to {CALLS, IMPORTS, CONTAINS, -1}. If this arrow CALLS, the number of calls is incremented. addIntrinsicUnit ^^^^^^^^^^^^^^^^ .. java:method:: public void addIntrinsicUnit(Unit unit) :outertype: CallGraph Adds the given unit into the list of all intrinsic Units used in this CallGraph. addTranslationUnitSymbolTable ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void addTranslationUnitSymbolTable(SymbolTable symbolTable) :outertype: CallGraph attachToUpperUnit ^^^^^^^^^^^^^^^^^ .. java:method:: public void attachToUpperUnit(Unit unit, Unit upper) :outertype: CallGraph bindFortranCFunctions ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public TapList> bindFortranCFunctions() :outertype: CallGraph :return: the unordered list of all Fortran2003 Units with bind(c) in this CallGraph. bindFortranCType ^^^^^^^^^^^^^^^^ .. java:method:: public TapList> bindFortranCType() :outertype: CallGraph buildSortedUnitsList ^^^^^^^^^^^^^^^^^^^^ .. java:method:: public TapList buildSortedUnitsList(int callsDir, int importsDir, int containsDir) :outertype: CallGraph :return: a sorted list of all the units found in the "units" field of this CallGraph, following the sorting criteria defined by "callsDir", "importsDir", and "containsDir". When a CallArrow from A to B says that "A xxxx'es B", then: if xxxxsDir is 1 then A will be before B; if xxxxsDir is -1 then B will be before A; if xxxxsDir is 0, this doensn't constrain A B order. When order is free, places the Units by increasing original "positions". Beware of code duplication with sortUnits() !! cPlusPlusRootSymbolTable ^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public SymbolTable cPlusPlusRootSymbolTable() :outertype: CallGraph cRootSymbolTable ^^^^^^^^^^^^^^^^ .. java:method:: public SymbolTable cRootSymbolTable() :outertype: CallGraph checkBindFortranCType ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public boolean checkBindFortranCType(WrapperTypeSpec fortranTypeSpec, WrapperTypeSpec cTypeSpec) :outertype: CallGraph copyZone4Ranks ^^^^^^^^^^^^^^ .. java:method:: public static final int[] copyZone4Ranks(int[] rks) :outertype: CallGraph createNewIntrinsicUnit ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public Unit createNewIntrinsicUnit(String name, int language) :outertype: CallGraph Create a new intrinsic Unit for this CallGraph. createNewUnit ^^^^^^^^^^^^^ .. java:method:: public Unit createNewUnit(Unit upperLevelUnit, int language) :outertype: CallGraph Create a new Unit into this CallGraph, contained in upperLevelUnit. createRootSymbolTables ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void createRootSymbolTables() :outertype: CallGraph cudaRootSymbolTable ^^^^^^^^^^^^^^^^^^^ .. java:method:: public SymbolTable cudaRootSymbolTable() :outertype: CallGraph decideForwardDeclarations ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void decideForwardDeclarations() :outertype: CallGraph deleteUnit ^^^^^^^^^^ .. java:method:: public void deleteUnit(Unit unit) :outertype: CallGraph Delete the given unit, and all its lower-level Units, from this CallGraph. deleteUnitFromSymbolTable ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void deleteUnitFromSymbolTable(Unit unit) :outertype: CallGraph Delete the declaration of the given unit from the SymbolTable that contains these declarations. detachFromUpperUnit ^^^^^^^^^^^^^^^^^^^ .. java:method:: public void detachFromUpperUnit(Unit unit) :outertype: CallGraph Re-attach the given Unit to the given new upper-level unit. dump ^^^^ .. java:method:: public void dump(int indent) throws java.io.IOException :outertype: CallGraph Prints in detail the contents of this CallGraph, onto TapEnv.curOutputStream(). :param indent: the amount of indentation to be used for this printing. dumpAllDataFlows ^^^^^^^^^^^^^^^^ .. java:method:: public void dumpAllDataFlows(TapList unitsToDump) throws java.io.IOException :outertype: CallGraph Dumps the data-flow info of the Units of this CallGraph, restricted to all Units in "unitsToDump". dumpAllFlowGraphs ^^^^^^^^^^^^^^^^^ .. java:method:: public void dumpAllFlowGraphs(TapList unitsToDump, int indent) throws java.io.IOException :outertype: CallGraph Dumps all the contents of "callGraph", restricted to all Units in "unitsToDump". Dumps SymbolTable hierarchy first, then all flow-graphs dumpAllSymbolTables ^^^^^^^^^^^^^^^^^^^ .. java:method:: public void dumpAllSymbolTables(TapList unitsToDump, boolean dumpAll, int indent) throws java.io.IOException :outertype: CallGraph Dumps the hierarchy of SymbolTable's. dumpCompactCallGraph ^^^^^^^^^^^^^^^^^^^^ .. java:method:: public static void dumpCompactCallGraph(TapList unitsToDump) throws java.io.IOException :outertype: CallGraph Dumps a compact textual form of the call graph, i.e. the nodes (the Units) and the CallArrows. fixRemainingInterfaces ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void fixRemainingInterfaces() :outertype: CallGraph fortranRootSymbolTable ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public SymbolTable fortranRootSymbolTable() :outertype: CallGraph getAllMessagePassingChannelZones ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public TapIntList getAllMessagePassingChannelZones() :outertype: CallGraph :return: the list of all the zones representing a message-passing channel. getAllMessagePassingChannels ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public TapList> getAllMessagePassingChannels() :outertype: CallGraph :return: the list of all Message-Passing channels. getAnyIntrinsicUnit ^^^^^^^^^^^^^^^^^^^ .. java:method:: public Unit getAnyIntrinsicUnit(String name) :outertype: CallGraph :return: the intrinsic Unit with name 'name', 'null' if not found. This method is dirty and should be used only for debugging, because it does not use the scoping mechanism and therefore several Unit's can have the same name. getAnyNonVarUnit ^^^^^^^^^^^^^^^^ .. java:method:: public Unit getAnyNonVarUnit(String name, Unit inUnit) :outertype: CallGraph :return: one Unit with name 'name' from the CallGraph, provided it is not a VarFunctionUnit. This method is dirty and should be used only for debugging, because it does not use the scoping mechanism and therefore several Unit's can have the same name. getAnyUnit ^^^^^^^^^^ .. java:method:: public Unit getAnyUnit(String name) :outertype: CallGraph :return: a standard Unit with name 'name' from this CallGraph, 'null' if not found. This method is dirty and should be used only for debugging, because it does not use the scoping mechanism and therefore several Unit's can have the same name. getCallArrow ^^^^^^^^^^^^ .. java:method:: public static CallArrow getCallArrow(Unit callerUnit, Unit calleeUnit) :outertype: CallGraph :return: the CallArrow from "callerUnit" to "calleeUnit". In the special case where "calleeUnit" is an intrinsic, there is no CallArrow coming from each routine that uses it. Therefore, we return a "generic" arrow with its origin set to "callerUnit". getCglobalMap ^^^^^^^^^^^^^ .. java:method:: public TapList getCglobalMap(SymbolDecl sharedDecl) :outertype: CallGraph getFileUnit ^^^^^^^^^^^ .. java:method:: public Unit getFileUnit(String fileName) :outertype: CallGraph :return: the "package" Unit (i.e. a file, i.e. a compilation unit) with the given fileName. getMainUnit ^^^^^^^^^^^ .. java:method:: public Unit getMainUnit() :outertype: CallGraph :return: main Unit if this CallGraph has a main Unit. Otherwise returns null. getMixedLanguageFunctionName ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public TapPair getMixedLanguageFunctionName(String functionName, int callerLanguage, int calleeLanguage) :outertype: CallGraph :param functionName: name of function in a call :param callerLanguage: TapEnv.C, TapEnv.FORTRAN, ... :param calleeLanguage: TapEnv.C, TapEnv.FORTRAN, ... :return: the corresponding Unit.name, i.e. .. parsed-literal:: if callerLanguage == TapEnv.C, the Fortran name FOO if callerLanguage == TapEnv.FORTRAN, the C name BAR or bind's result + FunctionDecl getOtherBindType ^^^^^^^^^^^^^^^^ .. java:method:: public TypeDecl getOtherBindType(WrapperTypeSpec typeSpec) :outertype: CallGraph getOtherLangFunctionDeclFromBindC ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public TapTriplet getOtherLangFunctionDeclFromBindC(String funcName, int calleeLang) :outertype: CallGraph getOtherLanguageName ^^^^^^^^^^^^^^^^^^^^ .. java:method:: public String getOtherLanguageName(String symbolName, int callerLanguage, int calleeLanguage) :outertype: CallGraph getPreviousFunctionDeclAndNewUnit ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public TapTriplet> getPreviousFunctionDeclAndNewUnit(String name) :outertype: CallGraph getRecursivityUnits ^^^^^^^^^^^^^^^^^^^ .. java:method:: public TapList getRecursivityUnits() :outertype: CallGraph getTranslationUnitSymbolTables ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public TapList getTranslationUnitSymbolTables() :outertype: CallGraph getUnit ^^^^^^^ .. java:method:: public Unit getUnit(String funcName) :outertype: CallGraph :return: the Unit corresponding to the given full name "funcName". A full name (path) of a procedure is prefixed with the names of the containing modules or procedures as in "module.func". getUnit ^^^^^^^ .. java:method:: public Unit getUnit(TapList funcPath) :outertype: CallGraph :return: the Unit corresponding to the given path "funcPath", starting from the namespace of the root SymbolTable of this CallGraph. If finds no Unit, complains and returns any unit with the same name. May return an external Unit or even null! getUnit ^^^^^^^ .. java:method:: public Unit getUnit(String name, FunctionTypeSpec functionTypeSpec) :outertype: CallGraph :return: 'null' if not found or if it finds an interface. getUnits ^^^^^^^^ .. java:method:: public TapList getUnits(TapList unitNames) :outertype: CallGraph Returns the list of all Units that match one name or one unit rank in "unitNames". Returns null if unitNames is null or no Unit is found. If the given list "unitNames" starts with special String "%all%, then this returns a one-element list containing null, which must be understood as "all Units". globalRootSymbolTable ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public SymbolTable globalRootSymbolTable() :outertype: CallGraph interfaceUnits ^^^^^^^^^^^^^^ .. java:method:: public TapList interfaceUnits() :outertype: CallGraph :return: the unordered list of all interface Units in this CallGraph. intrinsicUnits ^^^^^^^^^^^^^^ .. java:method:: public TapList intrinsicUnits() :outertype: CallGraph :return: the unordered list of all intrinsic Units used in this CallGraph. isAMessagePassingChannelZone ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public boolean isAMessagePassingChannelZone(int zoneNb) :outertype: CallGraph :return: true if "zoneNb" represents a message-passing channel. isCommonName ^^^^^^^^^^^^ .. java:method:: public boolean isCommonName(String name) :outertype: CallGraph isMessagePassingChannelName ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public static boolean isMessagePassingChannelName(String name) :outertype: CallGraph languageRootSymbolTable ^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public SymbolTable languageRootSymbolTable(int language) :outertype: CallGraph name ^^^^ .. java:method:: public String name() :outertype: CallGraph :return: Some given name for this CallGraph. naturalBindFortranCType ^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public boolean naturalBindFortranCType(WrapperTypeSpec fType, WrapperTypeSpec cType) :outertype: CallGraph Returns true if fType and cType are based on primitive types and naturally match, without any need for BIND declaration. nbUnits ^^^^^^^ .. java:method:: public int nbUnits() :outertype: CallGraph :return: Number of Units present in this CallGraph Includes procedures, classes, externals, interfaces, but not intrinsics. numberSymbolTables ^^^^^^^^^^^^^^^^^^ .. java:method:: public void numberSymbolTables() :outertype: CallGraph Assigns a unique number to each SymbolTable. This number is used mostly to identify SymbolTable's in debug and trace orderedFiles ^^^^^^^^^^^^ .. java:method:: public TapList orderedFiles() :outertype: CallGraph :return: a reordered list of the Translation Units in "fileUnits", ordered so that the USE'd and CALL'ed Units occur before their usage. This is useful if the user wants all code generated in a single file. prepareAnalyses ^^^^^^^^^^^^^^^ .. java:method:: public void prepareAnalyses(TapList rootUnits) :outertype: CallGraph Run all general-purpose analyses. replaceInAllocationPoints ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected void replaceInAllocationPoints(Tree oldAllocate, Tree newAllocate) :outertype: CallGraph resetPreviousFunctionDeclAndNewUnit ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void resetPreviousFunctionDeclAndNewUnit() :outertype: CallGraph setAllMessagePassingChannels ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setAllMessagePassingChannels(TapList> allChannels) :outertype: CallGraph Sets the list of all Message-Passing channels. setBindCFortranCFunctions ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setBindCFortranCFunctions(TapList> origBindC) :outertype: CallGraph setBindFortranCType ^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setBindFortranCType(TapList> origBindCType) :outertype: CallGraph setCPlusPlusRootSymbolTable ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setCPlusPlusRootSymbolTable(SymbolTable cPlusPlusRootSymbolTable) :outertype: CallGraph setCRootSymbolTable ^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setCRootSymbolTable(SymbolTable cRootSymbolTable) :outertype: CallGraph setCudaRootSymbolTable ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setCudaRootSymbolTable(SymbolTable cudaRootSymbolTable) :outertype: CallGraph setFortranRootSymbolTable ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setFortranRootSymbolTable(SymbolTable fortranRootSymbolTable) :outertype: CallGraph setGlobalRootSymbolTable ^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setGlobalRootSymbolTable(SymbolTable globalRootSymbolTable) :outertype: CallGraph setInputStream ^^^^^^^^^^^^^^ .. java:method:: public void setInputStream(TreeProtocol stream) :outertype: CallGraph Sets the inputStream to "stream". setInterfaceUnits ^^^^^^^^^^^^^^^^^ .. java:method:: public void setInterfaceUnits(TapList units) :outertype: CallGraph Sets the unordered list of all interface Units in this CallGraph. setMainUnit ^^^^^^^^^^^ .. java:method:: public void setMainUnit(Unit unit) :outertype: CallGraph Sets "unit" as the main Unit of this CallGraph. setPreviousFunctionDeclAndNewUnit ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setPreviousFunctionDeclAndNewUnit(FunctionDecl oldFunctionDecl, Unit newUnit) :outertype: CallGraph sortUnits ^^^^^^^^^ .. java:method:: public void sortUnits(boolean keepAllUnits, int callsDir, int importsDir, int containsDir) :outertype: CallGraph Sorts into field "sortedUnits" all Unit's of this CallGraph, following the sorting criteria defined by "callsDir", "importsDir", and "containsDir". When a CallArrow from A to B says that "A xxxx'es B", then: if xxxxsDir is 1 then A will be before B; if xxxxsDir is -1 then B will be before A; if xxxxsDir is 0, this doesn't constrain A B order. When order is free, places the Units by increasing original "positions". Re-assigns the ranks of the Units according to this order. sortedComputationalUnits ^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public TapList sortedComputationalUnits() :outertype: CallGraph :return: a TapList of all computational units in this CallGraph in top-down call order, topmost first. sortedUnit ^^^^^^^^^^ .. java:method:: public Unit sortedUnit(int rank) :outertype: CallGraph :return: the Unit at index "rank" (from 0 up) in the current sorted list of all Units of this CallGraph. Sorting is recomputed by each call to sortUnits(). sortedUnits ^^^^^^^^^^^ .. java:method:: public TapList sortedUnits() :outertype: CallGraph :return: the ordered list of all Units in this CallGraph. terminateTypesAndZones ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void terminateTypesAndZones() :outertype: CallGraph Final preparation of the CallGraph. Prepare the types. Set all the remaining CallArrows. Prepare the zones, zone numbering, zone translations. Must be done after all parsing and before all analyses. topUnits ^^^^^^^^ .. java:method:: public TapList topUnits() :outertype: CallGraph :return: the list of all top Units in this CallGraph. i.e. the Units of the topmost scope. units ^^^^^ .. java:method:: public TapList units() :outertype: CallGraph :return: the unordered list of all Units present in this CallGraph. zoneRksOfChannelOrIO ^^^^^^^^^^^^^^^^^^^^ .. java:method:: public TapIntList zoneRksOfChannelOrIO() :outertype: CallGraph zoneRksOfIO ^^^^^^^^^^^ .. java:method:: public TapIntList zoneRksOfIO() :outertype: CallGraph