diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java index ba2dfea5a1f9ba129217a6857a8a989781062639..2b89df80921b08e845e4e54eae1ad3edb1e9f882 100644 --- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java +++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java @@ -223,7 +223,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter if( !listSimpleTermTransform.contains(node.getId().getText() ) ) { String type = CTP.positionsMap.get( realcurrentAlt+"."+node.getId().getText() ); - LinkedList list = transformIds.getProdTransformIds().prod_transforms.get(type); + List<String> list = transformIds.getProdTransformIds().prod_transforms.get(type); if( list.indexOf( node.getSimpleTermTail().getText() ) >= 0 ) { positionMap = list.indexOf( node.getSimpleTermTail().getText() ); @@ -233,7 +233,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter if(simpleTermOrsimpleListTermTypes.get(node) != null) { String type = simpleTermOrsimpleListTermTypes.get(node); - LinkedList list = transformIds.getProdTransformIds().prod_transforms.get(type); + List<String> list = transformIds.getProdTransformIds().prod_transforms.get(type); if( list.indexOf( node.getSimpleTermTail().getText() ) >= 0 ) { positionMap = list.indexOf( node.getSimpleTermTail().getText() ); @@ -299,7 +299,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter if( !listSimpleTermTransform.contains(node.getId().getText()) ) { String type = CTP.positionsMap.get( realcurrentAlt+"."+node.getId().getText() ); - LinkedList list = transformIds.getProdTransformIds().prod_transforms.get(type); + List<String> list = transformIds.getProdTransformIds().prod_transforms.get(type); if( list.indexOf( node.getSimpleTermTail().getText() ) >= 0 ) { positionMap = list.indexOf( node.getSimpleTermTail().getText() ); @@ -309,7 +309,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter if(simpleTermOrsimpleListTermTypes.get(node) != null) { String type = simpleTermOrsimpleListTermTypes.get(node); - LinkedList list = transformIds.getProdTransformIds().prod_transforms.get(type); + List<String> list = transformIds.getProdTransformIds().prod_transforms.get(type); if( list.indexOf( node.getSimpleTermTail().getText() ) >= 0 ) { positionMap = list.indexOf( node.getSimpleTermTail().getText() ); diff --git a/src/main/java/org/sablecc/sablecc/ResolveProdTransformIds.java b/src/main/java/org/sablecc/sablecc/ResolveProdTransformIds.java index 064041b741bcaf90f5561f505c74e8018f3aac26..d6159426ec8c5f0fbbe81138217f47e66a199ff8 100644 --- a/src/main/java/org/sablecc/sablecc/ResolveProdTransformIds.java +++ b/src/main/java/org/sablecc/sablecc/ResolveProdTransformIds.java @@ -25,12 +25,12 @@ public class ResolveProdTransformIds extends DepthFirstAdapter { private ResolveAstIds transformIds; - private LinkedList listElems; + private List<String> listElems; private String prod_name; - public LinkedList listProdTransformList = new LinkedList(); - private LinkedList listProdTransformContainsList; + public List<String> listProdTransformList = new LinkedList<>(); + private List<String> listProdTransformContainsList; //Map of production transformation element type. The key of this map //is the node of this element in the AST. @@ -41,10 +41,10 @@ public class ResolveProdTransformIds extends DepthFirstAdapter public final Map<String, String> prodTransformElemTypesString = new HashMap<>(); //Map of Productions which transformations contains list elements. - public Map<String, LinkedList> mapProdTransformContainsList = new TreeMap<>(); + public Map<String, List<String>> mapProdTransformContainsList = new TreeMap<>(); //Map of all Production transformations elements. - public final Map<String, LinkedList> prod_transforms = new TreeMap<>(); + public final Map<String, List<String>> prod_transforms = new TreeMap<>(); public ResolveProdTransformIds(ResolveAstIds ids) { @@ -58,9 +58,9 @@ public class ResolveProdTransformIds extends DepthFirstAdapter PElem[] temp = production.getProdTransform().toArray(new PElem[0]); - listProdTransformContainsList = new LinkedList(); + listProdTransformContainsList = new LinkedList<>(); - listElems = new LinkedList(); + listElems = new LinkedList<>(); if( temp.length > 1 ) { diff --git a/src/main/java/org/sablecc/sablecc/ResolveTransformIds.java b/src/main/java/org/sablecc/sablecc/ResolveTransformIds.java index dc26aee3be4496a9fa9b78233e928cafb0e5659a..75f90f7976d2886cfb3939c088b614162f46dc88 100644 --- a/src/main/java/org/sablecc/sablecc/ResolveTransformIds.java +++ b/src/main/java/org/sablecc/sablecc/ResolveTransformIds.java @@ -43,7 +43,7 @@ public class ResolveTransformIds extends DepthFirstAdapter //This Map contains the type of any term of alternative transformation(altTransform) public final Map<Node, String> altTransformElemTypes = new HashMap<>(); - public final Map<String, LinkedList> mapSimpleTermProdTransformation = new HashMap<>(); + public final Map<String, List<String>> mapSimpleTermProdTransformation = new HashMap<>(); public final Map<Node, String> simpleTermOrsimpleListTermTypes = new HashMap<>(); @@ -340,8 +340,8 @@ public class ResolveTransformIds extends DepthFirstAdapter } } - private LinkedList listL; - private LinkedList listP; + private List<String> listL; + private List<String> listP; private String lastSimpleTerm; @Override @@ -421,7 +421,7 @@ public class ResolveTransformIds extends DepthFirstAdapter { if(prodTransformIds.prod_transforms.get(typeOfExplicitElemName) != null) { - listL = (LinkedList)prodTransformIds.prod_transforms.get(typeOfExplicitElemName).clone(); + listL = new LinkedList<>(prodTransformIds.prod_transforms.get(typeOfExplicitElemName)); mapSimpleTermProdTransformation.put(currentAlt+"."+tmpName, listL); } } @@ -435,7 +435,7 @@ public class ResolveTransformIds extends DepthFirstAdapter listP = prodTransformIds.prod_transforms.get(name); if(prodTransformIds.prod_transforms.get(name) != null) { - listP = (LinkedList)prodTransformIds.prod_transforms.get(name).clone(); + listP = new LinkedList<>(prodTransformIds.prod_transforms.get(name)); mapSimpleTermProdTransformation.put(currentAlt+".P"+tmpName, listP); } } @@ -449,7 +449,7 @@ public class ResolveTransformIds extends DepthFirstAdapter boolean blistL = false; - if( ( (typeOfExplicitElemName != null) && (listL!= null) && (listL.size()==1) && ResolveIds.name((String)listL.getFirst()).equals(typeOfExplicitElemName.substring(1)) ) || + if( ( (typeOfExplicitElemName != null) && (listL!= null) && (listL.size()==1) && ResolveIds.name(listL.get(0)).equals(typeOfExplicitElemName.substring(1)) ) || ( (typeOfExplicitElemName == null) && (listP!= null) && (listP.size()==1) && listP.contains(node.getId().getText()) ) ) { blistL = true; @@ -482,17 +482,13 @@ public class ResolveTransformIds extends DepthFirstAdapter } else { - ListIterator iter = null; - if(listL != null) { - iter = listL.listIterator(); - position = listL.indexOf(strTermTail); - while(iter.hasNext()) + for(Iterator<String> iter = listL.listIterator(); iter.hasNext();) { - if( strTermTail.equals((String)iter.next()) ) + if( strTermTail.equals(iter.next()) ) { iter.remove(); break; @@ -502,13 +498,11 @@ public class ResolveTransformIds extends DepthFirstAdapter if(listP != null) { - iter = listP.listIterator(); - position = listP.indexOf(strTermTail); - while(iter.hasNext()) + for(Iterator<String> iter = listP.listIterator(); iter.hasNext();) { - if( strTermTail.equals((String)iter.next()) ) + if( strTermTail.equals(iter.next()) ) { iter.remove(); break; @@ -650,7 +644,7 @@ public class ResolveTransformIds extends DepthFirstAdapter { if(prodTransformIds.prod_transforms.get(typeOfExplicitElemName) != null) { - listL = (LinkedList)prodTransformIds.prod_transforms.get(typeOfExplicitElemName).clone(); + listL = new LinkedList<>(prodTransformIds.prod_transforms.get(typeOfExplicitElemName)); mapSimpleTermProdTransformation.put(currentAlt+"."+tmpName, listL); } } @@ -664,7 +658,7 @@ public class ResolveTransformIds extends DepthFirstAdapter listP = prodTransformIds.prod_transforms.get(name); if(prodTransformIds.prod_transforms.get(name) != null) { - listP = (LinkedList)prodTransformIds.prod_transforms.get(name).clone(); + listP = new LinkedList<>(prodTransformIds.prod_transforms.get(name)); mapSimpleTermProdTransformation.put(currentAlt+".P"+tmpName, listP); } } @@ -678,7 +672,7 @@ public class ResolveTransformIds extends DepthFirstAdapter boolean blistL = false; - if( ( (typeOfExplicitElemName != null) && (listL!= null) && (listL.size()==1) && ResolveIds.name((String)listL.getFirst()).equals(typeOfExplicitElemName.substring(1)) ) || + if( ( (typeOfExplicitElemName != null) && (listL!= null) && (listL.size()==1) && ResolveIds.name(listL.get(0)).equals(typeOfExplicitElemName.substring(1)) ) || ( (typeOfExplicitElemName == null) && (listP!= null) && (listP.size()==1) && listP.contains(node.getId().getText()) ) ) { blistL = true; @@ -710,17 +704,13 @@ public class ResolveTransformIds extends DepthFirstAdapter } else { - ListIterator iter = null; - if(listL != null) { - iter = listL.listIterator(); - position = listL.indexOf(strTermTail); - while(iter.hasNext()) + for(Iterator<String> iter = listL.iterator(); iter.hasNext();) { - if( strTermTail.equals((String)iter.next()) ) + if( strTermTail.equals(iter.next()) ) { iter.remove(); break; @@ -730,13 +720,11 @@ public class ResolveTransformIds extends DepthFirstAdapter if(listP != null) { - iter = listP.listIterator(); - position = listP.indexOf(strTermTail); - while(iter.hasNext()) + for(Iterator<String> iter = listP.iterator(); iter.hasNext();) { - if( strTermTail.equals((String)iter.next()) ) + if( strTermTail.equals(iter.next()) ) { iter.remove(); break;