Lines 116-119
Link Here
|
116 |
} |
116 |
} |
117 |
}, true); |
117 |
}, true); |
118 |
} |
118 |
} |
|
|
119 |
|
120 |
public void testResolveRewriteTarget() throws Exception { |
121 |
File f = new File(getWorkDir(), "TestClass.java"); |
122 |
String code = "package foo;" + |
123 |
"public class TestClass{" + |
124 |
" public void foo() {" + |
125 |
" }" + |
126 |
"}"; |
127 |
|
128 |
TestUtilities.copyStringToFile(f, code); |
129 |
FileObject fo = FileUtil.toFileObject(f); |
130 |
JavaSource javaSource = JavaSource.forFileObject(fo); |
131 |
javaSource.runModificationTask(new Task<WorkingCopy>() { |
132 |
|
133 |
public void run(WorkingCopy copy) throws Exception { |
134 |
copy.toPhase(Phase.RESOLVED); |
135 |
|
136 |
TreeMaker maker = copy.getTreeMaker(); |
137 |
ClassTree classTree = (ClassTree)copy.getCompilationUnit().getTypeDecls().get(0); |
138 |
TypeElement serializableElement = copy.getElements().getTypeElement("java.io.Serializable"); |
139 |
ExpressionTree serializableTree = maker.QualIdent(serializableElement); |
140 |
ClassTree newClassTree = maker.addClassImplementsClause(classTree, serializableTree); |
141 |
|
142 |
copy.rewrite(classTree, newClassTree); |
143 |
|
144 |
assertSame(newClassTree, copy.resolveRewriteTarget(classTree)); |
145 |
|
146 |
ClassTree finalClassTree = maker.removeClassImplementsClause(newClassTree, 0); |
147 |
|
148 |
copy.rewrite(newClassTree, finalClassTree); |
149 |
|
150 |
assertSame(finalClassTree, copy.resolveRewriteTarget(classTree)); |
151 |
|
152 |
// remove the following to make the test pass |
153 |
copy.toPhase(Phase.RESOLVED); |
154 |
} |
155 |
}).commit(); |
156 |
|
157 |
assertEquals(code, fo.asText()); |
158 |
} |
119 |
} |
159 |
} |