public ClassModelMethod getMethod ( MethodEntry _methodEntry , boolean _isSpecial ) { final String entryClassNameInDotForm = _methodEntry . getClassEntry ( ) . getNameUTF8Entry ( ) . getUTF8 ( ) . replace ( ' ' , ' ' ) ; // Shortcut direct calls to supers to allow "foo() { super.foo() }" type stuff to work if ( _isSpecial && ( superClazz != null ) && superClazz . isSuperClass ( entryClassNameInDotForm ) ) { if ( logger . isLoggable ( Level . FINE ) ) { logger . fine ( "going to look in super:" + superClazz . getClassWeAreModelling ( ) . getName ( ) + " on behalf of " + entryClassNameInDotForm ) ; } return superClazz . getMethod ( _methodEntry , false ) ; } NameAndTypeEntry nameAndTypeEntry = _methodEntry . getNameAndTypeEntry ( ) ; ClassModelMethod methodOrNull = getMethodOrNull ( nameAndTypeEntry . getNameUTF8Entry ( ) . getUTF8 ( ) , nameAndTypeEntry . getDescriptorUTF8Entry ( ) . getUTF8 ( ) ) ; if ( methodOrNull == null ) return superClazz != null ? superClazz . getMethod ( _methodEntry , false ) : ( null ) ; return methodOrNull ; }
Look up a ConstantPool MethodEntry and return the corresponding Method .