Skip to content

Commit

Permalink
ensure createconst always gets a TokenIdentifier as name
Browse files Browse the repository at this point in the history
  • Loading branch information
NotFound committed Jun 10, 2012
1 parent 9b83e7f commit deea653
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 8 deletions.
12 changes: 8 additions & 4 deletions winxedst1.winxed
Expand Up @@ -2611,8 +2611,9 @@ class VarContainer
}
function createconst(var name, string type, int flags[optional])
{
__ASSERT__(name instanceof TokenIdentifier);
string sname = name.getidentifier();
var locals = self.locals;
string sname = name;
var exist = locals[sname];
if (exist != null)
Redeclared(name);
Expand Down Expand Up @@ -7861,6 +7862,7 @@ function parseConst(var start, var tk, var owner)
var multi = null;
do {
var name = tk.get();
RequireIdentifier(name);
ExpectOp("=", tk);
var value = parseExpr(tk, owner);
multi = addtomulti(multi,
Expand Down Expand Up @@ -9120,6 +9122,8 @@ function include_parrot(var start, var tk, var ns)
Expected("literal string", tfile);
ExpectOp(";", tk);

var sfile = start.file;
int sline = start.line;
string filename = tfile.rawstring();
var file = open_include(filename, start);

Expand Down Expand Up @@ -9154,9 +9158,9 @@ function include_parrot(var start, var tk, var ns)
ivalue = substr(value, 2).to_int(16);
else
ivalue = value;
var cst = ns.createconst(name, REGint, VAR_is_extern);
cst.setvalue(integerValue(ns,
new TokenInteger(start.file, start.line, name), ivalue));
var tokname = new TokenIdentifier(sfile, sline, name);
var cst = ns.createconst(tokname, REGint, VAR_is_extern);
cst.setvalue(integerValue(ns, tokname, ivalue));
}
}

Expand Down
12 changes: 8 additions & 4 deletions winxedst2.winxed
Expand Up @@ -3171,8 +3171,9 @@ class VarContainer
}
function createconst(var name, string type, int flags[optional])
{
__ASSERT__(name instanceof TokenIdentifier);
string sname = name.getidentifier();
var locals = self.locals;
string sname = name;
var exist = locals[sname];
if (exist != null)
Redeclared(name);
Expand Down Expand Up @@ -10270,6 +10271,7 @@ function parseConst(var start, var tk, var owner)
var multi = null;
do {
var name = tk.get();
RequireIdentifier(name);
ExpectOp("=", tk);
var value = parseExpr(tk, owner);
multi = addtomulti(multi,
Expand Down Expand Up @@ -12334,6 +12336,8 @@ function include_parrot(var start, var tk, var ns)
Expected("literal string", tfile);
ExpectOp(";", tk);

var sfile = start.file;
int sline = start.line;
string filename = tfile.rawstring();
var file = open_include(filename, start);

Expand Down Expand Up @@ -12368,9 +12372,9 @@ function include_parrot(var start, var tk, var ns)
ivalue = substr(value, 2).to_int(16);
else
ivalue = value;
var cst = ns.createconst(name, REGint, VAR_is_extern);
cst.setvalue(integerValue(ns,
new TokenInteger(start.file, start.line, name), ivalue));
var tokname = new TokenIdentifier(sfile, sline, name);
var cst = ns.createconst(tokname, REGint, VAR_is_extern);
cst.setvalue(integerValue(ns, tokname, ivalue));
}
}

Expand Down

0 comments on commit deea653

Please sign in to comment.