package st.gravel.support.compiler.ast; /* This file is automatically generated from typed smalltalk source. Do not edit by hand. (C) AG5.com */ import java.math.BigInteger; import st.gravel.support.jvm.NonLocalReturn; import st.gravel.support.compiler.ast.AbstractVariableRenamer; import st.gravel.support.compiler.ast.AbstractVariableRenamer.AbstractVariableRenamer_Factory; import java.util.HashSet; public class LocalDefinedVariableRenamer extends AbstractVariableRenamer implements Cloneable { public static LocalDefinedVariableRenamer_Factory factory = new LocalDefinedVariableRenamer_Factory(); public static class LocalDefinedVariableRenamer_Factory extends AbstractVariableRenamer_Factory { public LocalDefinedVariableRenamer basicNew() { LocalDefinedVariableRenamer newInstance = new LocalDefinedVariableRenamer(); newInstance.initialize(); return newInstance; } @Override public LocalDefinedVariableRenamer oldName_newName_(final String _aString, final String _aString2) { return ((LocalDefinedVariableRenamer) this.basicNew().initializeOldName_newName_(_aString, _aString2)); } } static public LocalDefinedVariableRenamer _oldName_newName_(Object receiver, final String _aString, final String _aString2) { return factory.oldName_newName_(_aString, _aString2); } @Override public LocalDefinedVariableRenamer addLocalName_(final String _name) { _localNames.add(_name); return this; } public LocalDefinedVariableRenamer copy() { try { LocalDefinedVariableRenamer _temp1 = (LocalDefinedVariableRenamer) this.clone(); _temp1.postCopy(); return _temp1; } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } } public LocalDefinedVariableRenamer_Factory factory() { return factory; } @Override public LocalDefinedVariableRenamer initialize() { super.initialize(); _localNames = new java.util.HashSet(); return this; } @Override public LocalDefinedVariableRenamer initializeOldName_newName_(final String _aString, final String _aString2) { _oldName = _aString; _newName = _aString2; this.initialize(); return this; } @Override public LocalDefinedVariableRenamer postCopy() { super.postCopy(); _localNames = st.gravel.support.jvm.SetExtensions.copy(_localNames); return this; } @Override public String renameDefinition_(final String _aString) { if (st.gravel.support.jvm.StringExtensions.equals_(_aString, _oldName)) { return _newName; } return _aString; } @Override public String rename_(final String _aString) { if (st.gravel.support.jvm.StringExtensions.equals_(_aString, _oldName) && _localNames.contains(_aString)) { return _newName; } return _aString; } @Override public LocalDefinedVariableRenamer subconverter() { return this.copy(); } }