From a5ebd0bd802787168c679eb4fb1cb6e192980683 Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Thu, 7 Apr 2022 13:54:25 +0200 Subject: [PATCH] Use generics in CharSet --- .../java/org/sablecc/sablecc/CharSet.java | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/sablecc/sablecc/CharSet.java b/src/main/java/org/sablecc/sablecc/CharSet.java index 027140d..c98b566 100644 --- a/src/main/java/org/sablecc/sablecc/CharSet.java +++ b/src/main/java/org/sablecc/sablecc/CharSet.java @@ -8,12 +8,11 @@ package org.sablecc.sablecc; import java.util.*; -import java.util.Enumeration; import java.util.Vector; public class CharSet implements Cloneable { - private final Vector intervals = new Vector(0); + private final Vector<Interval> intervals = new Vector<>(0); public CharSet(char c) { @@ -25,11 +24,11 @@ public class CharSet implements Cloneable intervals.addElement(new Interval(start, end)); } - private CharSet(Vector intervals) + private CharSet(Collection<Interval> intervals) { - for(Enumeration e = intervals.elements(); e.hasMoreElements();) + for(Interval i : intervals) { - this.intervals.addElement(((Interval) e.nextElement()).clone()); + this.intervals.addElement(i.clone()); } } @@ -50,7 +49,7 @@ public class CharSet implements Cloneable { int middle = (high + low) >>> 1; - interval2 = (Interval) intervals.elementAt(middle); + interval2 = intervals.elementAt(middle); if(interval1.start <= interval2.end) { @@ -82,7 +81,7 @@ public class CharSet implements Cloneable { for(int i = 0; i < intervals.size(); i++) { - Interval iv = (Interval) intervals.elementAt(i); + Interval iv = intervals.elementAt(i); if(iv.start > interval.start) { @@ -102,9 +101,9 @@ public class CharSet implements Cloneable Interval largeInterval; Interval overlap; - for(Enumeration e = chars.intervals.elements(); e.hasMoreElements();) + for(Interval i : chars.intervals) { - interval = ((Interval) e.nextElement()).clone(); + interval = i.clone(); do { @@ -135,9 +134,9 @@ public class CharSet implements Cloneable Interval interval; Interval overlap; - for(Enumeration e = chars.intervals.elements(); e.hasMoreElements();) + for(Interval i : chars.intervals) { - interval = ((Interval) e.nextElement()).clone(); + interval = i.clone(); do { @@ -166,9 +165,9 @@ public class CharSet implements Cloneable { StringBuffer result = new StringBuffer(); - for(Enumeration e = intervals.elements(); e.hasMoreElements();) + for(Interval i : intervals) { - result.append("[" + e.nextElement() + "] "); + result.append("[" + i + "] "); } return "" + result; -- GitLab