cglib/src/main/java/net/sf/cglib/reflect/FastClassEmitter.java
private void emitIndexBySignature(List methods) {
        CodeEmitter e = begin_method(Constants.ACC_PUBLIC, SIGNATURE_GET_INDEX, null);
        List signatures = CollectionUtils.transform(methods, new Transformer() {
            public Object transform(Object obj) {
                return ReflectUtils.getSignature((Method)obj).toString();
            }
        });
        e.load_arg(0);
        e.invoke_virtual(Constants.TYPE_OBJECT, TO_STRING);
        signatureSwitchHelper(e, signatures);
        e.end_method();
    }
private void emitIndexBySignature(List methods) {
        CodeEmitter e = begin_method(Constants.ACC_PUBLIC, SIGNATURE_GET_INDEX, null);
        List signatures = CollectionUtils.transform(methods, new Transformer() {
            public Object transform(Object obj) {
                return ReflectUtils.getSignature((Method)obj).toString();
            }
        });
        e.load_arg(0);
        e.invoke_virtual(Constants.TYPE_OBJECT, TO_STRING);
        signatureSwitchHelper(e, signatures);
        e.end_method();
    }
private void emitIndexBySignature ( List methods ) { CodeEmitter e = begin_method ( Constants . ACC_PUBLIC , SIGNATURE_GET_INDEX , null ) ; List signatures = CollectionUtils . transform ( methods , new Transformer ( ) { public Object transform ( Object obj ) { return ReflectUtils . getSignature ( ( Method ) obj ) . toString ( ) ; } } ) ; e . load_arg ( 0 ) ; e . invoke_virtual ( Constants . TYPE_OBJECT , TO_STRING ) ; signatureSwitchHelper ( e , signatures ) ; e . end_method ( ) ; }
TODO: support constructor indices ("<init>")
TODO : support constructor indices ( <init > )