Source/sources/gnu/kawa/slib/srfi13.java
public Object lambda215(Object to, Object start, Object end) {
            Object slen = AddOp.$Mn.apply2(end, start);
            Object anslen = AddOp.$Mn.apply2(to, this.from);
            try {
                if (numbers.isZero((Number) anslen)) {
                    return "";
                }
                try {
                    if (numbers.isZero((Number) slen)) {
                        return misc.error$V("Cannot replicate empty (sub)string", new Object[]{srfi13.xsubstring, this.f221s, this.from, to, start, end});
                    } else if (Scheme.numEqu.apply2(srfi13.Lit1, slen) != Boolean.FALSE) {
                        try {
                            int intValue = ((Number) anslen).intValue();
                            Object obj = this.f221s;
                            try {
                                try {
                                    return strings.makeString(intValue, Char.make(strings.stringRef((CharSequence) obj, ((Number) start).intValue())));
                                } catch (ClassCastException e) {
                                    throw new WrongType(e, "string-ref", 2, start);
                                }
                            } catch (ClassCastException e2) {
                                throw new WrongType(e2, "string-ref", 1, obj);
                            }
                        } catch (ClassCastException e3) {
                            throw new WrongType(e3, "make-string", 1, anslen);
                        }
                    } else {
                        Object apply2 = DivideOp.$Sl.apply2(this.from, slen);
                        try {
                            double doubleValue = numbers.floor(LangObjType.coerceRealNum(apply2)).doubleValue();
                            Object apply22 = DivideOp.$Sl.apply2(to, slen);
                            try {
                                if (doubleValue == numbers.floor(LangObjType.coerceRealNum(apply22)).doubleValue()) {
                                    Object obj2 = this.f221s;
                                    try {
                                        CharSequence charSequence = (CharSequence) obj2;
                                        Object apply23 = AddOp.$Pl.apply2(start, DivideOp.modulo.apply2(this.from, slen));
                                        try {
                                            int intValue2 = ((Number) apply23).intValue();
                                            Object apply24 = AddOp.$Pl.apply2(start, DivideOp.modulo.apply2(to, slen));
                                            try {
                                                return strings.substring(charSequence, intValue2, ((Number) apply24).intValue());
                                            } catch (ClassCastException e4) {
                                                throw new WrongType(e4, "substring", 3, apply24);
                                            }
                                        } catch (ClassCastException e5) {
                                            throw new WrongType(e5, "substring", 2, apply23);
                                        }
                                    } catch (ClassCastException e6) {
                                        throw new WrongType(e6, "substring", 1, obj2);
                                    }
                                } else {
                                    try {
                                        CharSequence ans = strings.makeString(((Number) anslen).intValue());
                                        srfi13.$PcMultispanRepcopy$Ex(ans, srfi13.Lit0, this.f221s, this.from, to, start, end);
                                        return ans;
                                    } catch (ClassCastException e7) {
                                        throw new WrongType(e7, "make-string", 1, anslen);
                                    }
                                }
                            } catch (ClassCastException e8) {
                                throw new WrongType(e8, "floor", 1, apply22);
                            }
                        } catch (ClassCastException e9) {
                            throw new WrongType(e9, "floor", 1, apply2);
                        }
                    }
                } catch (ClassCastException e10) {
                    throw new WrongType(e10, "zero?", 1, slen);
                }
            } catch (ClassCastException e11) {
                throw new WrongType(e11, "zero?", 1, anslen);
            }
        }
/* access modifiers changed from: 0000 */
access modifiers changed from: 0000
access modifiers changed from : 0000
public Object lambda215(Object to, Object start, Object end) {
            Object slen = AddOp.$Mn.apply2(end, start);
            Object anslen = AddOp.$Mn.apply2(to, this.from);
            try {
                if (numbers.isZero((Number) anslen)) {
                    return "";
                }
                try {
                    if (numbers.isZero((Number) slen)) {
                        return misc.error$V("Cannot replicate empty (sub)string", new Object[]{srfi13.xsubstring, this.f221s, this.from, to, start, end});
                    } else if (Scheme.numEqu.apply2(srfi13.Lit1, slen) != Boolean.FALSE) {
                        try {
                            int intValue = ((Number) anslen).intValue();
                            Object obj = this.f221s;
                            try {
                                try {
                                    return strings.makeString(intValue, Char.make(strings.stringRef((CharSequence) obj, ((Number) start).intValue())));
                                } catch (ClassCastException e) {
                                    throw new WrongType(e, "string-ref", 2, start);
                                }
                            } catch (ClassCastException e2) {
                                throw new WrongType(e2, "string-ref", 1, obj);
                            }
                        } catch (ClassCastException e3) {
                            throw new WrongType(e3, "make-string", 1, anslen);
                        }
                    } else {
                        Object apply2 = DivideOp.$Sl.apply2(this.from, slen);
                        try {
                            double doubleValue = numbers.floor(LangObjType.coerceRealNum(apply2)).doubleValue();
                            Object apply22 = DivideOp.$Sl.apply2(to, slen);
                            try {
                                if (doubleValue == numbers.floor(LangObjType.coerceRealNum(apply22)).doubleValue()) {
                                    Object obj2 = this.f221s;
                                    try {
                                        CharSequence charSequence = (CharSequence) obj2;
                                        Object apply23 = AddOp.$Pl.apply2(start, DivideOp.modulo.apply2(this.from, slen));
                                        try {
                                            int intValue2 = ((Number) apply23).intValue();
                                            Object apply24 = AddOp.$Pl.apply2(start, DivideOp.modulo.apply2(to, slen));
                                            try {
                                                return strings.substring(charSequence, intValue2, ((Number) apply24).intValue());
                                            } catch (ClassCastException e4) {
                                                throw new WrongType(e4, "substring", 3, apply24);
                                            }
                                        } catch (ClassCastException e5) {
                                            throw new WrongType(e5, "substring", 2, apply23);
                                        }
                                    } catch (ClassCastException e6) {
                                        throw new WrongType(e6, "substring", 1, obj2);
                                    }
                                } else {
                                    try {
                                        CharSequence ans = strings.makeString(((Number) anslen).intValue());
                                        srfi13.$PcMultispanRepcopy$Ex(ans, srfi13.Lit0, this.f221s, this.from, to, start, end);
                                        return ans;
                                    } catch (ClassCastException e7) {
                                        throw new WrongType(e7, "make-string", 1, anslen);
                                    }
                                }
                            } catch (ClassCastException e8) {
                                throw new WrongType(e8, "floor", 1, apply22);
                            }
                        } catch (ClassCastException e9) {
                            throw new WrongType(e9, "floor", 1, apply2);
                        }
                    }
                } catch (ClassCastException e10) {
                    throw new WrongType(e10, "zero?", 1, slen);
                }
            } catch (ClassCastException e11) {
                throw new WrongType(e11, "zero?", 1, anslen);
            }
        }
public Object lambda215 ( Object to , Object start , Object end ) { Object slen = AddOp . $Mn . apply2 ( end , start ) ; Object anslen = AddOp . $Mn . apply2 ( to , this . from ) ; try { if ( numbers . isZero ( ( Number ) anslen ) ) { return "" ; } try { if ( numbers . isZero ( ( Number ) slen ) ) { return misc . error$V ( "Cannot replicate empty (sub)string" , new Object [ ] { srfi13 . xsubstring , this . f221s , this . from , to , start , end } ) ; } else if ( Scheme . numEqu . apply2 ( srfi13 . Lit1 , slen ) != Boolean . FALSE ) { try { int intValue = ( ( Number ) anslen ) . intValue ( ) ; Object obj = this . f221s ; try { try { return strings . makeString ( intValue , Char . make ( strings . stringRef ( ( CharSequence ) obj , ( ( Number ) start ) . intValue ( ) ) ) ) ; } catch ( ClassCastException e ) { throw new WrongType ( e , "string-ref" , 2 , start ) ; } } catch ( ClassCastException e2 ) { throw new WrongType ( e2 , "string-ref" , 1 , obj ) ; } } catch ( ClassCastException e3 ) { throw new WrongType ( e3 , "make-string" , 1 , anslen ) ; } } else { Object apply2 = DivideOp . $Sl . apply2 ( this . from , slen ) ; try { double doubleValue = numbers . floor ( LangObjType . coerceRealNum ( apply2 ) ) . doubleValue ( ) ; Object apply22 = DivideOp . $Sl . apply2 ( to , slen ) ; try { if ( doubleValue == numbers . floor ( LangObjType . coerceRealNum ( apply22 ) ) . doubleValue ( ) ) { Object obj2 = this . f221s ; try { CharSequence charSequence = ( CharSequence ) obj2 ; Object apply23 = AddOp . $Pl . apply2 ( start , DivideOp . modulo . apply2 ( this . from , slen ) ) ; try { int intValue2 = ( ( Number ) apply23 ) . intValue ( ) ; Object apply24 = AddOp . $Pl . apply2 ( start , DivideOp . modulo . apply2 ( to , slen ) ) ; try { return strings . substring ( charSequence , intValue2 , ( ( Number ) apply24 ) . intValue ( ) ) ; } catch ( ClassCastException e4 ) { throw new WrongType ( e4 , "substring" , 3 , apply24 ) ; } } catch ( ClassCastException e5 ) { throw new WrongType ( e5 , "substring" , 2 , apply23 ) ; } } catch ( ClassCastException e6 ) { throw new WrongType ( e6 , "substring" , 1 , obj2 ) ; } } else { try { CharSequence ans = strings . makeString ( ( ( Number ) anslen ) . intValue ( ) ) ; srfi13 . $PcMultispanRepcopy$Ex ( ans , srfi13 . Lit0 , this . f221s , this . from , to , start , end ) ; return ans ; } catch ( ClassCastException e7 ) { throw new WrongType ( e7 , "make-string" , 1 , anslen ) ; } } } catch ( ClassCastException e8 ) { throw new WrongType ( e8 , "floor" , 1 , apply22 ) ; } } catch ( ClassCastException e9 ) { throw new WrongType ( e9 , "floor" , 1 , apply2 ) ; } } } catch ( ClassCastException e10 ) { throw new WrongType ( e10 , "zero?" , 1 , slen ) ; } } catch ( ClassCastException e11 ) { throw new WrongType ( e11 , "zero?" , 1 , anslen ) ; } }
access modifiers changed from: 0000
access modifiers changed from : 0000