Class LiteralExtractor
java.lang.Object
org.ek9lang.compiler.phase5.flow.LiteralExtractor
Extracts constant values from EK9 AST literal nodes.
Converts ANTLR parse tree literal contexts into ConstantValue instances
for the value tracking analyzer. Supports integer, boolean, string, float, character,
date, time, datetime, and millisecond literals.
The EK9 grammar uses labeled alternatives for the literal rule, so the concrete context types are subclasses of LiteralContext (IntegerLiteralContext, etc.).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionExtract a constant value from an assignment expression context.Extract a constant value from an expression context.Extract a constant value directly from a literal context.
-
Constructor Details
-
LiteralExtractor
public LiteralExtractor()
-
-
Method Details
-
extractFromAssignment
Extract a constant value from an assignment expression context.Handles both simple literals (
5) and negated literals (-5).- Parameters:
assignExpr- the assignment expression to examine- Returns:
- a ConstantValue if the expression is a literal, null otherwise
-
extractFromLiteral
Extract a constant value directly from a literal context. -
extractFromExpression
Extract a constant value from an expression context.
-