public abstract class Resolver2 extends SinglePhase
ModuleRegistry#load_toplevel_module_from_stream(java.io.InputStream,String)
already has called Navigate.LocalReferenceNormalizer()#match(Module)
!!)
Modifier and Type | Class and Description |
---|---|
protected class |
Resolver2.Binding<T> |
protected class |
Resolver2.FlattenContext |
protected class |
Resolver2.ImportContext |
Modifier and Type | Field and Description |
---|---|
protected String |
currentDefinitionName |
protected Resolver2.FlattenContext |
currentFlattenContext |
protected Resolver2.ImportContext |
currentImportContext
How we came here where we are visiting now.
|
protected Resolver2.Binding<Expression> |
currentLocalSubsts |
protected Module |
currentModule |
protected ModuleRegistry |
moduleRegistry |
protected MessageTee<SimpleMessage<XMLDocumentIdentifier>> |
msg |
protected MessageCounter<SimpleMessage<XMLDocumentIdentifier>> |
msgcount |
_visitor_debug_stream, partial
Constructor and Description |
---|
Resolver2(MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msgoutput,
ModuleRegistry moduleRegistry) |
Modifier and Type | Method and Description |
---|---|
void |
action(Enumeration def) |
void |
action(Insertion ins) |
void |
action(Reference ref) |
void |
action(Subst subst) |
void |
action(XRegExp def) |
abstract void |
definitionReached(Enumeration def) |
abstract void |
definitionReached(XRegExp def) |
protected void |
error(Location<XMLDocumentIdentifier> loc,
String txt) |
protected void |
error(Location<XMLDocumentIdentifier> loc,
String txt,
Object... obj) |
protected <T> T |
findBinding(Resolver2.Binding<T> binding,
String id) |
void |
startAt(XRegExp def) |
protected void |
switchToRewrittenModule(Location<XMLDocumentIdentifier> loc,
String... prefs)
Resolve a chain of substitutions on module level.
|
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
_visitor_trace, action, action, action, action, 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, nomatch
protected MessageTee<SimpleMessage<XMLDocumentIdentifier>> msg
protected MessageCounter<SimpleMessage<XMLDocumentIdentifier>> msgcount
protected ModuleRegistry moduleRegistry
protected Resolver2.Binding<Expression> currentLocalSubsts
protected Resolver2.ImportContext currentImportContext
protected String currentDefinitionName
protected Module currentModule
protected Resolver2.FlattenContext currentFlattenContext
public Resolver2(MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msgoutput, ModuleRegistry moduleRegistry)
protected void error(Location<XMLDocumentIdentifier> loc, String txt)
protected void error(Location<XMLDocumentIdentifier> loc, String txt, Object... obj)
protected <T> T findBinding(Resolver2.Binding<T> binding, String id)
public void startAt(XRegExp def)
public void action(Subst subst)
action
in class SinglePhase
public void action(Insertion ins)
action
in class SinglePhase
public void action(Reference ref)
action
in class SinglePhase
protected void switchToRewrittenModule(Location<XMLDocumentIdentifier> loc, String... prefs)
module ddd <--currentImportContext's raw module import X from xxx def a = ... X.x ... <--visiting here module ccc <--- second import context import D from ddd ^(Y/X) <--- currentImportContext's ImportItem import Y from yyy module bbb <--initial import context (unresolved module maps IDs to importItems) import C from ccc ^(Z/Y) <--- second import context's ImportItem import Z from zzzThis chain is cycle-free by construction.
public void action(XRegExp def)
action
in class SinglePhase
public void action(Enumeration def)
action
in class SinglePhase
public abstract void definitionReached(XRegExp def)
public abstract void definitionReached(Enumeration def)
see also the complete user documentation .