Class ProgramEntryPointInstr
java.lang.Object
org.ek9lang.compiler.ir.instructions.IRInstr
org.ek9lang.compiler.ir.instructions.ProgramEntryPointInstr
- All Implemented Interfaces:
INode
IR instruction containing all discovered programs and their metadata.
Used by backends to generate main() entry point and program selection logic. Processed once per compilation - backends should skip duplicate occurrences.
Contains complete program registry including: - Qualified program names - Parameter signatures with types - Application associations for dependency injection
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Visitor interface for specialized handling of ProgramEntryPointInstr. -
Constructor Summary
ConstructorsConstructorDescriptionProgramEntryPointInstr
(List<ProgramDetails> availablePrograms, DebugInfo debugInfo) Create program entry point instruction with complete program metadata. -
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(INodeVisitor visitor) Get the complete list of available programs.boolean
Check if any programs have associated applications.toString()
Methods inherited from class IRInstr
addOperand, addOperands, equals, getDebugInfo, getEscapeMetaData, getOpcode, getOperands, getResult, hasEscapeMetaData, hashCode, hasResult, isControlFlow, isLabel, isMemoryManagement, isMethodCall, setEscapeMetaData
-
Constructor Details
-
ProgramEntryPointInstr
Create program entry point instruction with complete program metadata.- Parameters:
availablePrograms
- Complete list of all programs discovered during compilationdebugInfo
- Debug information for source mapping
-
-
Method Details
-
getAvailablePrograms
Get the complete list of available programs.- Returns:
- Immutable list of program details
-
hasApplications
public boolean hasApplications()Check if any programs have associated applications.- Returns:
- true if at least one program has an application
-
accept
-
toString
-