Skip to content
Snippets Groups Projects
Commit 7526f91e authored by dgelessus's avatar dgelessus
Browse files

Use generics in remaining parts of Inlining

parent e3660cb9
No related branches found
No related tags found
No related merge requests found
...@@ -247,7 +247,7 @@ public class Inlining ...@@ -247,7 +247,7 @@ public class Inlining
{ {
mapOfNewTermNames = new HashMap<>(); mapOfNewTermNames = new HashMap<>();
LinkedList listElems = inlineList(aParsed_alt.getElems(), List<PElem> listElems = inlineList(aParsed_alt.getElems(),
prod_to_inline.getAlternative(j).getElems(), prod_to_inline.getAlternative(j).getElems(),
mapOfNewTermNames); mapOfNewTermNames);
AAltTransform aAltTransform = ((AAltTransform)aParsed_alt.getAltTransform()).clone(); AAltTransform aAltTransform = ((AAltTransform)aParsed_alt.getAltTransform()).clone();
...@@ -345,22 +345,14 @@ public class Inlining ...@@ -345,22 +345,14 @@ public class Inlining
public void caseAListTerm(AListTerm node) public void caseAListTerm(AListTerm node)
{ {
AListTerm parent = (AListTerm)node_.parent(); AListTerm parent = (AListTerm)node_.parent();
LinkedList oldlistTerms = parent.getListTerms(); List<PListTerm> oldlistTerms = parent.getListTerms();
LinkedList newlistTerms = new LinkedList(); List<PListTerm> newlistTerms = new LinkedList<>();
Object[] oldListTermsArray = (Object[]) oldlistTerms.toArray(); for(PListTerm oldListTerm : oldlistTerms)
for(int i=0; i<oldListTermsArray.length; i++)
{ {
if(oldListTermsArray[i] != node_) if(oldListTerm != node_)
{ {
if(oldListTermsArray[i] instanceof PTerm) newlistTerms.add(oldListTerm.clone());
{
newlistTerms.add( ((PTerm)oldListTermsArray[i]).clone() );
}
else
{
newlistTerms.add( ((PListTerm)oldListTermsArray[i]).clone() );
}
} }
else else
{ {
...@@ -404,12 +396,12 @@ public class Inlining ...@@ -404,12 +396,12 @@ public class Inlining
return resultList; return resultList;
} }
public LinkedList inlineList(LinkedList oldElemsList, public List<PElem> inlineList(List<PElem> oldElemsList,
AElem[] inliningProductionsElems, AElem[] inliningProductionsElems,
Map<String, String> mapOfNewTermNames) Map<String, String> mapOfNewTermNames)
{ {
int position = 0; int position = 0;
AElem[] listElems = (AElem[]) oldElemsList.toArray(new AElem[0]); AElem[] listElems = oldElemsList.toArray(new AElem[0]);
for(int i=0; i<listElems.length; i++) for(int i=0; i<listElems.length; i++)
{ {
//We are looking for the position of the element inside the alternative. //We are looking for the position of the element inside the alternative.
...@@ -429,7 +421,7 @@ public class Inlining ...@@ -429,7 +421,7 @@ public class Inlining
} }
} }
LinkedList list = new LinkedList(); List<PElem> list = new LinkedList<>();
int elemPosition = 1; int elemPosition = 1;
//Before the inlined element (old alternative elements) //Before the inlined element (old alternative elements)
...@@ -445,19 +437,18 @@ public class Inlining ...@@ -445,19 +437,18 @@ public class Inlining
} }
// After the inlined element (old alternative elements) // After the inlined element (old alternative elements)
for(int i=position+1; i<listElems.length; i++) for(int i=position+1; i<oldElemsList.size(); i++)
{ {
list.add(((AElem)oldElemsList.get(i)).clone()); list.add(((AElem)oldElemsList.get(i)).clone());
} }
AElem[] listOfAltElems = (AElem[]) list.toArray(new AElem[0]); AElem[] listOfAltElems = list.toArray(new AElem[0]);
for(int i=0; i<listOfAltElems.length; i++) for(int i=0; i<listOfAltElems.length; i++)
{ {
String old_name = listOfAltElems[i].getId().getText(); String old_name = listOfAltElems[i].getId().getText();
TId elemName = (TId)listOfAltElems[i].getElemName(); TId elemName = listOfAltElems[i].getElemName();
if(elemName != null) if(elemName != null)
{ {
elemName = (TId)elemName;
old_name = elemName.getText(); old_name = elemName.getText();
} }
...@@ -496,13 +487,13 @@ public class Inlining ...@@ -496,13 +487,13 @@ public class Inlining
); );
} }
private List cloneList(List list) @SuppressWarnings("unchecked")
private <T extends Node> List<T> cloneList(List<T> list)
{ {
List clone = new LinkedList(); List<T> clone = new LinkedList<>();
for(Iterator i = list.iterator(); i.hasNext();) for (final T node : list) {
{ clone.add((T)node.clone());
clone.add(((Node) i.next()).clone());
} }
return clone; return clone;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment