Package eu.bandm.tools.d2d2.base
Class Navigate.VisitReachable<T>
java.lang.Object
eu.bandm.tools.d2d2.model.MATCH_ONLY_00
eu.bandm.tools.d2d2.model.SinglePhase
eu.bandm.tools.d2d2.base.Navigate.VisitReachable<T>
- Direct Known Subclasses:
Def2Xslt3
,FirstCalculator
,Resolver4.DistributeToResolved
,Resolver4.ParseParticleGenerator
,UserdocInstantiated.UsedIn_Collector
- Enclosing class:
- Navigate
Visits all definitions and their defined expressions which are reachable
from given start points.
The "actions" defined in the derived visitors must call
markToDo(Refernce)
or markToDo(Definition)
as appropriate.
-
Field Summary
Modifier and TypeFieldDescription(package private) final Set<Definition>
Definitions already visited.(package private) T
Register by which the payload code can return a result.(package private) final Set<Definition>
Definitions still to visit.Fields inherited from class eu.bandm.tools.d2d2.model.MATCH_ONLY_00
_visitor_debug_stream, partial
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
markToDo
(Definition def) Enter the definition into the to-do-set, if not already visited.protected void
Enter the referred definition into the to-do-set, if not already visitedx.process
(Definition def) Process all definitions and expressions reachable from one particular definition.Process all definitions and expressions reachable from all definitions in the given module.protected T
Process until no more reachable definition is unprocessed.processPublic
(Module mod) Process all definitions and expressions reachable from all public definitions in the given module.Methods inherited from class eu.bandm.tools.d2d2.model.SinglePhase
action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, action, follow_definitions, follow_defInstances, follow_docu, follow_firsts, follow_globalSubsts, follow_imports, follow_itemDocu, follow_localdefs, follow_localSubsts, follow_modules, follow_namespaces, follow_obligates, follow_on, follow_rawModules, follow_text, follow_weakfirsts, follow_xattributes
Methods inherited from class eu.bandm.tools.d2d2.model.MATCH_ONLY_00
_visitor_trace, action, action, action, action, action, compile, followAll_definitions, followAll_defInstances, followAll_docu, followAll_firsts, followAll_globalSubsts, followAll_imports, followAll_itemDocu, followAll_localdefs, followAll_localSubsts, followAll_modules, followAll_namespaces, followAll_obligates, followAll_on, followAll_rawModules, followAll_text, followAll_weakfirsts, followAll_xattributes, foreignObject, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, match, nomatch
-
Field Details
-
todo
Definitions still to visit. -
done
Definitions already visited. -
result
T resultRegister by which the payload code can return a result.
-
-
Constructor Details
-
VisitReachable
public VisitReachable()
-
-
Method Details
-
process
Process all definitions and expressions reachable from all definitions in the given module. (Does not visit the expressions X in "import _ from _ ^ ( X / _)
". -
processPublic
Process all definitions and expressions reachable from all public definitions in the given module. (Does not visit the expressions X in "import _ from _ ^ ( X / _)
". -
process
Process all definitions and expressions reachable from one particular definition. -
processAll
Process until no more reachable definition is unprocessed. -
markToDo
Enter the definition into the to-do-set, if not already visited. -
markToDo
Enter the referred definition into the to-do-set, if not already visitedx.
-