// TODO(tbreisacher): Add a warning if the param is shadowed or reassigned.
Node argList = cls.classModifier.getFirstChild().getNext();
Node arg = argList.getFirstChild();
final String argName = arg.getString();
NodeTraversal.traverse(compiler, cls.classModifier.getLastChild(),
new AbstractPostOrderCallback() {
@Override
public void visit(NodeTraversal t, Node n, Node parent) {
if (n.isName() && n.getString().equals(argName)) {
parent.replaceChild(n, cls.name.cloneTree());
}