Package gudusoft.gsqlparser.resolver2
Class OraclePackageRegistry
Object
gudusoft.gsqlparser.resolver2.OraclePackageRegistry
Registry for Oracle packages encountered during scope building.
Pre-built during the initial scan of statements to allow:
- Cross-package references (pkg1 references pkg2.constant)
- Spec/body merging for complete member visibility
- O(1) lookup of package namespaces by name
Usage in ScopeBuilder:
// During build() pre-traversal: packageRegistry = new OraclePackageRegistry(); packageRegistry.buildFromStatements(statements); // During visitor traversal (when entering package body): OraclePackageNamespace pkgNs = packageRegistry.getPackage(packageName);
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbuildFromStatements(TStatementList statements) Build the registry from a list of statements.voidclear()Clear the registry.Get all registered packages.getPackage(String name) Look up a package namespace by name.booleanCheck if a name corresponds to a known package.voidsetDebug(boolean debug) Enable/disable debug logging.intsize()Get the number of registered packages.toString()
-
Constructor Details
-
OraclePackageRegistry
public OraclePackageRegistry()Create a new package registry.
-
-
Method Details
-
setDebug
Enable/disable debug logging.- Parameters:
debug- true to enable debug output
-
buildFromStatements
Build the registry from a list of statements. Call this during ScopeBuilder pre-traversal.- Parameters:
statements- The statement list to scan
-
getPackage
Look up a package namespace by name.- Parameters:
name- Package name (can be simple or qualified)- Returns:
- The namespace, or null if not found
-
isPackage
Check if a name corresponds to a known package.- Parameters:
name- The name to check- Returns:
- true if this is a known package
-
getAllPackages
Get all registered packages.- Returns:
- Unmodifiable collection of all packages
-
size
Get the number of registered packages.- Returns:
- The package count
-
clear
Clear the registry. Call this at reset. -
toString
-