visitUnaryPrefixExpr method
-e, !e, ~e, ++e, --e, await e
Implementation
@override
Uint8List visitUnaryPrefixExpr(UnaryPrefixExpr expr) {
final bytesBuilder = BytesBuilder();
final value = compileAST(expr.object);
if (expr.op == _lexicon.negative) {
bytesBuilder.add(value);
bytesBuilder.addByte(OpCode.negative);
} else if (expr.op == _lexicon.logicalNot) {
bytesBuilder.add(value);
bytesBuilder.addByte(OpCode.logicalNot);
} else if (expr.op == _lexicon.bitwiseNot) {
bytesBuilder.add(value);
bytesBuilder.addByte(OpCode.bitwiseNot);
} else if (expr.op == _lexicon.kTypeValueOf) {
bytesBuilder.add(value);
bytesBuilder.addByte(OpCode.typeValueOf);
} else if (expr.op == _lexicon.kDeclTypeof) {
bytesBuilder.add(value);
bytesBuilder.addByte(OpCode.decltypeOf);
} else if (expr.op == _lexicon.kAwait) {
bytesBuilder.add(value);
bytesBuilder.addByte(OpCode.awaitedValue);
}
return bytesBuilder.toBytes();
}