Skip to content

Commit abba570

Browse files
author
seth.schwiet
committed
use new function readReserved to handle reserved type, since only range values (a to b) were being handled
1 parent 2ddb76b commit abba570

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

src/parse.js

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,39 @@ function parse(source, root, options) {
147147
return [ start, end ];
148148
}
149149

150+
function readReserved(){
151+
var r_list = [];
152+
var val;
153+
var add_range = false;
154+
var i;
155+
156+
while( !skip( ';', true ) ){
157+
158+
skip( ",", true );
159+
160+
if( !skip( 'to', true ) ){
161+
162+
val = readValue();
163+
164+
/* add each val between last and val*/
165+
if( add_range ){
166+
for ( i = r_list[ r_list.length - 1 ] + 1; i < val; i += 1 ){
167+
r_list.push( i );
168+
}
169+
add_range = false;
170+
}
171+
172+
r_list.push( val );
173+
}
174+
else{
175+
/*will need to add each value between last val and next*/
176+
add_range = true;
177+
}
178+
}
179+
180+
return r_list;
181+
}
182+
150183
function parseNumber(token, insideTryCatch) {
151184
var sign = 1;
152185
if (token.charAt(0) === "-") {
@@ -294,7 +327,7 @@ function parse(source, root, options) {
294327
break;
295328

296329
case "reserved":
297-
(type.reserved || (type.reserved = [])).push(readRange(type, tokenLower));
330+
(type.reserved || (type.reserved = [])).push(readReserved(type, tokenLower));
298331
break;
299332

300333
default:

0 commit comments

Comments
 (0)