Class
AQLExecutionContext
Execution context for Acceleo Query Language (AQL) expressions.
@MainActor final class AQLExecutionContext
Overview
The AQL execution context manages variables, model access, and the delegation of computation to the underlying ECoreExecutionEngine. AQL focuses on efficient querying and navigation without side effects.
Architecture
-
Coordination: Handled on
@MainActor. -
Computation: Delegated to
ECoreExecutionEngineactor.
Example Usage
let engine = ECoreExecutionEngine(...)
let context = AQLExecutionContext(executionEngine: engine)
context.setVariable("self", value: myObject)
let result = try await expression.evaluate(in: context)
Topics
Initializers
?
init(executionEngine:)
Creates a new AQL execution context.
Instance Properties
V
debug
Debug mode flag.
V
executionEngine
The underlying ECore execution engine for heavy computation.
Instance Methods
F
getVariable(_:)
Get a variable value from the current scope or scope stack.
F
navigate(from:property:)
Navigate a property from a source object using the execution engine.
F
popScope()
Pop the current variable scope from the stack.
F
pushScope()
Push a new variable scope onto the stack.
F
setVariable(_:value:)
Set a variable value in the current scope.