ExpressionBytecode.compile constructor

ExpressionBytecode.compile(
  1. Expression expression
)

expression compiled.

Throws UnsupportedError for a node or a builtin with no opcode (a host's own), and for a dimension over a base outside the eight.

Implementation

factory ExpressionBytecode.compile(Expression expression) {
  final compiler = _BytecodeCompiler();
  final result = compiler.register(expression);
  final program = ExpressionBytecode._(
    compiler.dimensions,
    lanes: compiler.lanes,
    constants: Float64List.fromList(compiler.constants),
    inputs: compiler.inputs,
    code: Uint16List.fromList(compiler.code),
    resultLane: result,
    resultWidth: expression.type.components,
    resultDimension: compiler.dim(expression.type),
  );
  program.verify();
  return program;
}