public class OraclePackageScope extends AbstractScope
Provides access to package-level declarations for all nested procedures, functions, and blocks within the package body.
Name resolution priority within package body:
node, parent, scopeType| Constructor and Description |
|---|
OraclePackageScope(IScope parent,
TPlsqlCreatePackage packageStmt,
OraclePackageNamespace packageNamespace)
Create a new Oracle package scope.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addChild(INamespace namespace,
String alias,
boolean nullable)
Default implementation: not supported (most scopes don't have children)
|
List<ScopeChild> |
getChildren()
Default implementation: empty list
|
String |
getPackageName()
Get the package name.
|
OraclePackageNamespace |
getPackageNamespace()
Get the package namespace.
|
List<INamespace> |
getVisibleNamespaces()
Default implementation: delegate to parent
|
void |
resolve(List<String> names,
INameMatcher matcher,
boolean deep,
IResolved resolved)
Default implementation: delegate to parent
|
INamespace |
resolveTable(String tableName)
Default implementation: delegate to parent
|
String |
toString() |
fullyQualify, getNode, getParent, getScopeType, isWithinpublic OraclePackageScope(IScope parent, TPlsqlCreatePackage packageStmt, OraclePackageNamespace packageNamespace)
parent - The parent scopepackageStmt - The package AST nodepackageNamespace - The namespace containing package memberspublic OraclePackageNamespace getPackageNamespace()
public String getPackageName()
public void addChild(INamespace namespace, String alias, boolean nullable)
AbstractScopeaddChild in interface IScopeaddChild in class AbstractScopenamespace - The namespace to addalias - The alias for this namespacenullable - Whether this namespace is nullable (e.g., RIGHT side of LEFT JOIN)public List<ScopeChild> getChildren()
AbstractScopegetChildren in interface IScopegetChildren in class AbstractScopepublic INamespace resolveTable(String tableName)
AbstractScoperesolveTable in interface IScoperesolveTable in class AbstractScopetableName - Table name or aliaspublic void resolve(List<String> names, INameMatcher matcher, boolean deep, IResolved resolved)
AbstractScoperesolve in interface IScoperesolve in class AbstractScopenames - Name parts (e.g., ["schema", "table", "column"])matcher - Name matcher for case sensitivity rulesdeep - Whether to recursively resolve into record fieldsresolved - Callback to collect all matchespublic List<INamespace> getVisibleNamespaces()
AbstractScopegetVisibleNamespaces in interface IScopegetVisibleNamespaces in class AbstractScopepublic String toString()
toString in class AbstractScope