public class MssqlBoundIRBuilder extends Object implements IBoundIRBuilder
IBoundIRBuilder.
Orchestrates two internal phases:
TsqlSymbolCollector (visitor) to extract routines, variables, calls, table refs
Important: Unlike the Oracle builder, this builder does NOT invoke the
MssqlRoutineRefResolver inside build(). For multi-script analysis,
the resolver must run after merging all partial BoundPrograms so that cross-file
references can be resolved against the full routine index.
For single-file analysis, the caller should invoke
MssqlRoutineRefResolver.resolve(program) after build().
| Constructor and Description |
|---|
MssqlBoundIRBuilder() |
| Modifier and Type | Method and Description |
|---|---|
BoundProgram |
build(TStatementList stmts,
AnalyzerV2Config config)
Builds the Bound IR from the given AST statements.
|
BoundProgram |
build(TStatementList stmts,
AnalyzerV2Config config,
String fileId)
Builds a partial BoundProgram from the given statements with a file identifier.
|
public MssqlBoundIRBuilder()
public BoundProgram build(TStatementList stmts, AnalyzerV2Config config)
IBoundIRBuilderbuild in interface IBoundIRBuilderstmts - parsed SQL statementsconfig - analyzer configurationpublic BoundProgram build(TStatementList stmts, AnalyzerV2Config config, String fileId)
All BoundRoutineRef instances in the returned program are in
UNRESOLVED_SOFT state. The caller is responsible for running
MssqlRoutineRefResolver.resolve(BoundProgram) after merging.
stmts - parsed SQL statementsconfig - analyzer configuration (may be null)fileId - file identifier for cross-script traceability