aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/lombok/core/runtimeDependencies/CreateLombokRuntimeApp.java4
-rw-r--r--src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java4
-rw-r--r--src/core/lombok/javac/handlers/JavacHandlerUtil.java8
3 files changed, 10 insertions, 6 deletions
diff --git a/src/core/lombok/core/runtimeDependencies/CreateLombokRuntimeApp.java b/src/core/lombok/core/runtimeDependencies/CreateLombokRuntimeApp.java
index 28d8d687..6815f5d9 100644
--- a/src/core/lombok/core/runtimeDependencies/CreateLombokRuntimeApp.java
+++ b/src/core/lombok/core/runtimeDependencies/CreateLombokRuntimeApp.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 The Project Lombok Authors.
+ * Copyright (C) 2009-2011 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -160,6 +160,8 @@ public class CreateLombokRuntimeApp implements LombokApp {
boolean success = false;
try {
JarOutputStream jar = new JarOutputStream(out);
+ deps.put("LICENSE", CreateLombokRuntimeApp.class);
+ deps.put("AUTHORS", CreateLombokRuntimeApp.class);
for (Entry<String, Class<?>> dep : deps.entrySet()) {
InputStream in = dep.getValue().getResourceAsStream("/" + dep.getKey());
try {
diff --git a/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java b/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
index 3c41f834..d4c63da3 100644
--- a/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
+++ b/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
@@ -478,7 +478,8 @@ public class HandleEqualsAndHashCode extends EclipseAnnotationHandler<EqualsAndH
setGeneratedBy(oRef, source);
TypeReference typeReference = createTypeReference(type, p);
-
+ setGeneratedBy(typeReference, source);
+
InstanceOfExpression instanceOf = new InstanceOfExpression(oRef, typeReference);
instanceOf.sourceStart = pS; instanceOf.sourceEnd = pE;
setGeneratedBy(instanceOf, source);
@@ -705,7 +706,6 @@ public class HandleEqualsAndHashCode extends EclipseAnnotationHandler<EqualsAndH
setGeneratedBy(otherRef, source);
TypeReference typeReference = createTypeReference(type, p);
-
setGeneratedBy(typeReference, source);
InstanceOfExpression instanceOf = new InstanceOfExpression(otherRef, typeReference);
diff --git a/src/core/lombok/javac/handlers/JavacHandlerUtil.java b/src/core/lombok/javac/handlers/JavacHandlerUtil.java
index fc9435d8..2bf6c4ec 100644
--- a/src/core/lombok/javac/handlers/JavacHandlerUtil.java
+++ b/src/core/lombok/javac/handlers/JavacHandlerUtil.java
@@ -24,6 +24,7 @@ package lombok.javac.handlers;
import static lombok.javac.Javac.*;
import java.lang.annotation.Annotation;
+import java.lang.ref.WeakReference;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
@@ -89,11 +90,12 @@ public class JavacHandlerUtil {
}
}
- private static Map<JCTree, JCTree> generatedNodes = new WeakHashMap<JCTree, JCTree>();
+ private static Map<JCTree, WeakReference<JCTree>> generatedNodes = new WeakHashMap<JCTree, WeakReference<JCTree>>();
public static JCTree getGeneratedBy(JCTree node) {
synchronized (generatedNodes) {
- return generatedNodes.get(node);
+ WeakReference<JCTree> ref = generatedNodes.get(node);
+ return ref == null ? null : ref.get();
}
}
@@ -111,7 +113,7 @@ public class JavacHandlerUtil {
public static <T extends JCTree> T setGeneratedBy(T node, JCTree source) {
synchronized (generatedNodes) {
if (source == null) generatedNodes.remove(node);
- else generatedNodes.put(node, source);
+ else generatedNodes.put(node, new WeakReference<JCTree>(source));
}
return node;
}