aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok/javac/handlers/HandleDelegate.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/lombok/javac/handlers/HandleDelegate.java')
-rw-r--r--src/core/lombok/javac/handlers/HandleDelegate.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/core/lombok/javac/handlers/HandleDelegate.java b/src/core/lombok/javac/handlers/HandleDelegate.java
index c19540fa..d6e76ab1 100644
--- a/src/core/lombok/javac/handlers/HandleDelegate.java
+++ b/src/core/lombok/javac/handlers/HandleDelegate.java
@@ -48,6 +48,7 @@ import org.mangosdk.spi.ProviderFor;
import com.sun.tools.javac.code.Attribute.Compound;
import com.sun.tools.javac.code.Flags;
import com.sun.tools.javac.code.Symbol;
+import com.sun.tools.javac.code.Symbol.MethodSymbol;
import com.sun.tools.javac.code.Symbol.TypeSymbol;
import com.sun.tools.javac.code.Type;
import com.sun.tools.javac.code.Type.ClassType;
@@ -175,14 +176,14 @@ public class HandleDelegate extends JavacAnnotationHandler<Delegate> {
List<MethodSig> signaturesToExclude = new ArrayList<MethodSig>();
Set<String> banList = new HashSet<String>();
banList.addAll(METHODS_IN_OBJECT);
- /* To exclude all methods in the class itself, try this:
- for (Symbol member : ((JCClassDecl)typeNode.get()).sym.getEnclosedElements()) {
- if (member instanceof MethodSymbol) {
- MethodSymbol method = (MethodSymbol) member;
- banList.add(printSig((ExecutableType) method.asType(), method.name, annotationNode.getTypesUtil()));
+
+ // Add already implemented methods to ban list
+ JavacNode typeNode = upToTypeNode(annotationNode);
+ for (Symbol m : ((JCClassDecl)typeNode.get()).sym.getEnclosedElements()) {
+ if (m instanceof MethodSymbol) {
+ banList.add(printSig((ExecutableType) m.asType(), m.name, annotationNode.getTypesUtil()));
}
}
- */
try {
for (Type t : toExclude) {