internal Replacer(Identifier oldName, Node newNode) { this.oldName = oldName; this.newNode = newNode; if (newNode is Expression) replaceType = ReplaceType.Identifier; else if (newNode is Block) replaceType = ReplaceType.LabeledStatement; else throw new ArgumentException("Replacer: newNode must be Expression or Block"); }