diff --git a/src/main/java/org/sablecc/sablecc/ConstructNFA.java b/src/main/java/org/sablecc/sablecc/ConstructNFA.java index 761ab6a6ab882e8dd20d0065c7a23a74f564411a..ade311e8ad12c279338f2208e242067a29549119 100644 --- a/src/main/java/org/sablecc/sablecc/ConstructNFA.java +++ b/src/main/java/org/sablecc/sablecc/ConstructNFA.java @@ -46,7 +46,7 @@ public class ConstructNFA extends DepthFirstAdapter @Override public void outATokens(ATokens node) { - ATokenDef[] tokenDefs = (ATokenDef[]) node.getTokenDefs().toArray(new ATokenDef[0]); + PTokenDef[] tokenDefs = node.getTokenDefs().toArray(new PTokenDef[0]); for(int i = tokenDefs.length - 1; i >= 0 ; i--) { @@ -101,7 +101,7 @@ public class ConstructNFA extends DepthFirstAdapter final AStateList node = (AStateList)stateList; Set<String> set = new TreeSet<>(); - AStateListTail[] stateListTails = (AStateListTail[]) node.getStateLists().toArray(new AStateListTail[0]); + AStateListTail[] stateListTails = node.getStateLists().toArray(new AStateListTail[0]); for(int i = stateListTails.length - 1; i >= 0 ; i--) { @@ -116,7 +116,7 @@ public class ConstructNFA extends DepthFirstAdapter @Override public void outARegExp(ARegExp node) { - AConcat[] concats = (AConcat[]) node.getConcats().toArray(new AConcat[0]); + PConcat[] concats = node.getConcats().toArray(new PConcat[0]); NFA result = null; if(concats.length > 1) @@ -152,7 +152,7 @@ public class ConstructNFA extends DepthFirstAdapter @Override public void outAConcat(AConcat node) { - AUnExp[] unExps = (AUnExp[]) node.getUnExps().toArray(new AUnExp[0]); + PUnExp[] unExps = node.getUnExps().toArray(new PUnExp[0]); if(unExps.length == 0) { diff --git a/src/main/java/org/sablecc/sablecc/ConstructParserGenerationDatas.java b/src/main/java/org/sablecc/sablecc/ConstructParserGenerationDatas.java index d3f4f6cc7989b7b8c8613e85605448eff0258dea..c43996fbf3e0cb1ebbe3be20505f4c4539451218 100644 --- a/src/main/java/org/sablecc/sablecc/ConstructParserGenerationDatas.java +++ b/src/main/java/org/sablecc/sablecc/ConstructParserGenerationDatas.java @@ -34,10 +34,9 @@ public class ConstructParserGenerationDatas extends DepthFirstAdapter public void caseAProd(AProd node) { currentProd = ids.names.get(node); - AAlt[] alts = (AAlt[])node.getAlts().toArray(new AAlt[0]); - for(int i=0; i<alts.length; i++) + for(PAlt alt : node.getAlts()) { - alts[i].apply(this); + alt.apply(this); } } @@ -47,10 +46,9 @@ public class ConstructParserGenerationDatas extends DepthFirstAdapter currentAlt = Grammar.addProduction(currentProd, ids.names.get(node)); alts.put(ids.names.get(node), node); - AElem[] temp = (AElem[])node.getElems().toArray(new AElem[0]); - for(int i = 0; i < temp.length; i++) + for(PElem elem : node.getElems()) { - temp[i].apply(this); + elem.apply(this); } } diff --git a/src/main/java/org/sablecc/sablecc/IntSet.java b/src/main/java/org/sablecc/sablecc/IntSet.java index 5747390fd83c6ac560726a5294940e855f94c857..c7daf53a16e72c76872f793fd0b115a4031179d7 100644 --- a/src/main/java/org/sablecc/sablecc/IntSet.java +++ b/src/main/java/org/sablecc/sablecc/IntSet.java @@ -387,6 +387,6 @@ public class IntSet public int[] elements() { - return (int[]) elements/*.clone()*/; + return elements/*.clone()*/; } } diff --git a/src/main/java/org/sablecc/sablecc/LR1Collection.java b/src/main/java/org/sablecc/sablecc/LR1Collection.java index 48af3515a77ead2796398fcc25c4393db3a92b33..1264fa2db653cafa0f11dce60879880f3200826b 100644 --- a/src/main/java/org/sablecc/sablecc/LR1Collection.java +++ b/src/main/java/org/sablecc/sablecc/LR1Collection.java @@ -24,8 +24,12 @@ final class LR1Collection // Initialize lookaheads to nothing, propagation to nothing LR0ItemSet[] sets = collection.sets(); - lookaheads = (TreeMap<LR0Item, SymbolSet>[])new TreeMap<?, ?>[sets.length]; - propagation = (TreeMap<LR0Item, Vector<LR0ItemAndSetPair>>[])new TreeMap<?, ?>[sets.length]; + @SuppressWarnings("unchecked") + final TreeMap<LR0Item, SymbolSet>[] lookaheadsTemp = (TreeMap<LR0Item, SymbolSet>[])new TreeMap<?, ?>[sets.length]; + lookaheads = lookaheadsTemp; + @SuppressWarnings("unchecked") + final TreeMap<LR0Item, Vector<LR0ItemAndSetPair>>[] propagationTemp = (TreeMap<LR0Item, Vector<LR0ItemAndSetPair>>[])new TreeMap<?, ?>[sets.length]; + propagation = propagationTemp; for(int i = 0; i < sets.length; i++) { diff --git a/src/main/java/org/sablecc/sablecc/Symbol.java b/src/main/java/org/sablecc/sablecc/Symbol.java index 2a74075fb3d3ee54d6640199576ca9a794bb04e8..916c8ccc223c45fec96f7a9c508fc94bf6d8a241 100644 --- a/src/main/java/org/sablecc/sablecc/Symbol.java +++ b/src/main/java/org/sablecc/sablecc/Symbol.java @@ -75,11 +75,11 @@ final class Symbol implements Comparable<Symbol> { if(terminal) { - return (Symbol) terminals.elementAt(index); + return terminals.elementAt(index); } else { - return (Symbol) nonterminals.elementAt(index); + return nonterminals.elementAt(index); } }