var assert = require("assert"); var inspect = require("util").inspect; var demangle = require(".."); var __this = 8; var __usualDoors = 3; var __doors = -1; var exports = demangle({ "vroom": function() { console.log("vroom", arguments); }, "Car.MAX_DOORS": 5, "Car.get:usualDoors": function() { console.log("Car#get:usualDoors", arguments); return __usualDoors; }, "Car.set:usualDoors": function(value) { console.log("Car#set:usualDoors", arguments); __usualDoors = value; }, "Car#constructor": function(this_, doors) { console.log("Car#constructor", arguments); __doors = doors; return __this; }, "Car#openDoors": function(this_) { console.log("Car#openDoors", arguments); return true; }, "Car#get:doors": function(this_) { console.log("Car#get:doors", arguments); return __doors; }, "Car#set:doors": function(this_, value) { console.log("Car#set:doors", arguments); __doors = value; } }); console.log(inspect(exports, true)); exports.vroom(1, 2, 3); var Car = exports.Car; assert(Car.usualDoors == 3); exports.Car.usualDoors = exports.Car.usualDoors + 2; assert(Car.usualDoors == 5); var car = new exports.Car(2); assert(car.this == 8); assert(car.openDoors() == true); assert(car.doors == 2); car.doors = car.doors + 2; assert(car.doors == 4); console.log(inspect(car, true)); var wrappedCar = exports.Car.wrap(16); assert(wrappedCar.this == 16); console.log(inspect(wrappedCar, true));