visitSubExpr method

  1. @override
Uint8List visitSubExpr(
  1. SubExpr expr
)
override

Implementation

@override
Uint8List visitSubExpr(SubExpr expr) {
  final bytesBuilder = BytesBuilder();
  final array = compileAST(expr.object);
  bytesBuilder.add(array);
  bytesBuilder.addByte(HTOpCode.register);
  bytesBuilder.addByte(HTRegIdx.postfixObject);
  final key = compileAST(expr.key, endOfExec: true);
  bytesBuilder.addByte(HTOpCode.subGet);
  bytesBuilder.addByte(expr.isNullable ? 1 : 0);
  bytesBuilder.add(_uint16(key.length));
  bytesBuilder.add(key);
  return bytesBuilder.toBytes();
}