visitCallExpr method

  1. @override
Uint8List visitCallExpr(
  1. CallExpr expr
)
override

Implementation

@override
Uint8List visitCallExpr(CallExpr expr) {
  final bytesBuilder = BytesBuilder();
  final callee = compileAST(expr.callee);
  bytesBuilder.add(callee);
  bytesBuilder.addByte(HTOpCode.register);
  bytesBuilder.addByte(HTRegIdx.postfixObject);
  bytesBuilder.addByte(HTOpCode.call);
  bytesBuilder.addByte(expr.isNullable ? 1 : 0);
  bytesBuilder.addByte(expr.hasNewOperator ? 1 : 0);
  final argBytes = _parseCallArguments(expr.positionalArgs, expr.namedArgs);
  bytesBuilder.add(_uint16(argBytes.length));
  bytesBuilder.add(argBytes);
  return bytesBuilder.toBytes();
}