visitNominalTypeExpr method
Implementation
@override
Uint8List visitNominalTypeExpr(NominalTypeExpr expr) {
final bytesBuilder = BytesBuilder();
if (expr.isLocal) {
bytesBuilder.addByte(HTOpCode.local);
}
bytesBuilder.addByte(HTValueTypeCode.nominalType);
bytesBuilder.add(_parseIdentifier(expr.id.id));
bytesBuilder.addByte(expr.arguments.length); // max 255
for (final expr in expr.arguments) {
final typeArg = compileAST(expr); // dont' need end of exec mark here
bytesBuilder.add(typeArg);
}
bytesBuilder.addByte(expr.isNullable ? 1 : 0); // bool isNullable
return bytesBuilder.toBytes();
}