瀏覽代碼

Optional is and isNot null

kindlich 6 年之前
父節點
當前提交
07fa6e2ccb
沒有發現已知的金鑰在資料庫的簽署中

+ 16
- 0
JavaBytecodeCompiler/src/main/java/org/openzen/zenscript/javabytecode/compiler/JavaExpressionVisitor.java 查看文件

@@ -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
 		}

Loading…
取消
儲存