From 2ea928229c0c7d362f6f3ef37dbf1f54c28cfbb4 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Mon, 9 Jan 2012 19:53:30 +0100 Subject: trivial refactor --- src/core/lombok/javac/handlers/HandleDelegate.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/core/lombok/javac/handlers/HandleDelegate.java b/src/core/lombok/javac/handlers/HandleDelegate.java index ffc1f391..f6a81474 100644 --- a/src/core/lombok/javac/handlers/HandleDelegate.java +++ b/src/core/lombok/javac/handlers/HandleDelegate.java @@ -146,7 +146,7 @@ public class HandleDelegate extends JavacAnnotationHandler { for (Type t : toExclude) { if (t instanceof ClassType) { ClassType ct = (ClassType) t; - addMethodBindings(signaturesToExclude, ct, annotationNode, banList); + addMethodBindings(signaturesToExclude, ct, annotationNode.getTypesUtil(), banList); } else { annotationNode.addError("@Delegate can only use concrete class types, not wildcards, arrays, type variables, or primitives."); return; @@ -160,7 +160,7 @@ public class HandleDelegate extends JavacAnnotationHandler { for (Type t : toDelegate) { if (t instanceof ClassType) { ClassType ct = (ClassType) t; - addMethodBindings(signaturesToDelegate, ct, annotationNode, banList); + addMethodBindings(signaturesToDelegate, ct, annotationNode.getTypesUtil(), banList); } else { annotationNode.addError("@Delegate can only use concrete class types, not wildcards, arrays, type variables, or primitives."); return; @@ -301,25 +301,26 @@ public class HandleDelegate extends JavacAnnotationHandler { return collection == null ? com.sun.tools.javac.util.List.nil() : collection.toList(); } - private void addMethodBindings(List signatures, ClassType ct, JavacNode node, Set banList) { + private void addMethodBindings(List signatures, ClassType ct, JavacTypes types, Set banList) { TypeSymbol tsym = ct.asElement(); if (tsym == null) return; + for (Symbol member : tsym.getEnclosedElements()) { if (member.getKind() != ElementKind.METHOD) continue; if (member.isStatic()) continue; if (member.isConstructor()) continue; ExecutableElement exElem = (ExecutableElement)member; if (!exElem.getModifiers().contains(Modifier.PUBLIC)) continue; - ExecutableType methodType = (ExecutableType) node.getTypesUtil().asMemberOf(ct, member); - String sig = printSig(methodType, member.name, node.getTypesUtil()); + ExecutableType methodType = (ExecutableType) types.asMemberOf(ct, member); + String sig = printSig(methodType, member.name, types); if (!banList.add(sig)) continue; //If add returns false, it was already in there boolean isDeprecated = exElem.getAnnotation(Deprecated.class) != null; signatures.add(new MethodSig(member.name, methodType, isDeprecated, exElem)); } - if (ct.supertype_field instanceof ClassType) addMethodBindings(signatures, (ClassType) ct.supertype_field, node, banList); + if (ct.supertype_field instanceof ClassType) addMethodBindings(signatures, (ClassType) ct.supertype_field, types, banList); if (ct.interfaces_field != null) for (Type iface : ct.interfaces_field) { - if (iface instanceof ClassType) addMethodBindings(signatures, (ClassType) iface, node, banList); + if (iface instanceof ClassType) addMethodBindings(signatures, (ClassType) iface, types, banList); } } -- cgit