public MetaMethod retrieveConstructor ( Object [ ] arguments ) { checkInitalised ( ) ; if ( arguments == null ) arguments = EMPTY_ARGUMENTS ; Class [ ] argClasses = MetaClassHelper . convertToTypeArray ( arguments ) ; MetaClassHelper . unwrap ( arguments ) ; Object res = chooseMethod ( "<init>" , constructors , argClasses ) ; if ( res instanceof MetaMethod ) return ( MetaMethod ) res ; CachedConstructor constructor = ( CachedConstructor ) res ; if ( constructor != null ) return new MetaConstructor ( constructor , false ) ; if ( arguments . length == 1 && arguments [ 0 ] instanceof Map ) { res = chooseMethod ( "<init>" , constructors , MetaClassHelper . EMPTY_TYPE_ARRAY ) ; } else if ( arguments . length == 2 && arguments [ 1 ] instanceof Map && theClass . getEnclosingClass ( ) != null && theClass . getEnclosingClass ( ) . isAssignableFrom ( argClasses [ 0 ] ) ) { res = chooseMethod ( "<init>" , constructors , new Class [ ] { argClasses [ 0 ] } ) ; } if ( res instanceof MetaMethod ) return ( MetaMethod ) res ; constructor = ( CachedConstructor ) res ; if ( constructor != null ) return new MetaConstructor ( constructor , true ) ; return null ; }
This is a helper method added in Groovy 2 . 1 . 0 which is used only by indy . This method is for internal use only .