Browse Source

ASSOC_[NOT]EQUALS

kindlich 6 years ago
parent
commit
d630af4178
No known key found for this signature in database

+ 5
- 6
JavaBytecodeCompiler/src/main/java/org/openzen/zenscript/javabytecode/compiler/JavaExpressionVisitor.java View File

23
 import java.io.FileOutputStream;
23
 import java.io.FileOutputStream;
24
 import java.io.IOException;
24
 import java.io.IOException;
25
 import java.lang.reflect.Modifier;
25
 import java.lang.reflect.Modifier;
26
-import java.util.Arrays;
27
-import java.util.Comparator;
28
-import java.util.Objects;
29
-import java.util.StringJoiner;
26
+import java.util.*;
30
 
27
 
31
 public class JavaExpressionVisitor implements ExpressionVisitor<Void>, JavaNativeTranslator<Void> {
28
 public class JavaExpressionVisitor implements ExpressionVisitor<Void>, JavaNativeTranslator<Void> {
32
 	private static final JavaMethod BOOLEAN_PARSE = JavaMethod.getNativeStatic(JavaClass.BOOLEAN, "parseBoolean", "(Ljava/lang/String;)Z");
29
 	private static final JavaMethod BOOLEAN_PARSE = JavaMethod.getNativeStatic(JavaClass.BOOLEAN, "parseBoolean", "(Ljava/lang/String;)Z");
144
 	private static final JavaMethod ARRAYS_HASHCODE_DOUBLES = JavaMethod.getNativeStatic(JavaClass.ARRAYS, "hashCode", "([D)I");
141
 	private static final JavaMethod ARRAYS_HASHCODE_DOUBLES = JavaMethod.getNativeStatic(JavaClass.ARRAYS, "hashCode", "([D)I");
145
 	private static final JavaMethod ARRAYS_HASHCODE_CHARS = JavaMethod.getNativeStatic(JavaClass.ARRAYS, "hashCode", "([C)I");
142
 	private static final JavaMethod ARRAYS_HASHCODE_CHARS = JavaMethod.getNativeStatic(JavaClass.ARRAYS, "hashCode", "([C)I");
146
 	public static final JavaMethod OBJECT_HASHCODE = JavaMethod.getNativeVirtual(JavaClass.OBJECT, "hashCode", "()I");
143
 	public static final JavaMethod OBJECT_HASHCODE = JavaMethod.getNativeVirtual(JavaClass.OBJECT, "hashCode", "()I");
144
+	public static final JavaMethod OBJECT_EQUALS = JavaMethod.getNativeVirtual(JavaClass.OBJECT, "equals", "(Ljava/lang/Object)Z");
147
 	private static final JavaMethod COLLECTION_SIZE = JavaMethod.getNativeVirtual(JavaClass.COLLECTION, "size", "()I");
145
 	private static final JavaMethod COLLECTION_SIZE = JavaMethod.getNativeVirtual(JavaClass.COLLECTION, "size", "()I");
148
 	private static final JavaMethod COLLECTION_TOARRAY = JavaMethod.getNativeVirtual(JavaClass.COLLECTION, "toArray", "([Ljava/lang/Object;)[Ljava/lang/Object;");
146
 	private static final JavaMethod COLLECTION_TOARRAY = JavaMethod.getNativeVirtual(JavaClass.COLLECTION, "toArray", "([Ljava/lang/Object;)[Ljava/lang/Object;");
149
 
147
 
884
 				javaWriter.invokeVirtual(MAP_CONTAINS_KEY);
882
 				javaWriter.invokeVirtual(MAP_CONTAINS_KEY);
885
 				break;
883
 				break;
886
 			case ASSOC_EQUALS:
884
 			case ASSOC_EQUALS:
887
-				throw new UnsupportedOperationException("Not yet supported!");
885
+				javaWriter.invokeVirtual(OBJECT_EQUALS);
888
 			case ASSOC_NOTEQUALS:
886
 			case ASSOC_NOTEQUALS:
889
-				throw new UnsupportedOperationException("Not yet supported!");
887
+				javaWriter.invokeVirtual(OBJECT_EQUALS);
888
+				javaWriter.iXorVs1();
890
 			case ASSOC_SAME:
889
 			case ASSOC_SAME:
891
 			case GENERICMAP_SAME:
890
 			case GENERICMAP_SAME:
892
 			case ARRAY_SAME:
891
 			case ARRAY_SAME:

Loading…
Cancel
Save