add AST_Infinity node

This commit is contained in:
Mihai Bazon
2012-10-09 18:35:53 +03:00
parent 88beddfa91
commit a84d07e312
3 changed files with 10 additions and 2 deletions

View File

@@ -845,6 +845,11 @@ var AST_Undefined = DEFNODE("Undefined", null, {
value: (function(){}()) value: (function(){}())
}, AST_Atom); }, AST_Atom);
var AST_Infinity = DEFNODE("Infinity", null, {
$documentation: "The `Infinity` value",
value: 1/0
}, AST_Atom);
var AST_Boolean = DEFNODE("Boolean", null, { var AST_Boolean = DEFNODE("Boolean", null, {
$documentation: "Base class for booleans", $documentation: "Base class for booleans",
}, AST_Atom); }, AST_Atom);

View File

@@ -1464,6 +1464,8 @@ merge(Compressor.prototype, {
return make_node(AST_Undefined, self); return make_node(AST_Undefined, self);
case "NaN": case "NaN":
return make_node(AST_NaN, self); return make_node(AST_NaN, self);
case "Infinity":
return make_node(AST_Infinity, self);
} }
} }
return self; return self;

View File

@@ -963,9 +963,10 @@ function OutputStream(options) {
output.print_name(def ? def.mangled_name || def.name : self.name); output.print_name(def ? def.mangled_name || def.name : self.name);
}); });
DEFPRINT(AST_Undefined, function(self, output){ DEFPRINT(AST_Undefined, function(self, output){
// XXX: should add more options for this
output.print("void 0"); output.print("void 0");
//output.print("[][0]"); });
DEFPRINT(AST_Infinity, function(self, output){
output.print("1/0");
}); });
DEFPRINT(AST_NaN, function(self, output){ DEFPRINT(AST_NaN, function(self, output){
output.print("0/0"); output.print("0/0");