diff --git a/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java b/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java index dea3bfe839585b1d5d98d425f11f6895041752da..ecd166a31137caa55efe5b44169d03c95126f039 100644 --- a/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java +++ b/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java @@ -19,8 +19,17 @@ public class PositionedNode { this(null, null); } - public PositionedNode(final PositionedNode node) { - this(node.startPos, node.endPos); + /** + * Copies the {@link SourcePosition}s from the given node to this node. + * This is an internal helper method for use in {@link Object#clone()} implementations. + * + * @param node the node from which to copy the source positions + */ + protected final void initSourcePositionsFrom(PositionedNode node) { + // Intentionally do not use the accessors (getStartPos, getEndPos) here + // so that cloning a Token does not trigger lazy creation of SourcePosition objects. + this.startPos = node.startPos; + this.endPos = node.endPos; } public SourcePosition getStartPos() { diff --git a/src/main/java/org/sablecc/sablecc/node/AAlt.java b/src/main/java/org/sablecc/sablecc/node/AAlt.java index 868516db660840f4961534721cdb6c667a06f292..85c748f4757b8bb019f1d1d2c3b2907eef751504 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/AAlt.java @@ -31,18 +31,15 @@ public final class AAlt extends PAlt } - public AAlt(AAlt node) - { - super(node); - setAltName(cloneNode(node._altName_)); - setElems(cloneList(node._elems_)); - setAltTransform(cloneNode(node._altTransform_)); - } - @Override public AAlt clone() { - return new AAlt(this); + AAlt cloned = new AAlt(); + cloned.setAltName(cloneNode(this._altName_)); + cloned.setElems(cloneList(this._elems_)); + cloned.setAltTransform(cloneNode(this._altTransform_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAltTransform.java b/src/main/java/org/sablecc/sablecc/node/AAltTransform.java index 7a3711c2763428503b8dfce8a405def437f3d12a..d6e9126e496e6d334c4731bfa72a521958f1b4e5 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAltTransform.java +++ b/src/main/java/org/sablecc/sablecc/node/AAltTransform.java @@ -31,18 +31,15 @@ public final class AAltTransform extends PAltTransform } - public AAltTransform(AAltTransform node) - { - super(node); - setLBrace(cloneNode(node._lBrace_)); - setTerms(cloneList(node._terms_)); - setRBrace(cloneNode(node._rBrace_)); - } - @Override public AAltTransform clone() { - return new AAltTransform(this); + AAltTransform cloned = new AAltTransform(); + cloned.setLBrace(cloneNode(this._lBrace_)); + cloned.setTerms(cloneList(this._terms_)); + cloned.setRBrace(cloneNode(this._rBrace_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAst.java b/src/main/java/org/sablecc/sablecc/node/AAst.java index a0c94e04769204e21d4711f807a0ee2dec0a3232..b373a774e504f553b589e5d1252694bb55f102a3 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAst.java +++ b/src/main/java/org/sablecc/sablecc/node/AAst.java @@ -23,16 +23,13 @@ public final class AAst extends PAst } - public AAst(AAst node) - { - super(node); - setProds(cloneList(node._prods_)); - } - @Override public AAst clone() { - return new AAst(this); + AAst cloned = new AAst(); + cloned.setProds(cloneList(this._prods_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAstAlt.java b/src/main/java/org/sablecc/sablecc/node/AAstAlt.java index e08e5cf0de0682419983a2b1d1202cf7e6e621f4..1e7afed33ebc774d24b64ac79890c4a4b989b361 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAstAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/AAstAlt.java @@ -27,17 +27,14 @@ public final class AAstAlt extends PAstAlt } - public AAstAlt(AAstAlt node) - { - super(node); - setAltName(cloneNode(node._altName_)); - setElems(cloneList(node._elems_)); - } - @Override public AAstAlt clone() { - return new AAstAlt(this); + AAstAlt cloned = new AAstAlt(); + cloned.setAltName(cloneNode(this._altName_)); + cloned.setElems(cloneList(this._elems_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAstProd.java b/src/main/java/org/sablecc/sablecc/node/AAstProd.java index aaa856ecbdbe2f9eddd099795e7fe325e8ab6bb5..5c15b3dc7c8e0bf9c030e07b69a5637c5143def0 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAstProd.java +++ b/src/main/java/org/sablecc/sablecc/node/AAstProd.java @@ -27,17 +27,14 @@ public final class AAstProd extends PAstProd } - public AAstProd(AAstProd node) - { - super(node); - setId(cloneNode(node._id_)); - setAlts(cloneList(node._alts_)); - } - @Override public AAstProd clone() { - return new AAstProd(this); + AAstProd cloned = new AAstProd(); + cloned.setId(cloneNode(this._id_)); + cloned.setAlts(cloneList(this._alts_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ACharBasic.java b/src/main/java/org/sablecc/sablecc/node/ACharBasic.java index 925d9381efda3224f099ffe40c66b535d3286644..30775a7f065a9c0123633b4976f3673c28f5a16a 100644 --- a/src/main/java/org/sablecc/sablecc/node/ACharBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/ACharBasic.java @@ -19,16 +19,13 @@ public final class ACharBasic extends PBasic } - public ACharBasic(ACharBasic node) - { - super(node); - setChar(cloneNode(node._char_)); - } - @Override public ACharBasic clone() { - return new ACharBasic(this); + ACharBasic cloned = new ACharBasic(); + cloned.setChar(cloneNode(this._char_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ACharChar.java b/src/main/java/org/sablecc/sablecc/node/ACharChar.java index 188050b861aa28e9180c78888efb583dd8620c6a..e8c8e61021fb918428bb83d2272cce6171cb65aa 100644 --- a/src/main/java/org/sablecc/sablecc/node/ACharChar.java +++ b/src/main/java/org/sablecc/sablecc/node/ACharChar.java @@ -19,16 +19,13 @@ public final class ACharChar extends PChar } - public ACharChar(ACharChar node) - { - super(node); - setChar(cloneNode(node._char_)); - } - @Override public ACharChar clone() { - return new ACharChar(this); + ACharChar cloned = new ACharChar(); + cloned.setChar(cloneNode(this._char_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AConcat.java b/src/main/java/org/sablecc/sablecc/node/AConcat.java index 1ade31e73081c3137f1b76b7c769fe4231b486df..c83c0f7fa13db2ed89154dfc65527c59dc3c06d8 100644 --- a/src/main/java/org/sablecc/sablecc/node/AConcat.java +++ b/src/main/java/org/sablecc/sablecc/node/AConcat.java @@ -23,16 +23,13 @@ public final class AConcat extends PConcat } - public AConcat(AConcat node) - { - super(node); - setUnExps(cloneList(node._unExps_)); - } - @Override public AConcat clone() { - return new AConcat(this); + AConcat cloned = new AConcat(); + cloned.setUnExps(cloneList(this._unExps_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ADecChar.java b/src/main/java/org/sablecc/sablecc/node/ADecChar.java index e2743bd85b4f1ceefe1ee8fc7bca2c2d9b0e7c20..41091bfc36e955f59e5e17889dac37b22bb367a5 100644 --- a/src/main/java/org/sablecc/sablecc/node/ADecChar.java +++ b/src/main/java/org/sablecc/sablecc/node/ADecChar.java @@ -19,16 +19,13 @@ public final class ADecChar extends PChar } - public ADecChar(ADecChar node) - { - super(node); - setDecChar(cloneNode(node._decChar_)); - } - @Override public ADecChar clone() { - return new ADecChar(this); + ADecChar cloned = new ADecChar(); + cloned.setDecChar(cloneNode(this._decChar_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AElem.java b/src/main/java/org/sablecc/sablecc/node/AElem.java index ef1d47c784b0c8cc31c97a9436b07f4451cf766e..5f9963f2a17f13c679528d12fbdcab5f08006736 100644 --- a/src/main/java/org/sablecc/sablecc/node/AElem.java +++ b/src/main/java/org/sablecc/sablecc/node/AElem.java @@ -31,19 +31,16 @@ public final class AElem extends PElem } - public AElem(AElem node) - { - super(node); - setElemName(cloneNode(node._elemName_)); - setSpecifier(cloneNode(node._specifier_)); - setId(cloneNode(node._id_)); - setUnOp(cloneNode(node._unOp_)); - } - @Override public AElem clone() { - return new AElem(this); + AElem cloned = new AElem(); + cloned.setElemName(cloneNode(this._elemName_)); + cloned.setSpecifier(cloneNode(this._specifier_)); + cloned.setId(cloneNode(this._id_)); + cloned.setUnOp(cloneNode(this._unOp_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AGrammar.java b/src/main/java/org/sablecc/sablecc/node/AGrammar.java index 6a2cd2adaf77c3f47e0aec2b6c1c2518d4d8ca60..07f40c987c091878d667bfff08d87a36b3fae56e 100644 --- a/src/main/java/org/sablecc/sablecc/node/AGrammar.java +++ b/src/main/java/org/sablecc/sablecc/node/AGrammar.java @@ -47,22 +47,19 @@ public final class AGrammar extends PGrammar } - public AGrammar(AGrammar node) - { - super(node); - setPackage(cloneList(node._package_)); - setHelpers(cloneNode(node._helpers_)); - setStates(cloneNode(node._states_)); - setTokens(cloneNode(node._tokens_)); - setIgnTokens(cloneNode(node._ignTokens_)); - setProductions(cloneNode(node._productions_)); - setAst(cloneNode(node._ast_)); - } - @Override public AGrammar clone() { - return new AGrammar(this); + AGrammar cloned = new AGrammar(); + cloned.setPackage(cloneList(this._package_)); + cloned.setHelpers(cloneNode(this._helpers_)); + cloned.setStates(cloneNode(this._states_)); + cloned.setTokens(cloneNode(this._tokens_)); + cloned.setIgnTokens(cloneNode(this._ignTokens_)); + cloned.setProductions(cloneNode(this._productions_)); + cloned.setAst(cloneNode(this._ast_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AHelperDef.java b/src/main/java/org/sablecc/sablecc/node/AHelperDef.java index f19e5c7c146583b3dcd1c9cfe59e7e40f515f1b0..0cea09619ba2523287b7c6d0a331117515d9512d 100644 --- a/src/main/java/org/sablecc/sablecc/node/AHelperDef.java +++ b/src/main/java/org/sablecc/sablecc/node/AHelperDef.java @@ -23,17 +23,14 @@ public final class AHelperDef extends PHelperDef } - public AHelperDef(AHelperDef node) - { - super(node); - setId(cloneNode(node._id_)); - setRegExp(cloneNode(node._regExp_)); - } - @Override public AHelperDef clone() { - return new AHelperDef(this); + AHelperDef cloned = new AHelperDef(); + cloned.setId(cloneNode(this._id_)); + cloned.setRegExp(cloneNode(this._regExp_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AHelpers.java b/src/main/java/org/sablecc/sablecc/node/AHelpers.java index 772d6b8b20974d2082367109c1e41c6cb6b053e8..1cae38c307162b358e0d0a4ddbeb49041eccb636 100644 --- a/src/main/java/org/sablecc/sablecc/node/AHelpers.java +++ b/src/main/java/org/sablecc/sablecc/node/AHelpers.java @@ -23,16 +23,13 @@ public final class AHelpers extends PHelpers } - public AHelpers(AHelpers node) - { - super(node); - setHelperDefs(cloneList(node._helperDefs_)); - } - @Override public AHelpers clone() { - return new AHelpers(this); + AHelpers cloned = new AHelpers(); + cloned.setHelperDefs(cloneList(this._helperDefs_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AHexChar.java b/src/main/java/org/sablecc/sablecc/node/AHexChar.java index bde57e7bac6547a1b218db75d8d0cd8034554bed..9bba9d50dfeaca9c4e6bafcb920998fba27d9e76 100644 --- a/src/main/java/org/sablecc/sablecc/node/AHexChar.java +++ b/src/main/java/org/sablecc/sablecc/node/AHexChar.java @@ -19,16 +19,13 @@ public final class AHexChar extends PChar } - public AHexChar(AHexChar node) - { - super(node); - setHexChar(cloneNode(node._hexChar_)); - } - @Override public AHexChar clone() { - return new AHexChar(this); + AHexChar cloned = new AHexChar(); + cloned.setHexChar(cloneNode(this._hexChar_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AIdBasic.java b/src/main/java/org/sablecc/sablecc/node/AIdBasic.java index 565e3200c6c0635c84a4f9db311fcede0765385a..7c394248f4fe07b2d0ebdb5fa8e6ba31f1f99db5 100644 --- a/src/main/java/org/sablecc/sablecc/node/AIdBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/AIdBasic.java @@ -19,16 +19,13 @@ public final class AIdBasic extends PBasic } - public AIdBasic(AIdBasic node) - { - super(node); - setId(cloneNode(node._id_)); - } - @Override public AIdBasic clone() { - return new AIdBasic(this); + AIdBasic cloned = new AIdBasic(); + cloned.setId(cloneNode(this._id_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java b/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java index 5290ee25abbc2384b93ae9462882821d7e17cd95..cd72f335b7b17e4a8536646dda1be03d9e65dee6 100644 --- a/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java @@ -23,16 +23,13 @@ public final class AIgnTokens extends PIgnTokens } - public AIgnTokens(AIgnTokens node) - { - super(node); - setListId(cloneList(node._listId_)); - } - @Override public AIgnTokens clone() { - return new AIgnTokens(this); + AIgnTokens cloned = new AIgnTokens(); + cloned.setListId(cloneList(this._listId_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java b/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java index 9bff5aa293c556c43530f33f6cfcc8ce5a5f2706..2095404f049ae3485705cc1472e81fd95b586da4 100644 --- a/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java +++ b/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java @@ -23,17 +23,14 @@ public final class AIntervalSet extends PSet } - public AIntervalSet(AIntervalSet node) - { - super(node); - setLeft(cloneNode(node._left_)); - setRight(cloneNode(node._right_)); - } - @Override public AIntervalSet clone() { - return new AIntervalSet(this); + AIntervalSet cloned = new AIntervalSet(); + cloned.setLeft(cloneNode(this._left_)); + cloned.setRight(cloneNode(this._right_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AListTerm.java b/src/main/java/org/sablecc/sablecc/node/AListTerm.java index bfa2c59eb2bfbbe787c45463af461eb5cfa610e3..737a840ca1537602ed856b4f1733d44a21152a24 100644 --- a/src/main/java/org/sablecc/sablecc/node/AListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/AListTerm.java @@ -27,17 +27,14 @@ public final class AListTerm extends PTerm } - public AListTerm(AListTerm node) - { - super(node); - setLBkt(cloneNode(node._lBkt_)); - setListTerms(cloneList(node._listTerms_)); - } - @Override public AListTerm clone() { - return new AListTerm(this); + AListTerm cloned = new AListTerm(); + cloned.setLBkt(cloneNode(this._lBkt_)); + cloned.setListTerms(cloneList(this._listTerms_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java b/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java index fd1e1e56a1d82345c9369931217712c53fa28e7a..38822d8b677d2b2371b4fa87b990374ddf25e97d 100644 --- a/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java +++ b/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java @@ -11,15 +11,12 @@ public final class AMinusBinOp extends PBinOp { } - public AMinusBinOp(AMinusBinOp node) - { - super(node); - } - @Override public AMinusBinOp clone() { - return new AMinusBinOp(this); + AMinusBinOp cloned = new AMinusBinOp(); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java b/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java index b2c151bba0d1456c1839bf556146b852fb8f9db0..c630b91eb443be133da5e9ca6499622d3461aaaa 100644 --- a/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java @@ -31,18 +31,15 @@ public final class ANewListTerm extends PListTerm } - public ANewListTerm(ANewListTerm node) - { - super(node); - setProdName(cloneNode(node._prodName_)); - setLPar(cloneNode(node._lPar_)); - setParams(cloneList(node._params_)); - } - @Override public ANewListTerm clone() { - return new ANewListTerm(this); + ANewListTerm cloned = new ANewListTerm(); + cloned.setProdName(cloneNode(this._prodName_)); + cloned.setLPar(cloneNode(this._lPar_)); + cloned.setParams(cloneList(this._params_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ANewTerm.java b/src/main/java/org/sablecc/sablecc/node/ANewTerm.java index 4fb329bde1657a4b8a9dcc365ea68561c8049c1c..0c63475d9f9927768aafa2234baed8adc54a5eb8 100644 --- a/src/main/java/org/sablecc/sablecc/node/ANewTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ANewTerm.java @@ -31,18 +31,15 @@ public final class ANewTerm extends PTerm } - public ANewTerm(ANewTerm node) - { - super(node); - setProdName(cloneNode(node._prodName_)); - setLPar(cloneNode(node._lPar_)); - setParams(cloneList(node._params_)); - } - @Override public ANewTerm clone() { - return new ANewTerm(this); + ANewTerm cloned = new ANewTerm(); + cloned.setProdName(cloneNode(this._prodName_)); + cloned.setLPar(cloneNode(this._lPar_)); + cloned.setParams(cloneList(this._params_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ANullTerm.java b/src/main/java/org/sablecc/sablecc/node/ANullTerm.java index e5846fc1a9468177ecffc92d822f42b4f79f8ac0..a8fc22ebe6fe6a922603c06e57c09ff8f573b539 100644 --- a/src/main/java/org/sablecc/sablecc/node/ANullTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ANullTerm.java @@ -11,15 +11,12 @@ public final class ANullTerm extends PTerm { } - public ANullTerm(ANullTerm node) - { - super(node); - } - @Override public ANullTerm clone() { - return new ANullTerm(this); + ANullTerm cloned = new ANullTerm(); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AOperationSet.java b/src/main/java/org/sablecc/sablecc/node/AOperationSet.java index fc8b1c38ab58ee68996bd669753c5c3d52f1b00e..5ea786bc32f4d7cf639c013d3e56be9c9dcb6164 100644 --- a/src/main/java/org/sablecc/sablecc/node/AOperationSet.java +++ b/src/main/java/org/sablecc/sablecc/node/AOperationSet.java @@ -27,18 +27,15 @@ public final class AOperationSet extends PSet } - public AOperationSet(AOperationSet node) - { - super(node); - setLeft(cloneNode(node._left_)); - setBinOp(cloneNode(node._binOp_)); - setRight(cloneNode(node._right_)); - } - @Override public AOperationSet clone() { - return new AOperationSet(this); + AOperationSet cloned = new AOperationSet(); + cloned.setLeft(cloneNode(this._left_)); + cloned.setBinOp(cloneNode(this._binOp_)); + cloned.setRight(cloneNode(this._right_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java b/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java index e7ac89e687070163a6398d5ccb52d2c318cf2a97..cfcb1896c580475f0e395fbc0987c2632924bdce 100644 --- a/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java +++ b/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java @@ -11,15 +11,12 @@ public final class APlusBinOp extends PBinOp { } - public APlusBinOp(APlusBinOp node) - { - super(node); - } - @Override public APlusBinOp clone() { - return new APlusBinOp(this); + APlusBinOp cloned = new APlusBinOp(); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java b/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java index 06e6fa7f89f0f0f5e0e463cbcf8d43c62a1d3e28..c766c024844e316a051c8e3e7291c1c32ce138e7 100644 --- a/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java @@ -19,16 +19,13 @@ public final class APlusUnOp extends PUnOp } - public APlusUnOp(APlusUnOp node) - { - super(node); - setPlus(cloneNode(node._plus_)); - } - @Override public APlusUnOp clone() { - return new APlusUnOp(this); + APlusUnOp cloned = new APlusUnOp(); + cloned.setPlus(cloneNode(this._plus_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProd.java b/src/main/java/org/sablecc/sablecc/node/AProd.java index cd2f5039ba8ba6f5122d25bc152b4af7ab7a4d44..ca5a37d268273779e72a09ddb165bb028dd6db63 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProd.java +++ b/src/main/java/org/sablecc/sablecc/node/AProd.java @@ -35,19 +35,16 @@ public final class AProd extends PProd } - public AProd(AProd node) - { - super(node); - setId(cloneNode(node._id_)); - setArrow(cloneNode(node._arrow_)); - setProdTransform(cloneList(node._prodTransform_)); - setAlts(cloneList(node._alts_)); - } - @Override public AProd clone() { - return new AProd(this); + AProd cloned = new AProd(); + cloned.setId(cloneNode(this._id_)); + cloned.setArrow(cloneNode(this._arrow_)); + cloned.setProdTransform(cloneList(this._prodTransform_)); + cloned.setAlts(cloneList(this._alts_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProdName.java b/src/main/java/org/sablecc/sablecc/node/AProdName.java index a11a3803e86b1b8d6894da74c0163dd092f452f3..8e4681837fdb1cc953d5f77b3c14538212fde9bd 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProdName.java +++ b/src/main/java/org/sablecc/sablecc/node/AProdName.java @@ -23,17 +23,14 @@ public final class AProdName extends PProdName } - public AProdName(AProdName node) - { - super(node); - setId(cloneNode(node._id_)); - setProdNameTail(cloneNode(node._prodNameTail_)); - } - @Override public AProdName clone() { - return new AProdName(this); + AProdName cloned = new AProdName(); + cloned.setId(cloneNode(this._id_)); + cloned.setProdNameTail(cloneNode(this._prodNameTail_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java b/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java index cd822a61eb245bbb9cfa679aba3ef760477fd790..74304a394f4a62023eecf90b515c7546933017b7 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java @@ -11,15 +11,12 @@ public final class AProductionSpecifier extends PSpecifier { } - public AProductionSpecifier(AProductionSpecifier node) - { - super(node); - } - @Override public AProductionSpecifier clone() { - return new AProductionSpecifier(this); + AProductionSpecifier cloned = new AProductionSpecifier(); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProductions.java b/src/main/java/org/sablecc/sablecc/node/AProductions.java index 4e73e965ea600e0f15e424066ea88f1eb4df0f90..569464abf6dfc6b3b44aa9802c64dc948a9bd2fe 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProductions.java +++ b/src/main/java/org/sablecc/sablecc/node/AProductions.java @@ -23,16 +23,13 @@ public final class AProductions extends PProductions } - public AProductions(AProductions node) - { - super(node); - setProds(cloneList(node._prods_)); - } - @Override public AProductions clone() { - return new AProductions(this); + AProductions cloned = new AProductions(); + cloned.setProds(cloneList(this._prods_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java b/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java index c78c19fc5b0468841366b32a02353e0b760ae2d5..ec754fc330de4e8722aa938e3fa568797d7d52e6 100644 --- a/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java @@ -19,16 +19,13 @@ public final class AQMarkUnOp extends PUnOp } - public AQMarkUnOp(AQMarkUnOp node) - { - super(node); - setQMark(cloneNode(node._qMark_)); - } - @Override public AQMarkUnOp clone() { - return new AQMarkUnOp(this); + AQMarkUnOp cloned = new AQMarkUnOp(); + cloned.setQMark(cloneNode(this._qMark_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ARegExp.java b/src/main/java/org/sablecc/sablecc/node/ARegExp.java index 7b604e5ddbe31e34039e8310248785e8029b45f7..6ebe5769d7747c89a3fff36fc5067b588dcb73fb 100644 --- a/src/main/java/org/sablecc/sablecc/node/ARegExp.java +++ b/src/main/java/org/sablecc/sablecc/node/ARegExp.java @@ -23,16 +23,13 @@ public final class ARegExp extends PRegExp } - public ARegExp(ARegExp node) - { - super(node); - setConcats(cloneList(node._concats_)); - } - @Override public ARegExp clone() { - return new ARegExp(this); + ARegExp cloned = new ARegExp(); + cloned.setConcats(cloneList(this._concats_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java b/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java index 4978f8948f4f2ae400ede54cfcc72541ed16599f..3f615ba4621568df38f651475dae0afafd6ec6e1 100644 --- a/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java @@ -19,16 +19,13 @@ public final class ARegExpBasic extends PBasic } - public ARegExpBasic(ARegExpBasic node) - { - super(node); - setRegExp(cloneNode(node._regExp_)); - } - @Override public ARegExpBasic clone() { - return new ARegExpBasic(this); + ARegExpBasic cloned = new ARegExpBasic(); + cloned.setRegExp(cloneNode(this._regExp_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ASetBasic.java b/src/main/java/org/sablecc/sablecc/node/ASetBasic.java index 53a957cb18e2da018bf57bafe8c31a794bd3d1fe..b45847e9e15e5c887bd53584146fcb56cc476396 100644 --- a/src/main/java/org/sablecc/sablecc/node/ASetBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/ASetBasic.java @@ -19,16 +19,13 @@ public final class ASetBasic extends PBasic } - public ASetBasic(ASetBasic node) - { - super(node); - setSet(cloneNode(node._set_)); - } - @Override public ASetBasic clone() { - return new ASetBasic(this); + ASetBasic cloned = new ASetBasic(); + cloned.setSet(cloneNode(this._set_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java b/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java index de072dddfccca3cf48bde6b7263bcc14b740dfc7..b2e1b6426a3793a9e1f0dddb7a7406b3f2219e5e 100644 --- a/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java @@ -27,18 +27,15 @@ public final class ASimpleListTerm extends PListTerm } - public ASimpleListTerm(ASimpleListTerm node) - { - super(node); - setSpecifier(cloneNode(node._specifier_)); - setId(cloneNode(node._id_)); - setSimpleTermTail(cloneNode(node._simpleTermTail_)); - } - @Override public ASimpleListTerm clone() { - return new ASimpleListTerm(this); + ASimpleListTerm cloned = new ASimpleListTerm(); + cloned.setSpecifier(cloneNode(this._specifier_)); + cloned.setId(cloneNode(this._id_)); + cloned.setSimpleTermTail(cloneNode(this._simpleTermTail_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java b/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java index 801c48c2137f889c56e203d6c8dc86caa6734f45..54cfa95c6cb4f81f78cb1daefec90df46e76ef10 100644 --- a/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java @@ -27,18 +27,15 @@ public final class ASimpleTerm extends PTerm } - public ASimpleTerm(ASimpleTerm node) - { - super(node); - setSpecifier(cloneNode(node._specifier_)); - setId(cloneNode(node._id_)); - setSimpleTermTail(cloneNode(node._simpleTermTail_)); - } - @Override public ASimpleTerm clone() { - return new ASimpleTerm(this); + ASimpleTerm cloned = new ASimpleTerm(); + cloned.setSpecifier(cloneNode(this._specifier_)); + cloned.setId(cloneNode(this._id_)); + cloned.setSimpleTermTail(cloneNode(this._simpleTermTail_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java b/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java index 626ff012036ea7c35177c470a56d78b0536f5a18..429335d44413e4c4a87ecb3d47947a3c2dc2f33b 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java @@ -19,16 +19,13 @@ public final class AStarUnOp extends PUnOp } - public AStarUnOp(AStarUnOp node) - { - super(node); - setStar(cloneNode(node._star_)); - } - @Override public AStarUnOp clone() { - return new AStarUnOp(this); + AStarUnOp cloned = new AStarUnOp(); + cloned.setStar(cloneNode(this._star_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStateList.java b/src/main/java/org/sablecc/sablecc/node/AStateList.java index 706d3c7ddeaed996c9c69bd7a0351661519fb6f4..8ac649a07461ed89a81777c55dc4c3f8a32b5d93 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStateList.java +++ b/src/main/java/org/sablecc/sablecc/node/AStateList.java @@ -31,18 +31,15 @@ public final class AStateList extends PStateList } - public AStateList(AStateList node) - { - super(node); - setId(cloneNode(node._id_)); - setTransition(cloneNode(node._transition_)); - setStateLists(cloneList(node._stateLists_)); - } - @Override public AStateList clone() { - return new AStateList(this); + AStateList cloned = new AStateList(); + cloned.setId(cloneNode(this._id_)); + cloned.setTransition(cloneNode(this._transition_)); + cloned.setStateLists(cloneList(this._stateLists_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStateListTail.java b/src/main/java/org/sablecc/sablecc/node/AStateListTail.java index 6f5222864c45d681ec832a2430f8519a444e86b8..d769f961dbdc6ef47e05da3fc4a5c6806e2c8697 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStateListTail.java +++ b/src/main/java/org/sablecc/sablecc/node/AStateListTail.java @@ -23,17 +23,14 @@ public final class AStateListTail extends PStateListTail } - public AStateListTail(AStateListTail node) - { - super(node); - setId(cloneNode(node._id_)); - setTransition(cloneNode(node._transition_)); - } - @Override public AStateListTail clone() { - return new AStateListTail(this); + AStateListTail cloned = new AStateListTail(); + cloned.setId(cloneNode(this._id_)); + cloned.setTransition(cloneNode(this._transition_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStates.java b/src/main/java/org/sablecc/sablecc/node/AStates.java index a5bd2e06f6ce99e7f00f662fc8e062c53cfab678..634dbf6e397af84e77f585052cdcd4cb3e4fc8e2 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStates.java +++ b/src/main/java/org/sablecc/sablecc/node/AStates.java @@ -23,16 +23,13 @@ public final class AStates extends PStates } - public AStates(AStates node) - { - super(node); - setListId(cloneList(node._listId_)); - } - @Override public AStates clone() { - return new AStates(this); + AStates cloned = new AStates(); + cloned.setListId(cloneList(this._listId_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStringBasic.java b/src/main/java/org/sablecc/sablecc/node/AStringBasic.java index ff1dd0a0d49bd4a47c9417cb9c8e706e8e9b8bb3..5ea18ba0f098812720737786888a10ff4d0e370d 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStringBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/AStringBasic.java @@ -19,16 +19,13 @@ public final class AStringBasic extends PBasic } - public AStringBasic(AStringBasic node) - { - super(node); - setString(cloneNode(node._string_)); - } - @Override public AStringBasic clone() { - return new AStringBasic(this); + AStringBasic cloned = new AStringBasic(); + cloned.setString(cloneNode(this._string_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATokenDef.java b/src/main/java/org/sablecc/sablecc/node/ATokenDef.java index b7af9703df8e7beb6eb767b1ffe14b14d41b0681..85868b13476ca8a5538e62c85d9dbce74b68540b 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATokenDef.java +++ b/src/main/java/org/sablecc/sablecc/node/ATokenDef.java @@ -35,20 +35,17 @@ public final class ATokenDef extends PTokenDef } - public ATokenDef(ATokenDef node) - { - super(node); - setStateList(cloneNode(node._stateList_)); - setId(cloneNode(node._id_)); - setRegExp(cloneNode(node._regExp_)); - setSlash(cloneNode(node._slash_)); - setLookAhead(cloneNode(node._lookAhead_)); - } - @Override public ATokenDef clone() { - return new ATokenDef(this); + ATokenDef cloned = new ATokenDef(); + cloned.setStateList(cloneNode(this._stateList_)); + cloned.setId(cloneNode(this._id_)); + cloned.setRegExp(cloneNode(this._regExp_)); + cloned.setSlash(cloneNode(this._slash_)); + cloned.setLookAhead(cloneNode(this._lookAhead_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java b/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java index b4223d8a7e03f741fb066afc2d5f9c209fb60c6d..13242e877e8967dbd85b5bf90deaa1be5f90c316 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java @@ -11,15 +11,12 @@ public final class ATokenSpecifier extends PSpecifier { } - public ATokenSpecifier(ATokenSpecifier node) - { - super(node); - } - @Override public ATokenSpecifier clone() { - return new ATokenSpecifier(this); + ATokenSpecifier cloned = new ATokenSpecifier(); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATokens.java b/src/main/java/org/sablecc/sablecc/node/ATokens.java index d07b76d12cf03bb4245035872f64cf858325afc8..29e09905844a0b8b31211f37956b3d588936e5d9 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATokens.java +++ b/src/main/java/org/sablecc/sablecc/node/ATokens.java @@ -23,16 +23,13 @@ public final class ATokens extends PTokens } - public ATokens(ATokens node) - { - super(node); - setTokenDefs(cloneList(node._tokenDefs_)); - } - @Override public ATokens clone() { - return new ATokens(this); + ATokens cloned = new ATokens(); + cloned.setTokenDefs(cloneList(this._tokenDefs_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATransition.java b/src/main/java/org/sablecc/sablecc/node/ATransition.java index 0e5499fb16083f7fb555f486833e752fc9bf4d8e..e13d1cbd44c30a837ddbdb3c1918aed5d7e2b6bf 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATransition.java +++ b/src/main/java/org/sablecc/sablecc/node/ATransition.java @@ -19,16 +19,13 @@ public final class ATransition extends PTransition } - public ATransition(ATransition node) - { - super(node); - setId(cloneNode(node._id_)); - } - @Override public ATransition clone() { - return new ATransition(this); + ATransition cloned = new ATransition(); + cloned.setId(cloneNode(this._id_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AUnExp.java b/src/main/java/org/sablecc/sablecc/node/AUnExp.java index 6d7d40d738e775435094d94a6065bcae51b2aa65..2fcf0268ddbf597fd41f470dc30d90a20a171461 100644 --- a/src/main/java/org/sablecc/sablecc/node/AUnExp.java +++ b/src/main/java/org/sablecc/sablecc/node/AUnExp.java @@ -23,17 +23,14 @@ public final class AUnExp extends PUnExp } - public AUnExp(AUnExp node) - { - super(node); - setBasic(cloneNode(node._basic_)); - setUnOp(cloneNode(node._unOp_)); - } - @Override public AUnExp clone() { - return new AUnExp(this); + AUnExp cloned = new AUnExp(); + cloned.setBasic(cloneNode(this._basic_)); + cloned.setUnOp(cloneNode(this._unOp_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/EOF.java b/src/main/java/org/sablecc/sablecc/node/EOF.java index 8d7e017e119d18af04ebeca9e6e6f910dcd7a282..7def3d3b7921c4ee689fd634a4cd043c3c2cb3e4 100644 --- a/src/main/java/org/sablecc/sablecc/node/EOF.java +++ b/src/main/java/org/sablecc/sablecc/node/EOF.java @@ -16,15 +16,12 @@ public final class EOF extends Token super("", line, pos); } - public EOF(EOF token) - { - super(token); - } - @Override public EOF clone() { - return new EOF(this); + EOF cloned = new EOF(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/Node.java b/src/main/java/org/sablecc/sablecc/node/Node.java index f37caa17aa10369ec626ddc9a28edc095347f5e2..625a97e1b9c16d16cfa072d767d4fd651a4fa26f 100644 --- a/src/main/java/org/sablecc/sablecc/node/Node.java +++ b/src/main/java/org/sablecc/sablecc/node/Node.java @@ -14,14 +14,8 @@ public abstract class Node extends PositionedNode implements Switchable, Cloneab protected Node() {} - protected Node(Node node) - { - super(node); - // Copy constructor intentionally does not keep parent! - // The new copied node is not a child of the original parent anymore. - this.parent = null; - } - + // clone intentionally does not keep parent! + // The new copied node is not a child of the original parent anymore. @Override public abstract Node clone(); diff --git a/src/main/java/org/sablecc/sablecc/node/PAlt.java b/src/main/java/org/sablecc/sablecc/node/PAlt.java index 805ab230e329fd4693a7994ac3b49cd7e3f32695..335c44afacb91a9f85d25c1c6a22d126759d4c13 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/PAlt.java @@ -7,11 +7,6 @@ public abstract class PAlt extends Node public PAlt() {} - public PAlt(PAlt node) - { - super(node); - } - @Override public abstract PAlt clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAltTransform.java b/src/main/java/org/sablecc/sablecc/node/PAltTransform.java index f0eafa2ea20ba7bc6895e3f410c8c79566b18ac5..91fdd2ff024d0132d8856ddcc8d8eab87c355d52 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAltTransform.java +++ b/src/main/java/org/sablecc/sablecc/node/PAltTransform.java @@ -7,11 +7,6 @@ public abstract class PAltTransform extends Node public PAltTransform() {} - public PAltTransform(PAltTransform node) - { - super(node); - } - @Override public abstract PAltTransform clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAst.java b/src/main/java/org/sablecc/sablecc/node/PAst.java index 04d7430515d9fa82ccfb32cb04b3783329803d63..7d930110c5e879d86048bb7fe2bad88bdfae3b8e 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAst.java +++ b/src/main/java/org/sablecc/sablecc/node/PAst.java @@ -7,11 +7,6 @@ public abstract class PAst extends Node public PAst() {} - public PAst(PAst node) - { - super(node); - } - @Override public abstract PAst clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAstAlt.java b/src/main/java/org/sablecc/sablecc/node/PAstAlt.java index 7fa3763890d2b5441d693633db0c2d3526a8b452..68d31598c945084493bedad7568b43040faa6465 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAstAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/PAstAlt.java @@ -7,11 +7,6 @@ public abstract class PAstAlt extends Node public PAstAlt() {} - public PAstAlt(PAstAlt node) - { - super(node); - } - @Override public abstract PAstAlt clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAstProd.java b/src/main/java/org/sablecc/sablecc/node/PAstProd.java index de12a50aa730b3d35c761e96a8a20b47a192de19..d472b417416ba6d542bd06612a773acd60b887ee 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAstProd.java +++ b/src/main/java/org/sablecc/sablecc/node/PAstProd.java @@ -7,11 +7,6 @@ public abstract class PAstProd extends Node public PAstProd() {} - public PAstProd(PAstProd node) - { - super(node); - } - @Override public abstract PAstProd clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PBasic.java b/src/main/java/org/sablecc/sablecc/node/PBasic.java index 2a3b4b9c02c9a6371c9a782958d8f2bd31fabd80..d2dce6ef952642bf8c18275125bb61e3adf840b0 100644 --- a/src/main/java/org/sablecc/sablecc/node/PBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/PBasic.java @@ -7,11 +7,6 @@ public abstract class PBasic extends Node public PBasic() {} - public PBasic(PBasic node) - { - super(node); - } - @Override public abstract PBasic clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PBinOp.java b/src/main/java/org/sablecc/sablecc/node/PBinOp.java index 1d35acb71ff9a10a68dfa8bf74677218ba20bd86..4e0f60584b94ca30b0ee54265420e4ed6cfaf23b 100644 --- a/src/main/java/org/sablecc/sablecc/node/PBinOp.java +++ b/src/main/java/org/sablecc/sablecc/node/PBinOp.java @@ -7,11 +7,6 @@ public abstract class PBinOp extends Node public PBinOp() {} - public PBinOp(PBinOp node) - { - super(node); - } - @Override public abstract PBinOp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PChar.java b/src/main/java/org/sablecc/sablecc/node/PChar.java index 1e1975cc9edebdde7462b3d85320c5e4b857a8f1..429049b23b87c0d313325b9e1abccaceebe830a3 100644 --- a/src/main/java/org/sablecc/sablecc/node/PChar.java +++ b/src/main/java/org/sablecc/sablecc/node/PChar.java @@ -7,11 +7,6 @@ public abstract class PChar extends Node public PChar() {} - public PChar(PChar node) - { - super(node); - } - @Override public abstract PChar clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PConcat.java b/src/main/java/org/sablecc/sablecc/node/PConcat.java index 7c9ef83e1a5faa05761ed20a792560264a01ea72..20dce0e6b3a8dedc385ffd865acae6e38d4727b2 100644 --- a/src/main/java/org/sablecc/sablecc/node/PConcat.java +++ b/src/main/java/org/sablecc/sablecc/node/PConcat.java @@ -7,11 +7,6 @@ public abstract class PConcat extends Node public PConcat() {} - public PConcat(PConcat node) - { - super(node); - } - @Override public abstract PConcat clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PElem.java b/src/main/java/org/sablecc/sablecc/node/PElem.java index 748f1bc5ec9b069d99b54db2d2a361af026991c5..b7ec72420bce7a324a1ccd07feea281c51d43835 100644 --- a/src/main/java/org/sablecc/sablecc/node/PElem.java +++ b/src/main/java/org/sablecc/sablecc/node/PElem.java @@ -7,11 +7,6 @@ public abstract class PElem extends Node public PElem() {} - public PElem(PElem node) - { - super(node); - } - @Override public abstract PElem clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PGrammar.java b/src/main/java/org/sablecc/sablecc/node/PGrammar.java index 8501e4c0b95d2135664b18fb021ad9742313759e..aadfe6a6dd10c48823d15294ee04d10a1f64236e 100644 --- a/src/main/java/org/sablecc/sablecc/node/PGrammar.java +++ b/src/main/java/org/sablecc/sablecc/node/PGrammar.java @@ -7,11 +7,6 @@ public abstract class PGrammar extends Node public PGrammar() {} - public PGrammar(PGrammar node) - { - super(node); - } - @Override public abstract PGrammar clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PHelperDef.java b/src/main/java/org/sablecc/sablecc/node/PHelperDef.java index b9e501dc3ebc011a5faf44dd0934345c69fa6740..7a2a876ea1f7d6e3b547065e03d194d826b43449 100644 --- a/src/main/java/org/sablecc/sablecc/node/PHelperDef.java +++ b/src/main/java/org/sablecc/sablecc/node/PHelperDef.java @@ -7,11 +7,6 @@ public abstract class PHelperDef extends Node public PHelperDef() {} - public PHelperDef(PHelperDef node) - { - super(node); - } - @Override public abstract PHelperDef clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PHelpers.java b/src/main/java/org/sablecc/sablecc/node/PHelpers.java index a1ddbf2b92fa1914726da310f944720600c43a22..bbff36bc1c3559d2ae9bb3f756c8ebfba3e45a16 100644 --- a/src/main/java/org/sablecc/sablecc/node/PHelpers.java +++ b/src/main/java/org/sablecc/sablecc/node/PHelpers.java @@ -7,11 +7,6 @@ public abstract class PHelpers extends Node public PHelpers() {} - public PHelpers(PHelpers node) - { - super(node); - } - @Override public abstract PHelpers clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java b/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java index fb53108b47c422f028ac881a09990a31f790c53c..68cee2aa92ed7da9618a6f471ff3297e2e6ec16e 100644 --- a/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java @@ -7,11 +7,6 @@ public abstract class PIgnTokens extends Node public PIgnTokens() {} - public PIgnTokens(PIgnTokens node) - { - super(node); - } - @Override public abstract PIgnTokens clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PListTerm.java b/src/main/java/org/sablecc/sablecc/node/PListTerm.java index d8e7a48fc7537f0a1ca95dfc1a9eec33df44497b..5003121a98afea2aa37585c621f803d69638b38d 100644 --- a/src/main/java/org/sablecc/sablecc/node/PListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/PListTerm.java @@ -7,11 +7,6 @@ public abstract class PListTerm extends Node public PListTerm() {} - public PListTerm(PListTerm node) - { - super(node); - } - @Override public abstract PListTerm clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PProd.java b/src/main/java/org/sablecc/sablecc/node/PProd.java index 2d9db40db2087d7b65bc2e48ba491854392625a8..74e3accd24b645260b2dfba3e96042aa058b59f6 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProd.java +++ b/src/main/java/org/sablecc/sablecc/node/PProd.java @@ -7,11 +7,6 @@ public abstract class PProd extends Node public PProd() {} - public PProd(PProd node) - { - super(node); - } - @Override public abstract PProd clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PProdName.java b/src/main/java/org/sablecc/sablecc/node/PProdName.java index 380e8da86d939305a4353354040908258a3175e7..04b99c52c94d6566e06c02784525d71cefbfe329 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProdName.java +++ b/src/main/java/org/sablecc/sablecc/node/PProdName.java @@ -7,11 +7,6 @@ public abstract class PProdName extends Node public PProdName() {} - public PProdName(PProdName node) - { - super(node); - } - @Override public abstract PProdName clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PProductions.java b/src/main/java/org/sablecc/sablecc/node/PProductions.java index 98da82638503ce58f7d0a5dcab776c74d0f75a45..d908b9b0352032c364b530ee25c5e77f870d8005 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProductions.java +++ b/src/main/java/org/sablecc/sablecc/node/PProductions.java @@ -7,11 +7,6 @@ public abstract class PProductions extends Node public PProductions() {} - public PProductions(PProductions node) - { - super(node); - } - @Override public abstract PProductions clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PRegExp.java b/src/main/java/org/sablecc/sablecc/node/PRegExp.java index 3ebc5a202aafbe5c3b3c9eeb7876811385bff89e..93ddece2d97a84b2d1f1cd8f6b19d7810b739821 100644 --- a/src/main/java/org/sablecc/sablecc/node/PRegExp.java +++ b/src/main/java/org/sablecc/sablecc/node/PRegExp.java @@ -7,11 +7,6 @@ public abstract class PRegExp extends Node public PRegExp() {} - public PRegExp(PRegExp node) - { - super(node); - } - @Override public abstract PRegExp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PSet.java b/src/main/java/org/sablecc/sablecc/node/PSet.java index e9d659382aa480c0e48ba2bc7cecb37981d8a5f4..a4ca9c14a66e5b4469c6b88d42786a7729b21696 100644 --- a/src/main/java/org/sablecc/sablecc/node/PSet.java +++ b/src/main/java/org/sablecc/sablecc/node/PSet.java @@ -7,11 +7,6 @@ public abstract class PSet extends Node public PSet() {} - public PSet(PSet node) - { - super(node); - } - @Override public abstract PSet clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PSpecifier.java b/src/main/java/org/sablecc/sablecc/node/PSpecifier.java index 39fc6267212ab15aa372725b0867cca14da46a45..ded4e7da3bfcffa9d05dddad0134a000c9dc3de8 100644 --- a/src/main/java/org/sablecc/sablecc/node/PSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/PSpecifier.java @@ -7,11 +7,6 @@ public abstract class PSpecifier extends Node public PSpecifier() {} - public PSpecifier(PSpecifier node) - { - super(node); - } - @Override public abstract PSpecifier clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PStateList.java b/src/main/java/org/sablecc/sablecc/node/PStateList.java index b8509d11053b69d32c20260b72b11cb4af5e9d2d..42a20d56da71d12c7dd7f5bf65d3445eff0879a8 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStateList.java +++ b/src/main/java/org/sablecc/sablecc/node/PStateList.java @@ -7,11 +7,6 @@ public abstract class PStateList extends Node public PStateList() {} - public PStateList(PStateList node) - { - super(node); - } - @Override public abstract PStateList clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PStateListTail.java b/src/main/java/org/sablecc/sablecc/node/PStateListTail.java index 3968b1082c1f172e094d050aea9c395ceea9be7a..efe93dfa741c6349f4093a46554a7756511a76d6 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStateListTail.java +++ b/src/main/java/org/sablecc/sablecc/node/PStateListTail.java @@ -7,11 +7,6 @@ public abstract class PStateListTail extends Node public PStateListTail() {} - public PStateListTail(PStateListTail node) - { - super(node); - } - @Override public abstract PStateListTail clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PStates.java b/src/main/java/org/sablecc/sablecc/node/PStates.java index c0f22d478a1f94a32d4197f128defd220ab886fe..d0e1df0d189d06a5504d9b8785c58538efe5ad92 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStates.java +++ b/src/main/java/org/sablecc/sablecc/node/PStates.java @@ -7,11 +7,6 @@ public abstract class PStates extends Node public PStates() {} - public PStates(PStates node) - { - super(node); - } - @Override public abstract PStates clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTerm.java b/src/main/java/org/sablecc/sablecc/node/PTerm.java index e3e93730dcc61b39ac3fa36b010370dca07f8e4f..cef531ebece54066edc765544cd10a68eaca2e88 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/PTerm.java @@ -7,11 +7,6 @@ public abstract class PTerm extends Node public PTerm() {} - public PTerm(PTerm node) - { - super(node); - } - @Override public abstract PTerm clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTokenDef.java b/src/main/java/org/sablecc/sablecc/node/PTokenDef.java index 783f7429f527e3eedcf317914e7b161f270ee6a2..b5d33a2875891d85c22f0b33af8617b359bb9a70 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTokenDef.java +++ b/src/main/java/org/sablecc/sablecc/node/PTokenDef.java @@ -7,11 +7,6 @@ public abstract class PTokenDef extends Node public PTokenDef() {} - public PTokenDef(PTokenDef node) - { - super(node); - } - @Override public abstract PTokenDef clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTokens.java b/src/main/java/org/sablecc/sablecc/node/PTokens.java index d0b4af8c15e5b50afc3796e6d741b82361346bb3..bf5b1007e15bed318aeead1f49dcb7fab01d2b81 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/PTokens.java @@ -7,11 +7,6 @@ public abstract class PTokens extends Node public PTokens() {} - public PTokens(PTokens node) - { - super(node); - } - @Override public abstract PTokens clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTransition.java b/src/main/java/org/sablecc/sablecc/node/PTransition.java index d8b166d4d497dbacadd8f8227dfb0788a3d1b68d..a03a228450fd9c0832ccbebfae46daeec446d082 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTransition.java +++ b/src/main/java/org/sablecc/sablecc/node/PTransition.java @@ -7,11 +7,6 @@ public abstract class PTransition extends Node public PTransition() {} - public PTransition(PTransition node) - { - super(node); - } - @Override public abstract PTransition clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PUnExp.java b/src/main/java/org/sablecc/sablecc/node/PUnExp.java index 28f0cbadbcaa0433cdd6501c21abaeab6d660806..202c34923d65959d29d2c498596e4f0732169d4d 100644 --- a/src/main/java/org/sablecc/sablecc/node/PUnExp.java +++ b/src/main/java/org/sablecc/sablecc/node/PUnExp.java @@ -7,11 +7,6 @@ public abstract class PUnExp extends Node public PUnExp() {} - public PUnExp(PUnExp node) - { - super(node); - } - @Override public abstract PUnExp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PUnOp.java b/src/main/java/org/sablecc/sablecc/node/PUnOp.java index fc09a3313178fcab10351741575164f30ca6bfe3..8df12aa95d50dd318c033a493cc1caa55486a54d 100644 --- a/src/main/java/org/sablecc/sablecc/node/PUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/PUnOp.java @@ -7,11 +7,6 @@ public abstract class PUnOp extends Node public PUnOp() {} - public PUnOp(PUnOp node) - { - super(node); - } - @Override public abstract PUnOp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/Start.java b/src/main/java/org/sablecc/sablecc/node/Start.java index 751cb6f4ecd20d226a1d28f993d4b4846325ee64..a94f2e8a8b6e7a45b88077c3923a9411856f5ed8 100644 --- a/src/main/java/org/sablecc/sablecc/node/Start.java +++ b/src/main/java/org/sablecc/sablecc/node/Start.java @@ -20,17 +20,14 @@ public final class Start extends Node setEOF(_eof_); } - public Start(Start node) - { - super(node); - setPGrammar(cloneNode(node._pGrammar_)); - setEOF(cloneNode(node._eof_)); - } - @Override public Start clone() { - return new Start(this); + Start cloned = new Start(); + cloned.setPGrammar(cloneNode(this._pGrammar_)); + cloned.setEOF(cloneNode(this._eof_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TAbstract.java b/src/main/java/org/sablecc/sablecc/node/TAbstract.java index ba9a91097dae626ad254bf4d4e5d9b7f11885fa6..9eb16f496b73be1c2112d0ecde65cce6c5ee6708 100644 --- a/src/main/java/org/sablecc/sablecc/node/TAbstract.java +++ b/src/main/java/org/sablecc/sablecc/node/TAbstract.java @@ -16,15 +16,12 @@ public final class TAbstract extends Token super("Abstract", line, pos); } - public TAbstract(TAbstract token) - { - super(token); - } - @Override public TAbstract clone() { - return new TAbstract(this); + TAbstract cloned = new TAbstract(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TArrow.java b/src/main/java/org/sablecc/sablecc/node/TArrow.java index 9a2221108eff3e2ff7d6c4408d976f51f442fdb5..e57d2dd6b135339e5c1414ba5cf9b1a81ad535ec 100644 --- a/src/main/java/org/sablecc/sablecc/node/TArrow.java +++ b/src/main/java/org/sablecc/sablecc/node/TArrow.java @@ -16,15 +16,12 @@ public final class TArrow extends Token super("->", line, pos); } - public TArrow(TArrow token) - { - super(token); - } - @Override public TArrow clone() { - return new TArrow(this); + TArrow cloned = new TArrow(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TBar.java b/src/main/java/org/sablecc/sablecc/node/TBar.java index 36d967f0f6ad392ed88026d04571a2e369b8b088..a8a646b8010f150f66a951a296cdecfccc669060 100644 --- a/src/main/java/org/sablecc/sablecc/node/TBar.java +++ b/src/main/java/org/sablecc/sablecc/node/TBar.java @@ -16,15 +16,12 @@ public final class TBar extends Token super("|", line, pos); } - public TBar(TBar token) - { - super(token); - } - @Override public TBar clone() { - return new TBar(this); + TBar cloned = new TBar(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TBlank.java b/src/main/java/org/sablecc/sablecc/node/TBlank.java index de51cb91f026c3706c08738e36dad023cca4f31c..c5d52b6e2605dd4fbf2e17cc551bbf048b3a7c89 100644 --- a/src/main/java/org/sablecc/sablecc/node/TBlank.java +++ b/src/main/java/org/sablecc/sablecc/node/TBlank.java @@ -16,15 +16,12 @@ public final class TBlank extends Token super(text, line, pos); } - public TBlank(TBlank token) - { - super(token); - } - @Override public TBlank clone() { - return new TBlank(this); + TBlank cloned = new TBlank(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TChar.java b/src/main/java/org/sablecc/sablecc/node/TChar.java index aecb775ca04dbf1cb0fa709c0c80c37adbdd289e..1a7cef393bf415bf4fd60aaad4ec69eee7b5e81f 100644 --- a/src/main/java/org/sablecc/sablecc/node/TChar.java +++ b/src/main/java/org/sablecc/sablecc/node/TChar.java @@ -16,15 +16,12 @@ public final class TChar extends Token super(text, line, pos); } - public TChar(TChar token) - { - super(token); - } - @Override public TChar clone() { - return new TChar(this); + TChar cloned = new TChar(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TColon.java b/src/main/java/org/sablecc/sablecc/node/TColon.java index 76e6ae69214ea2345d1683deb945ac071769d75f..34eb313cc71856ddeb66e141b1123924f9e01008 100644 --- a/src/main/java/org/sablecc/sablecc/node/TColon.java +++ b/src/main/java/org/sablecc/sablecc/node/TColon.java @@ -16,15 +16,12 @@ public final class TColon extends Token super(":", line, pos); } - public TColon(TColon token) - { - super(token); - } - @Override public TColon clone() { - return new TColon(this); + TColon cloned = new TColon(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TComma.java b/src/main/java/org/sablecc/sablecc/node/TComma.java index 485b422a4c9a088306c527ebaab3286e13c1a010..2f21c7deaf81ac39132a6b0b76b9776bb4995a9e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TComma.java +++ b/src/main/java/org/sablecc/sablecc/node/TComma.java @@ -16,15 +16,12 @@ public final class TComma extends Token super(",", line, pos); } - public TComma(TComma token) - { - super(token); - } - @Override public TComma clone() { - return new TComma(this); + TComma cloned = new TComma(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TComment.java b/src/main/java/org/sablecc/sablecc/node/TComment.java index 9f9f1a52e64a25d5f27e6d676d6c53908a02f3eb..106474b5d9682aec5334d8464f74f1b822a7326e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TComment.java +++ b/src/main/java/org/sablecc/sablecc/node/TComment.java @@ -16,15 +16,12 @@ public final class TComment extends Token super(text, line, pos); } - public TComment(TComment token) - { - super(token); - } - @Override public TComment clone() { - return new TComment(this); + TComment cloned = new TComment(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TDDot.java b/src/main/java/org/sablecc/sablecc/node/TDDot.java index 0c2dd1f54cec3ca9429da62499093792f12fcec5..a3651ae666355bd895b42ec5aae0aa35d6f9907e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TDDot.java +++ b/src/main/java/org/sablecc/sablecc/node/TDDot.java @@ -16,15 +16,12 @@ public final class TDDot extends Token super("..", line, pos); } - public TDDot(TDDot token) - { - super(token); - } - @Override public TDDot clone() { - return new TDDot(this); + TDDot cloned = new TDDot(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TDecChar.java b/src/main/java/org/sablecc/sablecc/node/TDecChar.java index 22104e3f91115ac6cb8f78933abdab1619c149dd..5e7204f20585ff8018dad961cccb4102a63c1094 100644 --- a/src/main/java/org/sablecc/sablecc/node/TDecChar.java +++ b/src/main/java/org/sablecc/sablecc/node/TDecChar.java @@ -16,15 +16,12 @@ public final class TDecChar extends Token super(text, line, pos); } - public TDecChar(TDecChar token) - { - super(token); - } - @Override public TDecChar clone() { - return new TDecChar(this); + TDecChar cloned = new TDecChar(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TDot.java b/src/main/java/org/sablecc/sablecc/node/TDot.java index 394e43fad398c48a2557843d1629672b62febd73..fae4247bc794ea0a10ed0e728e0b3363ada8a34b 100644 --- a/src/main/java/org/sablecc/sablecc/node/TDot.java +++ b/src/main/java/org/sablecc/sablecc/node/TDot.java @@ -16,15 +16,12 @@ public final class TDot extends Token super(".", line, pos); } - public TDot(TDot token) - { - super(token); - } - @Override public TDot clone() { - return new TDot(this); + TDot cloned = new TDot(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TEqual.java b/src/main/java/org/sablecc/sablecc/node/TEqual.java index c5b4c7c7ebfacb1cfb3fe71b159263b20eb0ad58..ae88febdc0b362698448d20da1cab3c8a126fcad 100644 --- a/src/main/java/org/sablecc/sablecc/node/TEqual.java +++ b/src/main/java/org/sablecc/sablecc/node/TEqual.java @@ -16,15 +16,12 @@ public final class TEqual extends Token super("=", line, pos); } - public TEqual(TEqual token) - { - super(token); - } - @Override public TEqual clone() { - return new TEqual(this); + TEqual cloned = new TEqual(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/THelpers.java b/src/main/java/org/sablecc/sablecc/node/THelpers.java index 27b296643b6d1d6a265ce6c282a7eaf899f833e5..9f75a089a0a0d873551a9444d7096eb8692aae06 100644 --- a/src/main/java/org/sablecc/sablecc/node/THelpers.java +++ b/src/main/java/org/sablecc/sablecc/node/THelpers.java @@ -16,15 +16,12 @@ public final class THelpers extends Token super("Helpers", line, pos); } - public THelpers(THelpers token) - { - super(token); - } - @Override public THelpers clone() { - return new THelpers(this); + THelpers cloned = new THelpers(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/THexChar.java b/src/main/java/org/sablecc/sablecc/node/THexChar.java index 2b09dc0d88ab19560397df0b41dbfab78b8c5ccc..3f1273f41fd65646feb9e9602d7380e73c6b8e9b 100644 --- a/src/main/java/org/sablecc/sablecc/node/THexChar.java +++ b/src/main/java/org/sablecc/sablecc/node/THexChar.java @@ -16,15 +16,12 @@ public final class THexChar extends Token super(text, line, pos); } - public THexChar(THexChar token) - { - super(token); - } - @Override public THexChar clone() { - return new THexChar(this); + THexChar cloned = new THexChar(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TId.java b/src/main/java/org/sablecc/sablecc/node/TId.java index 4323e68cb24f7454b0efae7c78019c850a5a2ea7..1919e4978152707e08d2cb93ba45578a5b7211e0 100644 --- a/src/main/java/org/sablecc/sablecc/node/TId.java +++ b/src/main/java/org/sablecc/sablecc/node/TId.java @@ -16,15 +16,12 @@ public final class TId extends Token super(text, line, pos); } - public TId(TId token) - { - super(token); - } - @Override public TId clone() { - return new TId(this); + TId cloned = new TId(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TIgnored.java b/src/main/java/org/sablecc/sablecc/node/TIgnored.java index 3512dee9b0c0362c7c73071d6776b4aa7d20b318..17d14137992fa72c501c48dd8524abc4d523a051 100644 --- a/src/main/java/org/sablecc/sablecc/node/TIgnored.java +++ b/src/main/java/org/sablecc/sablecc/node/TIgnored.java @@ -16,15 +16,12 @@ public final class TIgnored extends Token super("Ignored", line, pos); } - public TIgnored(TIgnored token) - { - super(token); - } - @Override public TIgnored clone() { - return new TIgnored(this); + TIgnored cloned = new TIgnored(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TLBkt.java b/src/main/java/org/sablecc/sablecc/node/TLBkt.java index 8e5a83766b396eb6532f5fc8d0f6f8a0c97fb9b2..831576ba0ce398a9809a4fc9b2e6da40ebe26fde 100644 --- a/src/main/java/org/sablecc/sablecc/node/TLBkt.java +++ b/src/main/java/org/sablecc/sablecc/node/TLBkt.java @@ -16,15 +16,12 @@ public final class TLBkt extends Token super("[", line, pos); } - public TLBkt(TLBkt token) - { - super(token); - } - @Override public TLBkt clone() { - return new TLBkt(this); + TLBkt cloned = new TLBkt(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TLBrace.java b/src/main/java/org/sablecc/sablecc/node/TLBrace.java index a3dcb1575de2416c633b7d8db73928ab2aa42c47..0647fe873bc8d00def4dc94468e17a3806b50040 100644 --- a/src/main/java/org/sablecc/sablecc/node/TLBrace.java +++ b/src/main/java/org/sablecc/sablecc/node/TLBrace.java @@ -16,15 +16,12 @@ public final class TLBrace extends Token super("{", line, pos); } - public TLBrace(TLBrace token) - { - super(token); - } - @Override public TLBrace clone() { - return new TLBrace(this); + TLBrace cloned = new TLBrace(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TLPar.java b/src/main/java/org/sablecc/sablecc/node/TLPar.java index 8ba1e87a8b3fa02e5c843ad25c5ce11c91ab1b14..3f4c1abf01f459059c288c4962c3ec67d0ff7916 100644 --- a/src/main/java/org/sablecc/sablecc/node/TLPar.java +++ b/src/main/java/org/sablecc/sablecc/node/TLPar.java @@ -16,15 +16,12 @@ public final class TLPar extends Token super("(", line, pos); } - public TLPar(TLPar token) - { - super(token); - } - @Override public TLPar clone() { - return new TLPar(this); + TLPar cloned = new TLPar(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TMinus.java b/src/main/java/org/sablecc/sablecc/node/TMinus.java index 044d65cb72357e26aff5acb55e533c398e16b61e..65589eee518ba65d7446b79b33468a99dd7016b3 100644 --- a/src/main/java/org/sablecc/sablecc/node/TMinus.java +++ b/src/main/java/org/sablecc/sablecc/node/TMinus.java @@ -16,15 +16,12 @@ public final class TMinus extends Token super("-", line, pos); } - public TMinus(TMinus token) - { - super(token); - } - @Override public TMinus clone() { - return new TMinus(this); + TMinus cloned = new TMinus(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TNew.java b/src/main/java/org/sablecc/sablecc/node/TNew.java index fcbcd3051c396bbedb10d79dcaeeba73e9f77c2b..38dff6e096eb919b51843e5d523613451766713e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TNew.java +++ b/src/main/java/org/sablecc/sablecc/node/TNew.java @@ -16,15 +16,12 @@ public final class TNew extends Token super("New", line, pos); } - public TNew(TNew token) - { - super(token); - } - @Override public TNew clone() { - return new TNew(this); + TNew cloned = new TNew(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TNull.java b/src/main/java/org/sablecc/sablecc/node/TNull.java index 47800bb7583b204c45f4d5bca5239993d1678724..16042a48ef03f5f128d775b37913810296d71019 100644 --- a/src/main/java/org/sablecc/sablecc/node/TNull.java +++ b/src/main/java/org/sablecc/sablecc/node/TNull.java @@ -16,15 +16,12 @@ public final class TNull extends Token super("Null", line, pos); } - public TNull(TNull token) - { - super(token); - } - @Override public TNull clone() { - return new TNull(this); + TNull cloned = new TNull(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TPackage.java b/src/main/java/org/sablecc/sablecc/node/TPackage.java index b2854d6dd99d1a3fc4ca87afcb3917aa14a52a5e..4b9ebe82436d33e36acd9f14334719d26a3ffb72 100644 --- a/src/main/java/org/sablecc/sablecc/node/TPackage.java +++ b/src/main/java/org/sablecc/sablecc/node/TPackage.java @@ -16,15 +16,12 @@ public final class TPackage extends Token super("Package", line, pos); } - public TPackage(TPackage token) - { - super(token); - } - @Override public TPackage clone() { - return new TPackage(this); + TPackage cloned = new TPackage(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TPkgId.java b/src/main/java/org/sablecc/sablecc/node/TPkgId.java index 63fd17a18c15cba74a84fd15acf5fb0993984f36..f156efe8ea8f4b4e1e491d1ddd8be87b929f45c9 100644 --- a/src/main/java/org/sablecc/sablecc/node/TPkgId.java +++ b/src/main/java/org/sablecc/sablecc/node/TPkgId.java @@ -16,15 +16,12 @@ public final class TPkgId extends Token super(text, line, pos); } - public TPkgId(TPkgId token) - { - super(token); - } - @Override public TPkgId clone() { - return new TPkgId(this); + TPkgId cloned = new TPkgId(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TPlus.java b/src/main/java/org/sablecc/sablecc/node/TPlus.java index 5098ea0560ef1e54035439e42cf132fcb4afcc76..e12da0e1da7d34660aec1dcd49f4d6771cd1d829 100644 --- a/src/main/java/org/sablecc/sablecc/node/TPlus.java +++ b/src/main/java/org/sablecc/sablecc/node/TPlus.java @@ -16,15 +16,12 @@ public final class TPlus extends Token super("+", line, pos); } - public TPlus(TPlus token) - { - super(token); - } - @Override public TPlus clone() { - return new TPlus(this); + TPlus cloned = new TPlus(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java b/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java index 35a585fa6be8e2e87fc5f860682ba4b287f3b1ef..e8a1615654d92c748326fb225597e24a30df5495 100644 --- a/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java @@ -16,15 +16,12 @@ public final class TProductionSpecifier extends Token super("P", line, pos); } - public TProductionSpecifier(TProductionSpecifier token) - { - super(token); - } - @Override public TProductionSpecifier clone() { - return new TProductionSpecifier(this); + TProductionSpecifier cloned = new TProductionSpecifier(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TProductions.java b/src/main/java/org/sablecc/sablecc/node/TProductions.java index 7f402c305d92a37de0e92f4eabe7fb87c7626215..246be7f46335b9fed24ff75d307df647f4dce0fc 100644 --- a/src/main/java/org/sablecc/sablecc/node/TProductions.java +++ b/src/main/java/org/sablecc/sablecc/node/TProductions.java @@ -16,15 +16,12 @@ public final class TProductions extends Token super("Productions", line, pos); } - public TProductions(TProductions token) - { - super(token); - } - @Override public TProductions clone() { - return new TProductions(this); + TProductions cloned = new TProductions(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TQMark.java b/src/main/java/org/sablecc/sablecc/node/TQMark.java index aebf492424c824f49c0e2c0d80dc133174d7d1e1..76b9f4de3cf8817d82a8149fde75f5c3a275d0ec 100644 --- a/src/main/java/org/sablecc/sablecc/node/TQMark.java +++ b/src/main/java/org/sablecc/sablecc/node/TQMark.java @@ -16,15 +16,12 @@ public final class TQMark extends Token super("?", line, pos); } - public TQMark(TQMark token) - { - super(token); - } - @Override public TQMark clone() { - return new TQMark(this); + TQMark cloned = new TQMark(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TRBkt.java b/src/main/java/org/sablecc/sablecc/node/TRBkt.java index 30552da69e821b2614bd4c7e1ca175c4aeac9f2e..83aafaa438825a05ea64f493fb7df2a50eb9993e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TRBkt.java +++ b/src/main/java/org/sablecc/sablecc/node/TRBkt.java @@ -16,15 +16,12 @@ public final class TRBkt extends Token super("]", line, pos); } - public TRBkt(TRBkt token) - { - super(token); - } - @Override public TRBkt clone() { - return new TRBkt(this); + TRBkt cloned = new TRBkt(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TRBrace.java b/src/main/java/org/sablecc/sablecc/node/TRBrace.java index 04be2a1ce6914e3e527354e4998b865d82334a22..79868e287da33dd98c3d54fdc937a4ac2d564c4b 100644 --- a/src/main/java/org/sablecc/sablecc/node/TRBrace.java +++ b/src/main/java/org/sablecc/sablecc/node/TRBrace.java @@ -16,15 +16,12 @@ public final class TRBrace extends Token super("}", line, pos); } - public TRBrace(TRBrace token) - { - super(token); - } - @Override public TRBrace clone() { - return new TRBrace(this); + TRBrace cloned = new TRBrace(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TRPar.java b/src/main/java/org/sablecc/sablecc/node/TRPar.java index c797774a6b97505a112fcae761b2c370b85d0253..84445c248be9b23111d50f5208148c955aff3323 100644 --- a/src/main/java/org/sablecc/sablecc/node/TRPar.java +++ b/src/main/java/org/sablecc/sablecc/node/TRPar.java @@ -16,15 +16,12 @@ public final class TRPar extends Token super(")", line, pos); } - public TRPar(TRPar token) - { - super(token); - } - @Override public TRPar clone() { - return new TRPar(this); + TRPar cloned = new TRPar(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TSemicolon.java b/src/main/java/org/sablecc/sablecc/node/TSemicolon.java index 144ab07845bd29b7997b497c862c3b5eaecfa03f..92ebc8406dc51db50101dd54ae0246661dca3162 100644 --- a/src/main/java/org/sablecc/sablecc/node/TSemicolon.java +++ b/src/main/java/org/sablecc/sablecc/node/TSemicolon.java @@ -16,15 +16,12 @@ public final class TSemicolon extends Token super(";", line, pos); } - public TSemicolon(TSemicolon token) - { - super(token); - } - @Override public TSemicolon clone() { - return new TSemicolon(this); + TSemicolon cloned = new TSemicolon(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TSlash.java b/src/main/java/org/sablecc/sablecc/node/TSlash.java index 6b2fd73cabe1766d0ed39edc1709bf805171707e..91eccb84701cb02d1da835514a12b5c0fc7ffc8c 100644 --- a/src/main/java/org/sablecc/sablecc/node/TSlash.java +++ b/src/main/java/org/sablecc/sablecc/node/TSlash.java @@ -16,15 +16,12 @@ public final class TSlash extends Token super("/", line, pos); } - public TSlash(TSlash token) - { - super(token); - } - @Override public TSlash clone() { - return new TSlash(this); + TSlash cloned = new TSlash(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TStar.java b/src/main/java/org/sablecc/sablecc/node/TStar.java index c6835917372b09655346de4ac99dcb25049a9e9a..951f1b255771c30df51e2cab3833670375f27a60 100644 --- a/src/main/java/org/sablecc/sablecc/node/TStar.java +++ b/src/main/java/org/sablecc/sablecc/node/TStar.java @@ -16,15 +16,12 @@ public final class TStar extends Token super("*", line, pos); } - public TStar(TStar token) - { - super(token); - } - @Override public TStar clone() { - return new TStar(this); + TStar cloned = new TStar(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TStates.java b/src/main/java/org/sablecc/sablecc/node/TStates.java index 45a75a7d67ae34613f9fef0e7097ae668e90b4b2..44c82ac9378589fdd3a3add9b976814742068e9c 100644 --- a/src/main/java/org/sablecc/sablecc/node/TStates.java +++ b/src/main/java/org/sablecc/sablecc/node/TStates.java @@ -16,15 +16,12 @@ public final class TStates extends Token super("States", line, pos); } - public TStates(TStates token) - { - super(token); - } - @Override public TStates clone() { - return new TStates(this); + TStates cloned = new TStates(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TString.java b/src/main/java/org/sablecc/sablecc/node/TString.java index 452162ec67d17fcc5919c4dcf653914157854a8f..c48a3a0fae5f8f460827a6901220925ada1244c0 100644 --- a/src/main/java/org/sablecc/sablecc/node/TString.java +++ b/src/main/java/org/sablecc/sablecc/node/TString.java @@ -16,15 +16,12 @@ public final class TString extends Token super(text, line, pos); } - public TString(TString token) - { - super(token); - } - @Override public TString clone() { - return new TString(this); + TString cloned = new TString(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TSyntax.java b/src/main/java/org/sablecc/sablecc/node/TSyntax.java index 4e7340f7cc74d3296083ecbf6b18d32ed6c93df2..daa350432ef75c511972a90908ffebed322ed91c 100644 --- a/src/main/java/org/sablecc/sablecc/node/TSyntax.java +++ b/src/main/java/org/sablecc/sablecc/node/TSyntax.java @@ -16,15 +16,12 @@ public final class TSyntax extends Token super("Syntax", line, pos); } - public TSyntax(TSyntax token) - { - super(token); - } - @Override public TSyntax clone() { - return new TSyntax(this); + TSyntax cloned = new TSyntax(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java b/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java index b37b101e402c4fa9ab8c59732cbdebfbf3d63945..c58dcb73a6f8a9b5378e11818cc10575d6e14d12 100644 --- a/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java @@ -16,15 +16,12 @@ public final class TTokenSpecifier extends Token super("T", line, pos); } - public TTokenSpecifier(TTokenSpecifier token) - { - super(token); - } - @Override public TTokenSpecifier clone() { - return new TTokenSpecifier(this); + TTokenSpecifier cloned = new TTokenSpecifier(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TTokens.java b/src/main/java/org/sablecc/sablecc/node/TTokens.java index fac6c7a7fa5c7d2d5aa8fe141bfe7efc54438817..3234e79c24c62116f5cc51fb10750aaf2b392db1 100644 --- a/src/main/java/org/sablecc/sablecc/node/TTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/TTokens.java @@ -16,15 +16,12 @@ public final class TTokens extends Token super("Tokens", line, pos); } - public TTokens(TTokens token) - { - super(token); - } - @Override public TTokens clone() { - return new TTokens(this); + TTokens cloned = new TTokens(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TTree.java b/src/main/java/org/sablecc/sablecc/node/TTree.java index 91100d31f153e753b65ce43dc2265debaae123a4..e101e4436b7d520e7d3fdfdec613ebf38404d1a0 100644 --- a/src/main/java/org/sablecc/sablecc/node/TTree.java +++ b/src/main/java/org/sablecc/sablecc/node/TTree.java @@ -16,15 +16,12 @@ public final class TTree extends Token super("Tree", line, pos); } - public TTree(TTree token) - { - super(token); - } - @Override public TTree clone() { - return new TTree(this); + TTree cloned = new TTree(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/Token.java b/src/main/java/org/sablecc/sablecc/node/Token.java index 628077f9e1f2c706c0bbed22a466a799d2ed5686..57c3cfd55b40363029079cf661b73b7a4a59694b 100644 --- a/src/main/java/org/sablecc/sablecc/node/Token.java +++ b/src/main/java/org/sablecc/sablecc/node/Token.java @@ -25,15 +25,7 @@ public abstract class Token extends Node implements IToken protected Token() { - this((String)null); - } - - protected Token(Token token) - { - super(token); - this.text = token.text; - this.line = token.line; - this.pos = token.pos; + this(null); } @Override diff --git a/src/main/resources/org/sablecc/sablecc/alternatives.txt b/src/main/resources/org/sablecc/sablecc/alternatives.txt index 3dd2fc3dd641175b3d656a986e8061e7c53bc785..bb0c56f326b075e9b9af24c33eb88fcc42349e39 100644 --- a/src/main/resources/org/sablecc/sablecc/alternatives.txt +++ b/src/main/resources/org/sablecc/sablecc/alternatives.txt @@ -79,29 +79,26 @@ $ Macro:CloneHeader - public $0$($0$ node) + @Override + public $0$ clone() { - super(node); + $0$ cloned = new $0$(); $ Macro:CloneBodyNode - set$0$(cloneNode(node._$1$_)); + cloned.set$0$(cloneNode(this._$1$_)); $ Macro:CloneBodyList - set$0$(cloneList(node._$1$_)); + cloned.set$0$(cloneList(this._$1$_)); $ Macro:CloneTail - } - - @Override - public $0$ clone() - { - return new $0$(this); + cloned.initSourcePositionsFrom(this); + return cloned; } $ diff --git a/src/main/resources/org/sablecc/sablecc/productions.txt b/src/main/resources/org/sablecc/sablecc/productions.txt index 2957990e5c297ab2e0b5dbcb18131f2eaf47b8eb..fc8415741dd9d8621ca9325ff06130c9d4493c6e 100644 --- a/src/main/resources/org/sablecc/sablecc/productions.txt +++ b/src/main/resources/org/sablecc/sablecc/productions.txt @@ -15,11 +15,6 @@ public abstract class $1$ extends Node public $1$() {} - public $1$($1$ node) - { - super(node); - } - @Override public abstract $1$ clone(); } diff --git a/src/main/resources/org/sablecc/sablecc/tokens.txt b/src/main/resources/org/sablecc/sablecc/tokens.txt index ce4cfbc9f63af4e19bf0140f6e7030a1b4421c31..4cf4f70ca935e22abc2ab7a15415e3ed1ff14fd4 100644 --- a/src/main/resources/org/sablecc/sablecc/tokens.txt +++ b/src/main/resources/org/sablecc/sablecc/tokens.txt @@ -24,15 +24,12 @@ public final class $1$ extends Token super(text, line, pos); } - public $1$($1$ token) - { - super(token); - } - @Override public $1$ clone() { - return new $1$(this); + $1$ cloned = new $1$(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override @@ -63,15 +60,12 @@ public final class $1$ extends Token super("$2$", line, pos); } - public $1$($1$ token) - { - super(token); - } - @Override public $1$ clone() { - return new $1$(this); + $1$ cloned = new $1$(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/resources/org/sablecc/sablecc/utils.txt b/src/main/resources/org/sablecc/sablecc/utils.txt index b66f88376cef6ea262174bdc08c20777d2427173..81ccc43e083c69fecfe5ff74866aa50a12c7bc60 100644 --- a/src/main/resources/org/sablecc/sablecc/utils.txt +++ b/src/main/resources/org/sablecc/sablecc/utils.txt @@ -28,17 +28,14 @@ public final class Start extends Node setEOF(_eof_); } - public Start(Start node) - { - super(node); - set$1$(cloneNode(node._$2$_)); - setEOF(cloneNode(node._eof_)); - } - @Override public Start clone() { - return new Start(this); + Start cloned = new Start(); + cloned.set$1$(cloneNode(this._$2$_)); + cloned.setEOF(cloneNode(this._eof_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override @@ -163,15 +160,12 @@ public final class EOF extends Token super("", line, pos); } - public EOF(EOF token) - { - super(token); - } - @Override public EOF clone() { - return new EOF(this); + EOF cloned = new EOF(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override @@ -211,15 +205,7 @@ public abstract class Token extends Node implements IToken protected Token() { - this((String)null); - } - - protected Token(Token token) - { - super(token); - this.text = token.text; - this.line = token.line; - this.pos = token.pos; + this(null); } @Override @@ -334,14 +320,8 @@ public abstract class Node extends PositionedNode implements Switchable, Cloneab protected Node() {} - protected Node(Node node) - { - super(node); - // Copy constructor intentionally does not keep parent! - // The new copied node is not a child of the original parent anymore. - this.parent = null; - } - + // clone intentionally does not keep parent! + // The new copied node is not a child of the original parent anymore. @Override public abstract Node clone();