From e9d98c4e767f4068b3b104b3a2ac98f3a6d4411d Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Wed, 6 Apr 2022 16:45:28 +0200 Subject: [PATCH] Generate properly typed clone methods in productions --- src/main/java/org/sablecc/sablecc/node/PAlt.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PAltTransform.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PAst.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PAstAlt.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PAstProd.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PBasic.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PBinOp.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PChar.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PConcat.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PElem.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PGrammar.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PHelperDef.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PHelpers.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PIgnTokens.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PListTerm.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PProd.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PProdName.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PProductions.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PRegExp.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PSet.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PSpecifier.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PStateList.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PStateListTail.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PStates.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PTerm.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PTokenDef.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PTokens.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PTransition.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PUnExp.java | 3 ++- src/main/java/org/sablecc/sablecc/node/PUnOp.java | 3 ++- src/main/resources/org/sablecc/sablecc/productions.txt | 3 ++- 31 files changed, 62 insertions(+), 31 deletions(-) diff --git a/src/main/java/org/sablecc/sablecc/node/PAlt.java b/src/main/java/org/sablecc/sablecc/node/PAlt.java index cdd9a4a..0b5516f 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/PAlt.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PAlt extends Node { - // Empty body + @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 88fa131..35b5362 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAltTransform.java +++ b/src/main/java/org/sablecc/sablecc/node/PAltTransform.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PAltTransform extends Node { - // Empty body + @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 a452a40..ef1f009 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAst.java +++ b/src/main/java/org/sablecc/sablecc/node/PAst.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PAst extends Node { - // Empty body + @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 55198fc..4dc2c2b 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAstAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/PAstAlt.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PAstAlt extends Node { - // Empty body + @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 e1953d3..6b85532 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAstProd.java +++ b/src/main/java/org/sablecc/sablecc/node/PAstProd.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PAstProd extends Node { - // Empty body + @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 8059acc..70bcd90 100644 --- a/src/main/java/org/sablecc/sablecc/node/PBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/PBasic.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PBasic extends Node { - // Empty body + @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 002602c..2b2e9ef 100644 --- a/src/main/java/org/sablecc/sablecc/node/PBinOp.java +++ b/src/main/java/org/sablecc/sablecc/node/PBinOp.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PBinOp extends Node { - // Empty body + @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 d78fe0f..bf0fc3c 100644 --- a/src/main/java/org/sablecc/sablecc/node/PChar.java +++ b/src/main/java/org/sablecc/sablecc/node/PChar.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PChar extends Node { - // Empty body + @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 773b215..c5c9870 100644 --- a/src/main/java/org/sablecc/sablecc/node/PConcat.java +++ b/src/main/java/org/sablecc/sablecc/node/PConcat.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PConcat extends Node { - // Empty body + @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 f456e5c..9ead049 100644 --- a/src/main/java/org/sablecc/sablecc/node/PElem.java +++ b/src/main/java/org/sablecc/sablecc/node/PElem.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PElem extends Node { - // Empty body + @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 39cba9b..3609b3d 100644 --- a/src/main/java/org/sablecc/sablecc/node/PGrammar.java +++ b/src/main/java/org/sablecc/sablecc/node/PGrammar.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PGrammar extends Node { - // Empty body + @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 45fd6fa..3c73a8c 100644 --- a/src/main/java/org/sablecc/sablecc/node/PHelperDef.java +++ b/src/main/java/org/sablecc/sablecc/node/PHelperDef.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PHelperDef extends Node { - // Empty body + @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 a97168f..66e7c21 100644 --- a/src/main/java/org/sablecc/sablecc/node/PHelpers.java +++ b/src/main/java/org/sablecc/sablecc/node/PHelpers.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PHelpers extends Node { - // Empty body + @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 b2a6876..5af5223 100644 --- a/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PIgnTokens extends Node { - // Empty body + @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 52a45c0..da5bde5 100644 --- a/src/main/java/org/sablecc/sablecc/node/PListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/PListTerm.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PListTerm extends Node { - // Empty body + @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 9a08cf8..5eae94a 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProd.java +++ b/src/main/java/org/sablecc/sablecc/node/PProd.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PProd extends Node { - // Empty body + @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 437a52a..eff659c 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProdName.java +++ b/src/main/java/org/sablecc/sablecc/node/PProdName.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PProdName extends Node { - // Empty body + @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 0a61e72..f12d223 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProductions.java +++ b/src/main/java/org/sablecc/sablecc/node/PProductions.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PProductions extends Node { - // Empty body + @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 e3f7a6e..c9ae467 100644 --- a/src/main/java/org/sablecc/sablecc/node/PRegExp.java +++ b/src/main/java/org/sablecc/sablecc/node/PRegExp.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PRegExp extends Node { - // Empty body + @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 91668ff..5d2b31e 100644 --- a/src/main/java/org/sablecc/sablecc/node/PSet.java +++ b/src/main/java/org/sablecc/sablecc/node/PSet.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PSet extends Node { - // Empty body + @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 ec0fcdc..787ba31 100644 --- a/src/main/java/org/sablecc/sablecc/node/PSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/PSpecifier.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PSpecifier extends Node { - // Empty body + @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 5ca56fe..24b52b2 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStateList.java +++ b/src/main/java/org/sablecc/sablecc/node/PStateList.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PStateList extends Node { - // Empty body + @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 bc7de2f..b50809e 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStateListTail.java +++ b/src/main/java/org/sablecc/sablecc/node/PStateListTail.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PStateListTail extends Node { - // Empty body + @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 d494b18..df92627 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStates.java +++ b/src/main/java/org/sablecc/sablecc/node/PStates.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PStates extends Node { - // Empty body + @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 4deeffc..cea2601 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/PTerm.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PTerm extends Node { - // Empty body + @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 1c66c90..96e71a7 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTokenDef.java +++ b/src/main/java/org/sablecc/sablecc/node/PTokenDef.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PTokenDef extends Node { - // Empty body + @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 4e0aa26..daa2a57 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/PTokens.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PTokens extends Node { - // Empty body + @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 ef0f1f4..e91c82d 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTransition.java +++ b/src/main/java/org/sablecc/sablecc/node/PTransition.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PTransition extends Node { - // Empty body + @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 aad69b0..1561ea6 100644 --- a/src/main/java/org/sablecc/sablecc/node/PUnExp.java +++ b/src/main/java/org/sablecc/sablecc/node/PUnExp.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PUnExp extends Node { - // Empty body + @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 de03247..45a73f9 100644 --- a/src/main/java/org/sablecc/sablecc/node/PUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/PUnOp.java @@ -4,5 +4,6 @@ package org.sablecc.sablecc.node; public abstract class PUnOp extends Node { - // Empty body + @Override + public abstract PUnOp clone(); } diff --git a/src/main/resources/org/sablecc/sablecc/productions.txt b/src/main/resources/org/sablecc/sablecc/productions.txt index fae6241..061f218 100644 --- a/src/main/resources/org/sablecc/sablecc/productions.txt +++ b/src/main/resources/org/sablecc/sablecc/productions.txt @@ -12,7 +12,8 @@ package $0$; public abstract class $1$ extends Node { - // Empty body + @Override + public abstract $1$ clone(); } $ -- GitLab