private boolean hasThisAnnotation( AbstractSrcMethod method, SrcClass extendedType ) { List params = method.getParameters(); if( params.size() == 0 ) { return false; } SrcParameter param = (SrcParameter)params.get( 0 ); if( !param.hasAnnotation( This.class ) ) { return false; } // checking only for simple name for cases where the name cannot be resolved yet e.g., extension method on another source producer type return param.getType().getName().endsWith( extendedType.getSimpleName() ); }
private boolean hasThisAnnotation( AbstractSrcMethod method, SrcClass extendedType ) { List params = method.getParameters(); if( params.size() == 0 ) { return false; } SrcParameter param = (SrcParameter)params.get( 0 ); if( !param.hasAnnotation( This.class ) ) { return false; } // checking only for simple name for cases where the name cannot be resolved yet e.g., extension method on another source producer type return param.getType().getName().endsWith( extendedType.getSimpleName() ); }
for( AbstractSrcMethod m: extendedType.getMethods() ) if( m.getSimpleName().equals( method.getSimpleName() ) && m.getParameters().size() == method.getParameters().size()-1 ) List parameters = method.getParameters(); List params = m.getParameters(); for( int i = 1; i < parameters.size(); i++ )
for( AbstractSrcMethod m: extendedType.getMethods() ) if( m.getSimpleName().equals( method.getSimpleName() ) && m.getParameters().size() == method.getParameters().size()-1 ) List parameters = method.getParameters(); List params = m.getParameters(); for( int i = 1; i < parameters.size(); i++ )
List params = method.getParameters(); for( int i = isInstanceExtensionMethod ? 1 : 0; i < params.size(); i++ )
List params = method.getParameters(); for( int i = isInstanceExtensionMethod ? 1 : 0; i < params.size(); i++ )