public class SystemResolver extends CachingResolver implements TopLevelResolver
SystemResolver
is the main resolver for
fully-qualified names.CachingResolver.CachedResult
Modifier and Type | Field and Description |
---|---|
protected ExtensionInfo |
extInfo |
protected java.util.Collection<Pair<java.lang.String,Named>> |
justAdded |
protected java.util.Map<java.lang.String,java.lang.Boolean> |
packageCache |
protected SystemResolver |
previous |
inner
Constructor and Description |
---|
SystemResolver(TopLevelResolver inner,
ExtensionInfo extInfo)
Create a caching resolver.
|
Modifier and Type | Method and Description |
---|---|
void |
addNamed(java.lang.String name,
Named q)
Install a qualifier in the cache.
|
protected void |
cachePackage(Package p) |
Type |
checkType(java.lang.String name)
Check if a type is in the cache, returning null if not.
|
void |
clearAdded() |
SystemResolver |
copy() |
Named |
find(java.lang.String name)
Find a type (or package) by name.
|
void |
install(java.lang.String name,
Named q)
Install a qualifier in the cache.
|
boolean |
installedInAll(java.lang.String name,
Named q) |
void |
installInAll(java.lang.String name,
Named n) |
java.util.Collection<Named> |
justAdded() |
boolean |
packageExists(java.lang.String name)
Check if a package exists.
|
protected boolean |
packageExistsInCache(java.lang.String name)
Check if a package exists in the resolver cache.
|
SystemResolver |
previous() |
void |
putAll(SystemResolver r) |
cachedResults, check, dump, inner, shouldReport, toString
protected java.util.Map<java.lang.String,java.lang.Boolean> packageCache
protected ExtensionInfo extInfo
protected SystemResolver previous
public SystemResolver(TopLevelResolver inner, ExtensionInfo extInfo)
inner
- The resolver whose results this resolver caches.public SystemResolver previous()
public SystemResolver copy()
copy
in interface Copy<CachingResolver>
copy
in class CachingResolver
public void installInAll(java.lang.String name, Named n)
public boolean installedInAll(java.lang.String name, Named q)
protected boolean packageExistsInCache(java.lang.String name)
public boolean packageExists(java.lang.String name)
packageExists
in interface TopLevelResolver
protected void cachePackage(Package p)
public Type checkType(java.lang.String name)
name
- The name to search for.public java.util.Collection<Named> justAdded()
public void clearAdded()
public void putAll(SystemResolver r) throws SemanticException
SemanticException
public Named find(java.lang.String name) throws SemanticException
find
in interface Resolver
find
in class CachingResolver
name
- The name to search for.SemanticException
public void install(java.lang.String name, Named q)
CachingResolver
install
in class CachingResolver
name
- The name of the qualifier to insert.q
- The qualifier to insert.public void addNamed(java.lang.String name, Named q) throws SemanticException
addNamed
in class CachingResolver
name
- The name of the qualifier to insert.q
- The qualifier to insert.SemanticException