Revert 2 commits merged in RC2 freeze
This reverts commit bcac1f07d503acbaff72cae696d1bc6d871bbbfc and
0b85841cbaaacb2baa54aab25114eb285e2dc70e.
Change-Id: I9fe3bea433978822388bcdafcfa1a22ab672d84e
Signed-off-by: Michael Keppler <michael.keppler@gmx.de>
diff --git a/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/internal/di/InjectorImpl.java b/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/internal/di/InjectorImpl.java
index 3d7d239..440c402 100644
--- a/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/internal/di/InjectorImpl.java
+++ b/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/internal/di/InjectorImpl.java
@@ -722,9 +722,7 @@
/**
* Make the processor visit all declared methods on the given class.
*/
- private boolean processMethods(final Object userObject, PrimaryObjectSupplier objectSupplier,
- PrimaryObjectSupplier tempSupplier, Class<?> objectsClass, ArrayList<Class<?>> classHierarchy,
- boolean track, List<Requestor<?>> requestors) {
+ private boolean processMethods(final Object userObject, PrimaryObjectSupplier objectSupplier, PrimaryObjectSupplier tempSupplier, Class<?> objectsClass, ArrayList<Class<?>> classHierarchy, boolean track, List<Requestor<?>> requestors) {
boolean injectedStatic = false;
Method[] methods = getDeclaredMethods(objectsClass);
for (Method method : methods) {
@@ -732,9 +730,10 @@
Boolean isOverridden = null;
Map<Method, Boolean> methodMap = null;
Class<?> originalClass = userObject.getClass();
- methodMap = isOverriddenCache.get(originalClass);
- if (methodMap != null) {
- isOverridden = methodMap.get(method);
+ if (isOverriddenCache.containsKey(originalClass)) {
+ methodMap = isOverriddenCache.get(originalClass);
+ if (methodMap.containsKey(method))
+ isOverridden = methodMap.get(method);
}
if (isOverridden == null) {
isOverridden = isOverridden(method, classHierarchy);
@@ -745,18 +744,15 @@
methodMap.put(method, isOverridden);
}
- if (isOverridden) {
+ if (isOverridden)
continue; // process in the subclass
- }
if (Modifier.isStatic(method.getModifiers())) {
- if (hasInjectedStatic(objectsClass)) {
+ if (hasInjectedStatic(objectsClass))
continue;
- }
injectedStatic = true;
}
- if (!isAnnotationPresent(method, Inject.class)) {
+ if (!isAnnotationPresent(method, Inject.class))
continue;
- }
requestors.add(new MethodRequestor(method, this, objectSupplier, tempSupplier, userObject, track));
}
return injectedStatic;