@Override public void accept(String simpleName, int order) { for(JvmType type: bucket.getTypes()) { if (type instanceof JvmDeclaredType) { List<JvmFeature> features = findAllFeaturesByName(type, simpleName, bucket.getResolvedFeaturesProvider()); if (order == 1) { allFeatures.addAll(features); } else { for(int i = 0, size = features.size(); i < size; i++) { JvmFeature feature = features.get(i); if (feature.eClass() == TypesPackage.Literals.JVM_OPERATION) { allFeatures.add(feature); } } } } } } });
@Override public void accept(String simpleName, int order) { for(JvmType type: bucket.getTypes()) { if (type instanceof JvmDeclaredType) { List<JvmFeature> features = findAllFeaturesByName(type, simpleName, bucket.getResolvedFeaturesProvider()); if (order == 1) { allFeatures.addAll(features); } else { for(int i = 0, size = features.size(); i < size; i++) { JvmFeature feature = features.get(i); if (feature.eClass() == TypesPackage.Literals.JVM_OPERATION) { allFeatures.add(feature); } } } } } } });
@Override public void accept(String simpleName, int order) { for(JvmType type: types) { if (type instanceof JvmDeclaredType) { IResolvedFeatures resolvedFeatures = bucket.getResolvedFeaturesProvider().getResolvedFeatures(type).getParameterizedView(extensionType); List<JvmFeature> features = resolvedFeatures.getAllFeatures(simpleName); if (order == 1) { allFeatures.addAll(features); } else { for(int i = 0, size = features.size(); i < size; i++) { JvmFeature feature = features.get(i); if (feature.eClass() == TypesPackage.Literals.JVM_OPERATION) { allFeatures.add(feature); } } } } } } });
protected JvmOperation findImplementingOperation(List<JvmType> rawTypes) { if (rawTypes.size() == 1) { JvmType rawType = rawTypes.get(0); if (rawType.eClass() == TypesPackage.Literals.JVM_GENERIC_TYPE) { JvmGenericType castedRawType = (JvmGenericType) rawType; if (!castedRawType.isFinal()) { Iterable<JvmFeature> features = castedRawType.getAllFeatures(); JvmOperation result = null; for (JvmFeature feature : features) { if (feature.eClass() == TypesPackage.Literals.JVM_OPERATION) { JvmOperation op = (JvmOperation) feature; if (isValidFunction(op)) { if (result == null) result = op; else { return null; } } } } return result; } } } return null; }