protected JvmTypeReference cloneWithTypeParametersAndProxies ( JvmTypeReference type , JvmExecutable forExecutable ) { // Ensure that the executable is inside a container. Otherwise, the cloning function will fail. assert forExecutable . getDeclaringType ( ) != null ; // Get the type parameter mapping that is a consequence of the super type extension within the container. final Map < String , JvmTypeReference > superTypeParameterMapping = new HashMap <> ( ) ; Utils . getSuperTypeParameterMap ( forExecutable . getDeclaringType ( ) , superTypeParameterMapping ) ; // Do the cloning return Utils . cloneWithTypeParametersAndProxies ( type , forExecutable . getTypeParameters ( ) , superTypeParameterMapping , this . _typeReferenceBuilder , this . typeBuilder , this . typeReferences , this . typesFactory ) ; }
Clone the given type reference that for being link to the given executable component .