|
@@ -1035,6 +1035,22 @@ public class JavaExpressionVisitor implements ExpressionVisitor<Void>, JavaNativ
|
1035
|
1035
|
break;
|
1036
|
1036
|
case AUTOOP_NOTEQUALS:
|
1037
|
1037
|
throw new UnsupportedOperationException("Not yet supported!");
|
|
1038
|
+ case OPTIONAL_IS_NULL:
|
|
1039
|
+ case OPTIONAL_IS_NOT_NULL:
|
|
1040
|
+ final Label isFalse = new Label();
|
|
1041
|
+ final Label end = new Label();
|
|
1042
|
+
|
|
1043
|
+ if(builtin == BuiltinID.OPTIONAL_IS_NULL)
|
|
1044
|
+ javaWriter.ifNonNull(isFalse);
|
|
1045
|
+ else
|
|
1046
|
+ javaWriter.ifNull(isFalse);
|
|
1047
|
+ javaWriter.iConst1();
|
|
1048
|
+ javaWriter.goTo(end);
|
|
1049
|
+ javaWriter.label(isFalse);
|
|
1050
|
+ javaWriter.iConst0();
|
|
1051
|
+ javaWriter.label(end);
|
|
1052
|
+ break;
|
|
1053
|
+
|
1038
|
1054
|
default:
|
1039
|
1055
|
throw new UnsupportedOperationException("Unknown builtin: " + builtin);
|
1040
|
1056
|
}
|