Of course, D also has other things besides reflection that can mess with refactorings, like mixins+ctfe, but hey, anyone can still stick a code-generator in front of a call to "javac", and you've got the sameproblem (only clunkier to use and even *less* likely to be refactorable).
Code generation is evil. I now avoid almost all the frameworks based on code generation, it almost always generates crap.