1.1 --- a/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java Fri Jun 26 12:22:40 2009 -0700 1.2 +++ b/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java Fri Jun 26 18:51:39 2009 -0700 1.3 @@ -71,6 +71,13 @@ 1.4 return lb.toList(); 1.5 } 1.6 1.7 + public JCTree visitAnnotatedType(AnnotatedTypeTree node, P p) { 1.8 + JCAnnotatedType t = (JCAnnotatedType) node; 1.9 + List<JCTypeAnnotation> annotations = copy(t.annotations, p); 1.10 + JCExpression underlyingType = copy(t.underlyingType, p); 1.11 + return M.at(t.pos).AnnotatedType(annotations, underlyingType); 1.12 + } 1.13 + 1.14 public JCTree visitAnnotation(AnnotationTree node, P p) { 1.15 JCAnnotation t = (JCAnnotation) node; 1.16 JCTree annotationType = copy(t.annotationType, p); 1.17 @@ -233,10 +240,11 @@ 1.18 JCExpression restype = copy(t.restype, p); 1.19 List<JCTypeParameter> typarams = copy(t.typarams, p); 1.20 List<JCVariableDecl> params = copy(t.params, p); 1.21 + List<JCTypeAnnotation> receiver = copy(t.receiverAnnotations, p); 1.22 List<JCExpression> thrown = copy(t.thrown, p); 1.23 JCBlock body = copy(t.body, p); 1.24 JCExpression defaultValue = copy(t.defaultValue, p); 1.25 - return M.at(t.pos).MethodDef(mods, t.name, restype, typarams, params, thrown, body, defaultValue); 1.26 + return M.at(t.pos).MethodDef(mods, t.name, restype, typarams, params, receiver, thrown, body, defaultValue); 1.27 } 1.28 1.29 public JCTree visitMethodInvocation(MethodInvocationTree node, P p) { 1.30 @@ -357,8 +365,9 @@ 1.31 1.32 public JCTree visitTypeParameter(TypeParameterTree node, P p) { 1.33 JCTypeParameter t = (JCTypeParameter) node; 1.34 + List<JCTypeAnnotation> annos = copy(t.annotations, p); 1.35 List<JCExpression> bounds = copy(t.bounds, p); 1.36 - return M.at(t.pos).TypeParameter(t.name, t.bounds); 1.37 + return M.at(t.pos).TypeParameter(t.name, bounds, annos); 1.38 } 1.39 1.40 public JCTree visitInstanceOf(InstanceOfTree node, P p) {