public abstract class IRNode extends Object
Each node has a globally unique ID, an optional source anchor linking back to the original AST/SQL text, and an extensible properties map for dialect-specific attributes.
| Modifier | Constructor and Description |
|---|---|
protected |
IRNode() |
| Modifier and Type | Method and Description |
|---|---|
abstract <R,C> R |
accept(IRVisitor<R,C> visitor,
C context)
Visitor accept method with generic return type and context.
|
long |
getId() |
abstract IRNodeKind |
getKind()
Returns the node type enumeration value.
|
Map<String,Object> |
getProperties()
Returns the properties map (may be null if no properties set).
|
<T> T |
getProperty(String key)
Gets a dialect-specific property.
|
SourceAnchor |
getSourceAnchor() |
static void |
resetIdGenerator()
Resets the global ID generator.
|
void |
setProperty(String key,
Object value)
Sets a dialect-specific property.
|
void |
setSourceAnchor(SourceAnchor sourceAnchor) |
String |
toString() |
protected IRNode()
public long getId()
public SourceAnchor getSourceAnchor()
public void setSourceAnchor(SourceAnchor sourceAnchor)
public abstract IRNodeKind getKind()
public abstract <R,C> R accept(IRVisitor<R,C> visitor, C context)
public <T> T getProperty(String key)
public void setProperty(String key, Object value)
public Map<String,Object> getProperties()
public static void resetIdGenerator()