private static void hash_object(CodeEmitter e, Type type, CustomizerRegistry registry) { // (f == null) ? 0 : f.hashCode(); Label skip = e.make_label(); Label end = e.make_label(); e.dup(); e.ifnull(skip); boolean customHashCode = false; for (HashCodeCustomizer customizer : registry.get(HashCodeCustomizer.class)) { if (customizer.customize(e, type)) { customHashCode = true; break; } } if (!customHashCode) { for (Customizer customizer : registry.get(Customizer.class)) { customizer.customize(e, type); } e.invoke_virtual(Constants.TYPE_OBJECT, HASH_CODE); } e.goTo(end); e.mark(skip); e.pop(); e.push(0); e.mark(end); }
private static void hash_object(CodeEmitter e, Type type, CustomizerRegistry registry) { // (f == null) ? 0 : f.hashCode(); Label skip = e.make_label(); Label end = e.make_label(); e.dup(); e.ifnull(skip); boolean customHashCode = false; for (HashCodeCustomizer customizer : registry.get(HashCodeCustomizer.class)) { if (customizer.customize(e, type)) { customHashCode = true; break; } } if (!customHashCode) { for (Customizer customizer : registry.get(Customizer.class)) { customizer.customize(e, type); } e.invoke_virtual(Constants.TYPE_OBJECT, HASH_CODE); } e.goTo(end); e.mark(skip); e.pop(); e.push(0); e.mark(end); }
e.ifnull(skip); for (Customizer customizer : registry.get(Customizer.class)) { customizer.customize(e, type);
e.ifnull(skip); for (Customizer customizer : registry.get(Customizer.class)) { customizer.customize(e, type);
private static void hash_object(CodeEmitter e, Type type, Customizer customizer) { // (f == null) ? 0 : f.hashCode(); Label skip = e.make_label(); Label end = e.make_label(); e.dup(); e.ifnull(skip); if (customizer != null) { customizer.customize(e, type); } e.invoke_virtual(Constants.TYPE_OBJECT, HASH_CODE); e.goTo(end); e.mark(skip); e.pop(); e.push(0); e.mark(end); }
private static void hash_object(CodeEmitter e, Type type, Customizer customizer) { // (f == null) ? 0 : f.hashCode(); Label skip = e.make_label(); Label end = e.make_label(); e.dup(); e.ifnull(skip); if (customizer != null) { customizer.customize(e, type); } e.invoke_virtual(Constants.TYPE_OBJECT, HASH_CODE); e.goTo(end); e.mark(skip); e.pop(); e.push(0); e.mark(end); }
private static void hash_object(CodeEmitter e, Type type, Customizer customizer) { // (f == null) ? 0 : f.hashCode(); Label skip = e.make_label(); Label end = e.make_label(); e.dup(); e.ifnull(skip); if (customizer != null) { customizer.customize(e, type); } e.invoke_virtual(Constants.TYPE_OBJECT, HASH_CODE); e.goTo(end); e.mark(skip); e.pop(); e.push(0); e.mark(end); }
e.ifnull(skip); if (customizer != null) { customizer.customize(e, type);
e.ifnull(skip); if (customizer != null) { customizer.customize(e, type);
e.ifnull(skip); if (customizer != null) { customizer.customize(e, type);