/** * Returns a deep clone of this {@link ATypeDefinition} node. * @return a deep clone of this {@link ATypeDefinition} node */ public ATypeDefinition clone() { return new ATypeDefinition( _location, _nameScope, _used, _classDefinition, cloneNode(_access), _type, _pass, _invType, cloneNode(_invPattern), cloneNode(_invExpression), cloneNode(_invdef), _infinite, (ILexNameToken)_name, cloneNode(_ordRelation), cloneNode(_eqRelation), _composeDefinitions ); }
/** * Creates a deep clone of this {@link ATypeDefinition} node while putting all * old node-new node relations in the map {@code oldToNewMap}. * @param oldToNewMap the map filled with the old node-new node relation * @return a deep clone of this {@link ATypeDefinition} node */ public ATypeDefinition clone(Map<INode,INode> oldToNewMap) { ATypeDefinition node = new ATypeDefinition( _location, _nameScope, _used, _classDefinition, cloneNode(_access, oldToNewMap), _type, _pass, _invType, cloneNode(_invPattern, oldToNewMap), cloneNode(_invExpression, oldToNewMap), cloneNode(_invdef, oldToNewMap), _infinite, (ILexNameToken)_name, cloneNode(_ordRelation, oldToNewMap), cloneNode(_eqRelation, oldToNewMap), _composeDefinitions ); oldToNewMap.put(this, node); return node; }