Skip to content

Instantly share code, notes, and snippets.

@gissuebot
Created July 7, 2014 18:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gissuebot/0ae2c0bd823c44012ad0 to your computer and use it in GitHub Desktop.
Save gissuebot/0ae2c0bd823c44012ad0 to your computer and use it in GitHub Desktop.
Migrated attachment for Guice issue 337, comment 2
diff --git a/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider.java b/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider.java
index fcedbbe..b910e39 100755
--- a/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider.java
+++ b/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider.java
@@ -21,6 +21,7 @@ import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.Key;
import com.google.inject.Provider;
+import com.google.inject.internal.BytecodeGen;
import com.google.inject.TypeLiteral;
import com.google.inject.internal.Errors;
import com.google.inject.internal.ImmutableMap;
@@ -336,7 +337,7 @@ public class FactoryProvider<F> implements Provider<F>, HasDependencies {
@SuppressWarnings("unchecked") // we imprecisely treat the class literal of T as a Class<T>
Class<F> factoryRawType = (Class) factoryType.getRawType();
- return factoryRawType.cast(Proxy.newProxyInstance(factoryRawType.getClassLoader(),
+ return factoryRawType.cast(Proxy.newProxyInstance(BytecodeGen.getClassLoader(factoryRawType),
new Class[] { factoryRawType }, invocationHandler));
}
diff --git a/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider2.java b/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider2.java
index f1cd29f..3d280ff 100644
--- a/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider2.java
+++ b/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider2.java
@@ -28,6 +28,7 @@ import com.google.inject.Provider;
import com.google.inject.ProvisionException;
import com.google.inject.TypeLiteral;
import static com.google.inject.internal.Annotations.getKey;
+import com.google.inject.internal.BytecodeGen;
import com.google.inject.internal.Errors;
import com.google.inject.internal.ErrorsException;
import com.google.inject.internal.ImmutableList;
@@ -126,7 +127,7 @@ final class FactoryProvider2<F> implements InvocationHandler, Provider<F> {
throw new ConfigurationException(e.getErrors().getMessages());
}
- factory = factoryRawType.cast(Proxy.newProxyInstance(factoryRawType.getClassLoader(),
+ factory = factoryRawType.cast(Proxy.newProxyInstance(BytecodeGen.getClassLoader(factoryRawType),
new Class[] { factoryRawType }, this));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment