//// [topLevel.ts]
interface IPoint {
    x:number;
    y:number;
}

class Point implements IPoint {
    constructor(public x,public y){}
    public move(xo:number,yo:number) {
	this.x+=xo;
	this.y+=yo;
	return this;
    }
    public toString() {
	return ("("+this.x+","+this.y+")");
    }
}

var result="";
result+=(new Point(3,4).move(2,2));

module M {
    export var origin=new Point(0,0);
}

result+=(M.origin.move(1,1));



//// [topLevel.js]
var Point = (function () {
    function Point(x, y) {
        this.x = x;
        this.y = y;
    }
    Point.prototype.move = function (xo, yo) {
        this.x += xo;
        this.y += yo;
        return this;
    };
    Point.prototype.toString = function () {
        return ("(" + this.x + "," + this.y + ")");
    };
    return Point;
})();
var result = "";
result += (new Point(3, 4).move(2, 2));
var M;
(function (M) {
    M.origin = new Point(0, 0);
})(M || (M = {}));
result += (M.origin.move(1, 1));
