final Expression deepCloneWithIdentifierReplaced( String replacedIdentifier, Expression replacement, ReplacemenetState replacementState) { Expression clone = deepCloneWithIdentifierReplaced_inner(replacedIdentifier, replacement, replacementState); if (clone.beginLine == 0) { clone.copyLocationFrom(this); } return clone; }
@Override protected Expression deepCloneWithIdentifierReplaced_inner( String replacedIdentifier, Expression replacement, ReplacemenetState replacementState) { if (this.name.equals(replacedIdentifier)) { if (replacementState.replacementAlreadyInUse) { Expression clone = replacement.deepCloneWithIdentifierReplaced(null, null, replacementState); clone.copyLocationFrom(replacement); return clone; } else { replacementState.replacementAlreadyInUse = true; return replacement; } } else { return new Identifier(this.name); } }
final Expression deepCloneWithIdentifierReplaced( String replacedIdentifier, Expression replacement, ReplacemenetState replacementState) { Expression clone = deepCloneWithIdentifierReplaced_inner(replacedIdentifier, replacement, replacementState); if (clone.beginLine == 0) { clone.copyLocationFrom(this); } return clone; }
Expression deepClone(String name, Expression subst) { Expression clone = _deepClone(name, subst); clone.copyLocationFrom(this); return clone; }
final Expression deepCloneWithIdentifierReplaced( String replacedIdentifier, Expression replacement, ReplacemenetState replacementState) { Expression clone = deepCloneWithIdentifierReplaced_inner(replacedIdentifier, replacement, replacementState); if (clone.beginLine == 0) { clone.copyLocationFrom(this); } return clone; }
@Override protected Expression deepCloneWithIdentifierReplaced_inner( String replacedIdentifier, Expression replacement, ReplacemenetState replacementState) { if (this.name.equals(replacedIdentifier)) { if (replacementState.replacementAlreadyInUse) { Expression clone = replacement.deepCloneWithIdentifierReplaced(null, null, replacementState); clone.copyLocationFrom(replacement); return clone; } else { replacementState.replacementAlreadyInUse = true; return replacement; } } else { return new Identifier(this.name); } }
@Override protected Expression deepCloneWithIdentifierReplaced_inner( String replacedIdentifier, Expression replacement, ReplacemenetState replacementState) { if (this.name.equals(replacedIdentifier)) { if (replacementState.replacementAlreadyInUse) { Expression clone = replacement.deepCloneWithIdentifierReplaced(null, null, replacementState); clone.copyLocationFrom(replacement); return clone; } else { replacementState.replacementAlreadyInUse = true; return replacement; } } else { return new Identifier(this.name); } }