/** * Expression evaluation for constant propagation. * * Evaluates AST expressions to determine their constant values. */ import type { Node } from 'web-tree-sitter'; import type { ConstantValue } from './types.js'; /** * Expression evaluator for constant propagation. * * Takes a symbol lookup function to resolve variable values, * allowing it to be used with different symbol tables. */ export declare class ExpressionEvaluator { private source; private getSymbol; constructor(source: string, getSymbol: (name: string) => ConstantValue | undefined); /** * Evaluate an expression node to determine its constant value. */ evaluate(node: Node): ConstantValue; private evaluateBinary; private evaluateUnary; private evaluateTernary; private evaluateMethodCall; private evaluateFieldAccess; /** * Get argument values from an argument list node. */ getArgumentValues(argsNode: Node): ConstantValue[]; private unescapeChar; } //# sourceMappingURL=evaluator.d.ts.map