Source/sources/gnu/kawa/reflect/SlotSet.java
public static void apply(boolean r21, java.lang.Object r22, java.lang.Object r23, java.lang.Object r24) {
        /*
            gnu.expr.Language r13 = gnu.expr.Language.getDefaultLanguage()
            r12 = 0
            r0 = r23
            boolean r0 = r0 instanceof java.lang.String
            r18 = r0
            if (r18 != 0) goto L_0x001d
            r0 = r23
            boolean r0 = r0 instanceof gnu.lists.FString
            r18 = r0
            if (r18 != 0) goto L_0x001d
            r0 = r23
            boolean r0 = r0 instanceof gnu.mapping.Symbol
            r18 = r0
            if (r18 == 0) goto L_0x0054
        L_0x001d:
            java.lang.String r14 = r23.toString()
            java.lang.String r6 = gnu.expr.Compilation.mangleNameIfNeeded(r14)
            if (r21 == 0) goto L_0x004f
            java.lang.Class r3 = gnu.kawa.reflect.SlotGet.coerceToClass(r22)
        L_0x002b:
            r0 = r23
            boolean r0 = r0 instanceof gnu.bytecode.Field     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r18 = r0
            if (r18 == 0) goto L_0x005f
            r0 = r23
            gnu.bytecode.Field r0 = (gnu.bytecode.Field) r0     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r18 = r0
            java.lang.reflect.Field r5 = r18.getReflectField()     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
        L_0x003d:
            java.lang.Class r7 = r5.getType()     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r0 = r24
            java.lang.Object r18 = r13.coerceFromObject(r7, r0)     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r0 = r22
            r1 = r18
            r5.set(r0, r1)     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
        L_0x004e:
            return
        L_0x004f:
            java.lang.Class r3 = r22.getClass()
            goto L_0x002b
        L_0x0054:
            r18 = r23
            gnu.bytecode.Member r18 = (gnu.bytecode.Member) r18
            java.lang.String r14 = r18.getName()
            r6 = r14
            r3 = 0
            goto L_0x002b
        L_0x005f:
            java.lang.reflect.Field r5 = r3.getField(r6)     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            goto L_0x003d
        L_0x0064:
            r4 = move-exception
            r12 = 1
        L_0x0066:
            r10 = 0
            r0 = r23
            boolean r11 = r0 instanceof gnu.bytecode.Method     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            if (r11 == 0) goto L_0x00e2
            r16 = r6
        L_0x006f:
            if (r11 == 0) goto L_0x007e
            java.lang.String r18 = "set"
            r0 = r16
            r1 = r18
            boolean r18 = r0.startsWith(r1)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            if (r18 != 0) goto L_0x007e
            r11 = 0
        L_0x007e:
            if (r11 == 0) goto L_0x00eb
            java.lang.StringBuilder r18 = new java.lang.StringBuilder     // Catch:{ Exception -> 0x00f4 }
            r18.<init>()     // Catch:{ Exception -> 0x00f4 }
            java.lang.String r19 = "get"
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ Exception -> 0x00f4 }
            r19 = 3
            r0 = r16
            r1 = r19
            java.lang.String r19 = r0.substring(r1)     // Catch:{ Exception -> 0x00f4 }
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ Exception -> 0x00f4 }
            java.lang.String r9 = r18.toString()     // Catch:{ Exception -> 0x00f4 }
        L_0x009d:
            java.lang.Class[] r18 = gnu.kawa.reflect.SlotGet.noClasses     // Catch:{ Exception -> 0x00f4 }
            r0 = r18
            java.lang.reflect.Method r10 = r3.getMethod(r9, r0)     // Catch:{ Exception -> 0x00f4 }
        L_0x00a5:
            r18 = 1
            r0 = r18
            java.lang.Class[] r15 = new java.lang.Class[r0]     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18 = 0
            java.lang.Class r19 = r10.getReturnType()     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r15[r18] = r19     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r16
            java.lang.reflect.Method r17 = r3.getMethod(r0, r15)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18 = 1
            r0 = r18
            java.lang.Object[] r2 = new java.lang.Object[r0]     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18 = 0
            r19 = 0
            r19 = r15[r19]     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r19
            r1 = r24
            java.lang.Object r19 = r13.coerceFromObject(r0, r1)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r2[r18] = r19     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r17
            r1 = r22
            r0.invoke(r1, r2)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x004e
        L_0x00d8:
            r4 = move-exception
            java.lang.Throwable r18 = r4.getTargetException()
            java.lang.RuntimeException r18 = gnu.mapping.WrappedException.wrapIfNeeded(r18)
            throw r18
        L_0x00e2:
            java.lang.String r18 = "set"
            r0 = r18
            java.lang.String r16 = gnu.expr.ClassExp.slotToMethodName(r0, r14)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x006f
        L_0x00eb:
            java.lang.String r18 = "get"
            r0 = r18
            java.lang.String r9 = gnu.expr.ClassExp.slotToMethodName(r0, r14)     // Catch:{ Exception -> 0x00f4 }
            goto L_0x009d
        L_0x00f4:
            r8 = move-exception
            if (r11 == 0) goto L_0x011d
            java.lang.StringBuilder r18 = new java.lang.StringBuilder     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18.<init>()     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            java.lang.String r19 = "is"
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r19 = 3
            r0 = r16
            r1 = r19
            java.lang.String r19 = r0.substring(r1)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            java.lang.String r9 = r18.toString()     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
        L_0x0114:
            java.lang.Class[] r18 = gnu.kawa.reflect.SlotGet.noClasses     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r18
            java.lang.reflect.Method r10 = r3.getMethod(r9, r0)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x00a5
        L_0x011d:
            java.lang.String r18 = "is"
            r0 = r18
            java.lang.String r9 = gnu.expr.ClassExp.slotToMethodName(r0, r14)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x0114
        L_0x0126:
            r4 = move-exception
            r12 = 1
        L_0x0128:
            if (r12 == 0) goto L_0x0145
            java.lang.RuntimeException r18 = new java.lang.RuntimeException
            java.lang.StringBuilder r19 = new java.lang.StringBuilder
            r19.<init>()
            java.lang.String r20 = "illegal access for field "
            java.lang.StringBuilder r19 = r19.append(r20)
            r0 = r19
            java.lang.StringBuilder r19 = r0.append(r14)
            java.lang.String r19 = r19.toString()
            r18.<init>(r19)
            throw r18
        L_0x0145:
            java.lang.RuntimeException r18 = new java.lang.RuntimeException
            java.lang.StringBuilder r19 = new java.lang.StringBuilder
            r19.<init>()
            java.lang.String r20 = "no such field "
            java.lang.StringBuilder r19 = r19.append(r20)
            r0 = r19
            java.lang.StringBuilder r19 = r0.append(r14)
            java.lang.String r20 = " in "
            java.lang.StringBuilder r19 = r19.append(r20)
            java.lang.String r20 = r3.getName()
            java.lang.StringBuilder r19 = r19.append(r20)
            java.lang.String r19 = r19.toString()
            r18.<init>(r19)
            throw r18
        L_0x016e:
            r18 = move-exception
            goto L_0x0128
        L_0x0170:
            r18 = move-exception
            goto L_0x0066
        */
        throw new UnsupportedOperationException("Method not decompiled: gnu.kawa.reflect.SlotSet.apply(boolean, java.lang.Object, java.lang.Object, java.lang.Object):void");
    }
/* Code decompiled incorrectly, please refer to instructions dump. */
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .
public static void apply(boolean r21, java.lang.Object r22, java.lang.Object r23, java.lang.Object r24) {
        /*
            gnu.expr.Language r13 = gnu.expr.Language.getDefaultLanguage()
            r12 = 0
            r0 = r23
            boolean r0 = r0 instanceof java.lang.String
            r18 = r0
            if (r18 != 0) goto L_0x001d
            r0 = r23
            boolean r0 = r0 instanceof gnu.lists.FString
            r18 = r0
            if (r18 != 0) goto L_0x001d
            r0 = r23
            boolean r0 = r0 instanceof gnu.mapping.Symbol
            r18 = r0
            if (r18 == 0) goto L_0x0054
        L_0x001d:
            java.lang.String r14 = r23.toString()
            java.lang.String r6 = gnu.expr.Compilation.mangleNameIfNeeded(r14)
            if (r21 == 0) goto L_0x004f
            java.lang.Class r3 = gnu.kawa.reflect.SlotGet.coerceToClass(r22)
        L_0x002b:
            r0 = r23
            boolean r0 = r0 instanceof gnu.bytecode.Field     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r18 = r0
            if (r18 == 0) goto L_0x005f
            r0 = r23
            gnu.bytecode.Field r0 = (gnu.bytecode.Field) r0     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r18 = r0
            java.lang.reflect.Field r5 = r18.getReflectField()     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
        L_0x003d:
            java.lang.Class r7 = r5.getType()     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r0 = r24
            java.lang.Object r18 = r13.coerceFromObject(r7, r0)     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r0 = r22
            r1 = r18
            r5.set(r0, r1)     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
        L_0x004e:
            return
        L_0x004f:
            java.lang.Class r3 = r22.getClass()
            goto L_0x002b
        L_0x0054:
            r18 = r23
            gnu.bytecode.Member r18 = (gnu.bytecode.Member) r18
            java.lang.String r14 = r18.getName()
            r6 = r14
            r3 = 0
            goto L_0x002b
        L_0x005f:
            java.lang.reflect.Field r5 = r3.getField(r6)     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            goto L_0x003d
        L_0x0064:
            r4 = move-exception
            r12 = 1
        L_0x0066:
            r10 = 0
            r0 = r23
            boolean r11 = r0 instanceof gnu.bytecode.Method     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            if (r11 == 0) goto L_0x00e2
            r16 = r6
        L_0x006f:
            if (r11 == 0) goto L_0x007e
            java.lang.String r18 = "set"
            r0 = r16
            r1 = r18
            boolean r18 = r0.startsWith(r1)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            if (r18 != 0) goto L_0x007e
            r11 = 0
        L_0x007e:
            if (r11 == 0) goto L_0x00eb
            java.lang.StringBuilder r18 = new java.lang.StringBuilder     // Catch:{ Exception -> 0x00f4 }
            r18.<init>()     // Catch:{ Exception -> 0x00f4 }
            java.lang.String r19 = "get"
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ Exception -> 0x00f4 }
            r19 = 3
            r0 = r16
            r1 = r19
            java.lang.String r19 = r0.substring(r1)     // Catch:{ Exception -> 0x00f4 }
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ Exception -> 0x00f4 }
            java.lang.String r9 = r18.toString()     // Catch:{ Exception -> 0x00f4 }
        L_0x009d:
            java.lang.Class[] r18 = gnu.kawa.reflect.SlotGet.noClasses     // Catch:{ Exception -> 0x00f4 }
            r0 = r18
            java.lang.reflect.Method r10 = r3.getMethod(r9, r0)     // Catch:{ Exception -> 0x00f4 }
        L_0x00a5:
            r18 = 1
            r0 = r18
            java.lang.Class[] r15 = new java.lang.Class[r0]     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18 = 0
            java.lang.Class r19 = r10.getReturnType()     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r15[r18] = r19     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r16
            java.lang.reflect.Method r17 = r3.getMethod(r0, r15)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18 = 1
            r0 = r18
            java.lang.Object[] r2 = new java.lang.Object[r0]     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18 = 0
            r19 = 0
            r19 = r15[r19]     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r19
            r1 = r24
            java.lang.Object r19 = r13.coerceFromObject(r0, r1)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r2[r18] = r19     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r17
            r1 = r22
            r0.invoke(r1, r2)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x004e
        L_0x00d8:
            r4 = move-exception
            java.lang.Throwable r18 = r4.getTargetException()
            java.lang.RuntimeException r18 = gnu.mapping.WrappedException.wrapIfNeeded(r18)
            throw r18
        L_0x00e2:
            java.lang.String r18 = "set"
            r0 = r18
            java.lang.String r16 = gnu.expr.ClassExp.slotToMethodName(r0, r14)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x006f
        L_0x00eb:
            java.lang.String r18 = "get"
            r0 = r18
            java.lang.String r9 = gnu.expr.ClassExp.slotToMethodName(r0, r14)     // Catch:{ Exception -> 0x00f4 }
            goto L_0x009d
        L_0x00f4:
            r8 = move-exception
            if (r11 == 0) goto L_0x011d
            java.lang.StringBuilder r18 = new java.lang.StringBuilder     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18.<init>()     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            java.lang.String r19 = "is"
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r19 = 3
            r0 = r16
            r1 = r19
            java.lang.String r19 = r0.substring(r1)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            java.lang.String r9 = r18.toString()     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
        L_0x0114:
            java.lang.Class[] r18 = gnu.kawa.reflect.SlotGet.noClasses     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r18
            java.lang.reflect.Method r10 = r3.getMethod(r9, r0)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x00a5
        L_0x011d:
            java.lang.String r18 = "is"
            r0 = r18
            java.lang.String r9 = gnu.expr.ClassExp.slotToMethodName(r0, r14)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x0114
        L_0x0126:
            r4 = move-exception
            r12 = 1
        L_0x0128:
            if (r12 == 0) goto L_0x0145
            java.lang.RuntimeException r18 = new java.lang.RuntimeException
            java.lang.StringBuilder r19 = new java.lang.StringBuilder
            r19.<init>()
            java.lang.String r20 = "illegal access for field "
            java.lang.StringBuilder r19 = r19.append(r20)
            r0 = r19
            java.lang.StringBuilder r19 = r0.append(r14)
            java.lang.String r19 = r19.toString()
            r18.<init>(r19)
            throw r18
        L_0x0145:
            java.lang.RuntimeException r18 = new java.lang.RuntimeException
            java.lang.StringBuilder r19 = new java.lang.StringBuilder
            r19.<init>()
            java.lang.String r20 = "no such field "
            java.lang.StringBuilder r19 = r19.append(r20)
            r0 = r19
            java.lang.StringBuilder r19 = r0.append(r14)
            java.lang.String r20 = " in "
            java.lang.StringBuilder r19 = r19.append(r20)
            java.lang.String r20 = r3.getName()
            java.lang.StringBuilder r19 = r19.append(r20)
            java.lang.String r19 = r19.toString()
            r18.<init>(r19)
            throw r18
        L_0x016e:
            r18 = move-exception
            goto L_0x0128
        L_0x0170:
            r18 = move-exception
            goto L_0x0066
        */
        throw new UnsupportedOperationException("Method not decompiled: gnu.kawa.reflect.SlotSet.apply(boolean, java.lang.Object, java.lang.Object, java.lang.Object):void");
    }
public static void apply ( boolean r21 , java . lang . Object r22 , java . lang . Object r23 , java . lang . Object r24 ) { /*
            gnu.expr.Language r13 = gnu.expr.Language.getDefaultLanguage()
            r12 = 0
            r0 = r23
            boolean r0 = r0 instanceof java.lang.String
            r18 = r0
            if (r18 != 0) goto L_0x001d
            r0 = r23
            boolean r0 = r0 instanceof gnu.lists.FString
            r18 = r0
            if (r18 != 0) goto L_0x001d
            r0 = r23
            boolean r0 = r0 instanceof gnu.mapping.Symbol
            r18 = r0
            if (r18 == 0) goto L_0x0054
        L_0x001d:
            java.lang.String r14 = r23.toString()
            java.lang.String r6 = gnu.expr.Compilation.mangleNameIfNeeded(r14)
            if (r21 == 0) goto L_0x004f
            java.lang.Class r3 = gnu.kawa.reflect.SlotGet.coerceToClass(r22)
        L_0x002b:
            r0 = r23
            boolean r0 = r0 instanceof gnu.bytecode.Field     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r18 = r0
            if (r18 == 0) goto L_0x005f
            r0 = r23
            gnu.bytecode.Field r0 = (gnu.bytecode.Field) r0     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r18 = r0
            java.lang.reflect.Field r5 = r18.getReflectField()     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
        L_0x003d:
            java.lang.Class r7 = r5.getType()     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r0 = r24
            java.lang.Object r18 = r13.coerceFromObject(r7, r0)     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            r0 = r22
            r1 = r18
            r5.set(r0, r1)     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
        L_0x004e:
            return
        L_0x004f:
            java.lang.Class r3 = r22.getClass()
            goto L_0x002b
        L_0x0054:
            r18 = r23
            gnu.bytecode.Member r18 = (gnu.bytecode.Member) r18
            java.lang.String r14 = r18.getName()
            r6 = r14
            r3 = 0
            goto L_0x002b
        L_0x005f:
            java.lang.reflect.Field r5 = r3.getField(r6)     // Catch:{ NoSuchFieldException -> 0x0170, IllegalAccessException -> 0x0064 }
            goto L_0x003d
        L_0x0064:
            r4 = move-exception
            r12 = 1
        L_0x0066:
            r10 = 0
            r0 = r23
            boolean r11 = r0 instanceof gnu.bytecode.Method     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            if (r11 == 0) goto L_0x00e2
            r16 = r6
        L_0x006f:
            if (r11 == 0) goto L_0x007e
            java.lang.String r18 = "set"
            r0 = r16
            r1 = r18
            boolean r18 = r0.startsWith(r1)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            if (r18 != 0) goto L_0x007e
            r11 = 0
        L_0x007e:
            if (r11 == 0) goto L_0x00eb
            java.lang.StringBuilder r18 = new java.lang.StringBuilder     // Catch:{ Exception -> 0x00f4 }
            r18.<init>()     // Catch:{ Exception -> 0x00f4 }
            java.lang.String r19 = "get"
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ Exception -> 0x00f4 }
            r19 = 3
            r0 = r16
            r1 = r19
            java.lang.String r19 = r0.substring(r1)     // Catch:{ Exception -> 0x00f4 }
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ Exception -> 0x00f4 }
            java.lang.String r9 = r18.toString()     // Catch:{ Exception -> 0x00f4 }
        L_0x009d:
            java.lang.Class[] r18 = gnu.kawa.reflect.SlotGet.noClasses     // Catch:{ Exception -> 0x00f4 }
            r0 = r18
            java.lang.reflect.Method r10 = r3.getMethod(r9, r0)     // Catch:{ Exception -> 0x00f4 }
        L_0x00a5:
            r18 = 1
            r0 = r18
            java.lang.Class[] r15 = new java.lang.Class[r0]     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18 = 0
            java.lang.Class r19 = r10.getReturnType()     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r15[r18] = r19     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r16
            java.lang.reflect.Method r17 = r3.getMethod(r0, r15)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18 = 1
            r0 = r18
            java.lang.Object[] r2 = new java.lang.Object[r0]     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18 = 0
            r19 = 0
            r19 = r15[r19]     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r19
            r1 = r24
            java.lang.Object r19 = r13.coerceFromObject(r0, r1)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r2[r18] = r19     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r17
            r1 = r22
            r0.invoke(r1, r2)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x004e
        L_0x00d8:
            r4 = move-exception
            java.lang.Throwable r18 = r4.getTargetException()
            java.lang.RuntimeException r18 = gnu.mapping.WrappedException.wrapIfNeeded(r18)
            throw r18
        L_0x00e2:
            java.lang.String r18 = "set"
            r0 = r18
            java.lang.String r16 = gnu.expr.ClassExp.slotToMethodName(r0, r14)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x006f
        L_0x00eb:
            java.lang.String r18 = "get"
            r0 = r18
            java.lang.String r9 = gnu.expr.ClassExp.slotToMethodName(r0, r14)     // Catch:{ Exception -> 0x00f4 }
            goto L_0x009d
        L_0x00f4:
            r8 = move-exception
            if (r11 == 0) goto L_0x011d
            java.lang.StringBuilder r18 = new java.lang.StringBuilder     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r18.<init>()     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            java.lang.String r19 = "is"
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r19 = 3
            r0 = r16
            r1 = r19
            java.lang.String r19 = r0.substring(r1)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            java.lang.StringBuilder r18 = r18.append(r19)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            java.lang.String r9 = r18.toString()     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
        L_0x0114:
            java.lang.Class[] r18 = gnu.kawa.reflect.SlotGet.noClasses     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            r0 = r18
            java.lang.reflect.Method r10 = r3.getMethod(r9, r0)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x00a5
        L_0x011d:
            java.lang.String r18 = "is"
            r0 = r18
            java.lang.String r9 = gnu.expr.ClassExp.slotToMethodName(r0, r14)     // Catch:{ InvocationTargetException -> 0x00d8, IllegalAccessException -> 0x0126, NoSuchMethodException -> 0x016e }
            goto L_0x0114
        L_0x0126:
            r4 = move-exception
            r12 = 1
        L_0x0128:
            if (r12 == 0) goto L_0x0145
            java.lang.RuntimeException r18 = new java.lang.RuntimeException
            java.lang.StringBuilder r19 = new java.lang.StringBuilder
            r19.<init>()
            java.lang.String r20 = "illegal access for field "
            java.lang.StringBuilder r19 = r19.append(r20)
            r0 = r19
            java.lang.StringBuilder r19 = r0.append(r14)
            java.lang.String r19 = r19.toString()
            r18.<init>(r19)
            throw r18
        L_0x0145:
            java.lang.RuntimeException r18 = new java.lang.RuntimeException
            java.lang.StringBuilder r19 = new java.lang.StringBuilder
            r19.<init>()
            java.lang.String r20 = "no such field "
            java.lang.StringBuilder r19 = r19.append(r20)
            r0 = r19
            java.lang.StringBuilder r19 = r0.append(r14)
            java.lang.String r20 = " in "
            java.lang.StringBuilder r19 = r19.append(r20)
            java.lang.String r20 = r3.getName()
            java.lang.StringBuilder r19 = r19.append(r20)
            java.lang.String r19 = r19.toString()
            r18.<init>(r19)
            throw r18
        L_0x016e:
            r18 = move-exception
            goto L_0x0128
        L_0x0170:
            r18 = move-exception
            goto L_0x0066
        */ throw new UnsupportedOperationException ( "Method not decompiled: gnu.kawa.reflect.SlotSet.apply(boolean, java.lang.Object, java.lang.Object, java.lang.Object):void" ) ; }
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .