Skip to content

Commit

Permalink
fix and improve IntegerLiteral:
Browse files Browse the repository at this point in the history
remove member 'pos' long time unused
rename 'numval' to 'intval'
fix some foreign access to internals
ensure type conversions in initialization and getters
  • Loading branch information
NotFound committed May 27, 2012
1 parent 39bdcb0 commit 00bf675
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 26 deletions.
17 changes: 7 additions & 10 deletions winxedst1.winxed
Expand Up @@ -1049,7 +1049,7 @@ function string_from_literal(var arg)
string value;
switch {
case arg.isintegerliteral():
value = arg.numval;
value = arg.getIntegerValue();
break;
case arg.isstringliteral():
value = arg.getStringValue();
Expand All @@ -1065,7 +1065,7 @@ function int_from_literal(var arg)
int value;
switch {
case arg.isintegerliteral():
value = arg.numval;
value = arg.getIntegerValue();
break;
case arg.isstringliteral():
value = arg.getStringValue();
Expand Down Expand Up @@ -2861,24 +2861,21 @@ class Literal : SimpleExpr

class IntegerLiteral : Literal
{
var pos;
var numval;
function IntegerLiteral(var owner, var start, var value)
var intval;
function IntegerLiteral(var owner, var start, int value)
{
self.Expr(owner, start);
self.pos = start;
int n = value;
self.numval = n;
self.intval = value;
}
function isintegerliteral() { return true; }
function isintegerzero()
{
return int(self.numval) == 0;
return int(self.intval) == 0;
}
function checkresult() { return REGint; }
function getIntegerValue()
{
return self.numval;
return int(self.intval);
}
function emit(var e, string result)
{
Expand Down
26 changes: 10 additions & 16 deletions winxedst2.winxed
Expand Up @@ -3471,51 +3471,45 @@ class Literal : SimpleExpr

class IntegerLiteral : Literal
{
var pos;
var numval;
function IntegerLiteral(var owner, var start, var value)
var intval;
function IntegerLiteral(var owner, var start, int value)
{
self.Expr(owner, start);
self.pos = start;
int n = value;
self.numval = n;
self.intval = value;
}
function clone(var owner)
{
return new IntegerLiteral(owner, self.pos, self.numval);
return new IntegerLiteral(owner, self.start, self.intval);
}
function isintegerliteral() { return true; }
function isintegerzero()
{
return int(self.numval) == 0;
return int(self.intval) == 0;
}
function checkresult() { return REGint; }
function getIntegerValue()
{
return self.numval;
return int(self.intval);
}
function getFloatValue()
{
float value = self.getIntegerValue();
return value;
return float(self.intval);
}
function getStringValue()
{
string str = self.numval;
return str;
return string(self.intval);
}
function getLiteralInteger()
{
return self;
}
function getLiteralFloat()
{
return floatValue(self.owner, self.start, self.numval);
return floatValue(self.owner, self.start, self.intval);
}
function getLiteralString()
{
int n = self.numval;
return stringQuotedValue(self.owner, self.start, n);
return stringQuotedValue(self.owner, self.start, self.intval);
}
function emit(var e, string result)
{
Expand Down

0 comments on commit 00bf675

Please sign in to comment.