public final class Navigate extends Object
Modifier and Type | Class and Description |
---|---|
static class |
Navigate.CharSetCalc
Under a CharBinary all refs and defs and operators MUST be of character type.
|
static class |
Navigate.LocalReferenceNormalizer
Replaces hard every refering id which is local to some
declared object by the normalized identifier, as valid on module level.
|
static class |
Navigate.VisitReachable<T> |
Modifier and Type | Field and Description |
---|---|
protected static Function<Definition,Reference> |
co_resolve |
static Predicate<Definition> |
isPublicRegExp |
static Location<XMLDocumentIdentifier> |
locnull |
protected static Function<String,Reference> |
makeRef |
Constructor and Description |
---|
Navigate() |
Modifier and Type | Method and Description |
---|---|
static Set<XRegExp> |
allPublicXRegExp(Module mod) |
static Set<XRegExp> |
allXRegExp(Module mod) |
static String |
expandModulePath(ImportItem item)
Deliver the absolute path name for a module which is given by
a reference to a module name from some nested scope.
|
static String |
extractSuffix(String s) |
static @Opt Reference |
findImplicit(TagsRegExp def)
Find the reference marked as
#implicit , iff it is the
first in a sequence (possibly length 1) on the top of the content model
of the given regexp. |
static @Opt Definition |
findInDefinitions(Module mod,
String name)
Look for a definition in a module, including local defs.
|
static @Opt Definition |
findInDefinitions(Module mod,
String[] names)
Look for a definition in a module, including local defs.
|
static List<Module> |
getAllModules(SourceItem si)
Delivers the ascending list of containing modules.
|
static Module |
getModule(SourceItem si) |
static Module |
getTopmostModule(SourceItem si) |
static Expression |
insertedExpression(Insertion ins) |
static boolean |
isEmptyXRegExp(Definition def) |
static boolean |
isLocalModule(Module mod) |
static void |
PP(String text,
Object... args) |
static void |
printUdom(PrintStream p,
Udom u) |
static void |
printUdom(Udom u) |
static String |
qname(SourceItem si)
Return the qualified name which represents nesting of local definitions
up to (and excluding) the module level.
|
static String |
reJoin(String[] names)
Recompose a compound identifier by joining it with
Chars.STRING_NAMING_LEVEL_SEPARATOR = , |
static Expression |
resolveInsertion(Expression exp) |
public static final Predicate<Definition> isPublicRegExp
public static final Location<XMLDocumentIdentifier> locnull
protected static final Function<Definition,Reference> co_resolve
public static Module getModule(SourceItem si)
MessageException
- if argument is not contained in any Module.public static Module getTopmostModule(SourceItem si)
MessageException
- if argument is not contained in any Module.public static List<Module> getAllModules(SourceItem si)
MessageException
- if argument is not contained in any Module.public static boolean isLocalModule(Module mod)
public static String qname(SourceItem si)
public static String expandModulePath(ImportItem item)
@Opt public static @Opt Reference findImplicit(TagsRegExp def)
#implicit
, iff it is the
first in a sequence (possibly length 1) on the top of the content model
of the given regexp.public static boolean isEmptyXRegExp(Definition def)
public static String extractSuffix(String s)
Chars.STRING_NAMING_LEVEL_SEPARATOR
= ,
or the whole String if noneis contained.@Opt public static @Opt Definition findInDefinitions(Module mod, String name)
@Opt public static @Opt Definition findInDefinitions(Module mod, String[] names)
public static String reJoin(String[] names)
Chars.STRING_NAMING_LEVEL_SEPARATOR
= ,names
- a non-empty array of identifiers (in the sense of the grammar).public static Expression insertedExpression(Insertion ins)
public static Expression resolveInsertion(Expression exp)
public static void printUdom(Udom u)
public static void printUdom(PrintStream p, Udom u)
see also the complete user documentation .