]> Cypherpunks repositories - gostls13.git/commitdiff
remove hack now that vector of int works.
authorRob Pike <r@golang.org>
Thu, 16 Oct 2008 00:20:37 +0000 (17:20 -0700)
committerRob Pike <r@golang.org>
Thu, 16 Oct 2008 00:20:37 +0000 (17:20 -0700)
R=rsc
DELTA=9  (0 added, 3 deleted, 6 changed)
OCL=17248
CL=17250

src/lib/regexp/regexp.go

index 6535e6ef49e1d40e13f315f33bd516709f2a06b2..7d366508a5ac031272cdb959eea8dc021f485f6d 100644 (file)
@@ -134,14 +134,12 @@ func NewChar(char int) *Char {
 
 // --- CHARCLASS [a-z]
 
-type CClassChar int;   // BUG: Shouldn't be necessary but 6g won't put ints into vectors
-
 type CharClass struct {
        next    Inst;
        index   int;
        char    int;
        negate  bool;   // is character class negated? ([^a-z])
-       // Vector of CClassChar, stored pairwise: [a-z] is (a,z); x is (x,x):
+       // Vector of int, stored pairwise: [a-z] is (a,z); x is (x,x):
        ranges  *vector.Vector;
 }
 
@@ -156,8 +154,8 @@ func (cclass *CharClass) Print() {
                print(" (negated)");
        }
        for i := 0; i < cclass.ranges.Len(); i += 2 {
-               l := cclass.ranges.At(i).(CClassChar);
-               r := cclass.ranges.At(i+1).(CClassChar);
+               l := cclass.ranges.At(i).(int);
+               r := cclass.ranges.At(i+1).(int);
                if l == r {
                        print(" [", string(l), "]");
                } else {
@@ -166,7 +164,7 @@ func (cclass *CharClass) Print() {
        }
 }
 
-func (cclass *CharClass) AddRange(a, b CClassChar) {
+func (cclass *CharClass) AddRange(a, b int) {
        // range is a through b inclusive
        cclass.ranges.Append(a);
        cclass.ranges.Append(b);
@@ -174,8 +172,8 @@ func (cclass *CharClass) AddRange(a, b CClassChar) {
 
 func (cclass *CharClass) Matches(c int) bool {
        for i := 0; i < cclass.ranges.Len(); i = i+2 {
-               min := cclass.ranges.At(i).(CClassChar);
-               max := cclass.ranges.At(i+1).(CClassChar);
+               min := cclass.ranges.At(i).(int);
+               max := cclass.ranges.At(i+1).(int);
                if min <= c && c <= max {
                        return !cclass.negate
                }
@@ -323,7 +321,6 @@ Grammar:
 func (p *Parser) Regexp() (start, end Inst)
 
 var NULL Inst
-type BUGinter interface{}
 
 func special(c int) bool {
        s := `\.+*?()|[]`;