visitParamTypeExpr method

  1. @override
Uint8List visitParamTypeExpr(
  1. ParamTypeExpr expr
)
override

Implementation

@override
Uint8List visitParamTypeExpr(ParamTypeExpr expr) {
  final bytesBuilder = BytesBuilder();
  // could be function type so use visit ast node instead of visit type expr
  final declTypeBytes = compileAST(expr.declType);
  bytesBuilder.add(declTypeBytes);
  bytesBuilder.addByte(expr.isOptionalPositional ? 1 : 0);
  bytesBuilder.addByte(expr.isVariadic ? 1 : 0);
  if (expr.id != null) {
    bytesBuilder.addByte(1); // bool: isNamed
    bytesBuilder.add(_parseIdentifier(expr.id!.id));
  } else {
    bytesBuilder.addByte(0); // bool: isNamed
  }
  return bytesBuilder.toBytes();
}