diff --git a/src/core/lombok/javac/handlers/JavacHandlerUtil.java b/src/core/lombok/javac/handlers/JavacHandlerUtil.java index 5ff297581c..8d21f90335 100644 --- a/src/core/lombok/javac/handlers/JavacHandlerUtil.java +++ b/src/core/lombok/javac/handlers/JavacHandlerUtil.java @@ -1241,6 +1241,7 @@ public static void injectMethod(JavacNode typeNode, JCMethodDecl method, List annotations = param.getModifiers().getAnnotations(); if (annotations != null && !annotations.isEmpty()) { ListBuffer newAnnotations = new ListBuffer(); @@ -1274,6 +1275,9 @@ private static void fixMethodMirror(Context context, Element typeMirror, long ac MethodSymbol methodSymbol = new MethodSymbol(access, methodName, new MethodType(paramTypes, returnType, List.nil(), Symtab.instance(context).methodClass), cs); if (params != null && !params.isEmpty()) { methodSymbol.params = params; + for (VarSymbol varSymbol : params) { + varSymbol.owner = methodSymbol; + } } ClassSymbolMembersField.enter(cs, methodSymbol); } diff --git a/src/stubs/com/sun/tools/javac/code/Symbol.java b/src/stubs/com/sun/tools/javac/code/Symbol.java index 15b04148ce..f389f1a85e 100644 --- a/src/stubs/com/sun/tools/javac/code/Symbol.java +++ b/src/stubs/com/sun/tools/javac/code/Symbol.java @@ -24,6 +24,7 @@ public abstract class Symbol implements Element { public Type type; public Name name; + public Symbol owner; public long flags() { return 0; } public boolean isStatic() { return false; } @@ -62,6 +63,7 @@ public MethodSymbol(long flags, Name name, Type type, Symbol owner) {} public static class VarSymbol extends Symbol implements VariableElement { public Type type; + public int adr; public VarSymbol(long flags, Name name, Type type, Symbol owner) { } @Override public ElementKind getKind() { return null; }