aboutsummaryrefslogtreecommitdiff
path: root/src/launch/lombok
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2015-04-01 05:34:56 +0200
committerReinier Zwitserloot <reinier@zwitserloot.com>2015-04-02 02:06:30 +0200
commite45b492bb007af43301799f2e338a509a6389888 (patch)
treeab109e294a8667043445b31446648ba2ffdc23a4 /src/launch/lombok
parent7707140b6c86bd34801f3fd29092be06e2cee3cf (diff)
downloadlombok-e45b492bb007af43301799f2e338a509a6389888.tar.gz
lombok-e45b492bb007af43301799f2e338a509a6389888.tar.bz2
lombok-e45b492bb007af43301799f2e338a509a6389888.zip
[i802] working on eclipse mars support; this needs a few updates to integration with patcher.
Diffstat (limited to 'src/launch/lombok')
-rw-r--r--src/launch/lombok/launch/ShadowClassLoader.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/launch/lombok/launch/ShadowClassLoader.java b/src/launch/lombok/launch/ShadowClassLoader.java
index f8f969ef..8cfd5e39 100644
--- a/src/launch/lombok/launch/ShadowClassLoader.java
+++ b/src/launch/lombok/launch/ShadowClassLoader.java
@@ -79,6 +79,8 @@ import java.util.jar.JarFile;
*/
class ShadowClassLoader extends ClassLoader {
private static final String SELF_NAME = "lombok/launch/ShadowClassLoader.class";
+ private volatile static Class<?> lombokPatcherSymbols;
+
private final String SELF_BASE;
private final File SELF_BASE_FILE;
private final int SELF_BASE_LENGTH;
@@ -360,6 +362,7 @@ class ShadowClassLoader extends ClassLoader {
if (alreadyLoaded != null) return alreadyLoaded;
}
+ if (lombokPatcherSymbols != null && name.equals("lombok.patcher.Symbols")) return lombokPatcherSymbols;
String fileNameOfClass = name.replace(".", "/") + ".class";
URL res = getResource_(fileNameOfClass, true);
if (res == null) {
@@ -392,6 +395,7 @@ class ShadowClassLoader extends ClassLoader {
}
Class<?> c = defineClass(name, b, 0, p);
+ if (name.equals("lombok.patcher.Symbols")) lombokPatcherSymbols = c;
if (resolve) resolveClass(c);
return c;
}