protected BucketedEObjectDescription createExtensionDescription(QualifiedName name, JvmFeature feature, XExpression receiver, LightweightTypeReference receiverType, Map<JvmTypeParameter, LightweightMergedBoundTypeArgument> receiverTypeParameterMapping, ExpressionBucket bucket, boolean validStaticState) { if (helper == null || !helper.isPossibleExtension(feature)) { return null; } return doCreateExtensionDescription(name, feature, receiver, receiverType, receiverTypeParameterMapping, bucket, validStaticState); }
@Override protected BucketedEObjectDescription createDescription(QualifiedName name, JvmFeature feature, TypeBucket bucket) { if (!helper.isPossibleExtension(feature)) { return null; } if (!helper.isMatchingFirstParameter((JvmOperation) feature)) { return null; } return doCreateDescription(name, feature, bucket); }
@Override protected void getAllLocalElements(TypeBucket bucket, JvmDeclaredType type, Set<String> restrictedNames, List<IEObjectDescription> result) { Iterable<JvmFeature> features = type.getAllFeatures(); for(JvmFeature feature: features) { if (feature.isStatic() && restrictedNames.contains(feature.getSimpleName()) && helper.isPossibleExtension(feature) && helper.isMatchingFirstParameterDeepCheck((JvmOperation) feature)) { fastAddDescriptions(feature, bucket, result); } } }
@Override protected void getAllLocalElements(TypeBucket bucket, JvmDeclaredType type, List<IEObjectDescription> result) { Iterable<JvmFeature> features = type.getAllFeatures(); for(JvmFeature feature: features) { if (feature.isStatic() && helper.isPossibleExtension(feature) && helper.isMatchingFirstParameterDeepCheck((JvmOperation) feature)) { fastAddDescriptions(feature, bucket, result); } } }
QualifiedName featureName = QualifiedName.create(simpleName); boolean validStaticState = isValidStaticState(receiver); if (firstArgument != null && helper.isPossibleExtension(feature) && helper.isMatchingFirstParameterDeepCheck((JvmOperation) feature)) { IEObjectDescription description = doCreateExtensionDescription(featureName, feature, receiver, receiverType, receiverTypeParameterMapping, bucket, validStaticState); if (description != null) {