public final class LocalSymbolKey extends Object
The scope is the declaring routine's frozen scope (see LocalScopes), or an overload pool's
(IdentityScope), or null at top level. The name is keyed by the analysis's identifier rules under the object
type of its namespace. Declared locals (variables, cursors, declared types, table variables) share one namespace, as
a cursor and a variable of one name are one name in a declare section; a trigger's correlation names are another.
| Modifier and Type | Class and Description |
|---|---|
static class |
LocalSymbolKey.Kind
What a local symbol is; its namespace decides its identity and the object type its name is compared under.
|
static class |
LocalSymbolKey.Namespace
Which names a local symbol competes with.
|
| Modifier and Type | Method and Description |
|---|---|
LocalSymbolKey |
asCorrelation()
The same written name and scope, keyed as a trigger correlation name (under that namespace's rules).
|
boolean |
equals(Object o) |
LocalSymbolKey.Kind |
getKind() |
Object |
getScope() |
int |
hashCode() |
LocalSymbolKey |
inScope(Object otherScope)
The same name in another scope (a lookup walking a lexical chain).
|
static LocalSymbolKey |
of(Object scope,
String name,
LocalSymbolKey.Kind kind)
The key of
name, a single identifier as written (a leading : already removed), declared in
scope; null only for an empty name. |
static LocalSymbolKey |
of(Object scope,
String name,
LocalSymbolKey.Kind kind,
IdentifierService service) |
String |
toString()
For diagnostics only.
|
public static LocalSymbolKey of(Object scope, String name, LocalSymbolKey.Kind kind)
name, a single identifier as written (a leading : already removed), declared in
scope; null only for an empty name. A spelling the rules cannot read keys by its exact spelling.public static LocalSymbolKey of(Object scope, String name, LocalSymbolKey.Kind kind, IdentifierService service)
public LocalSymbolKey.Kind getKind()
public LocalSymbolKey inScope(Object otherScope)
public LocalSymbolKey asCorrelation()