module JS { export class undefined { public static name = 'undefined' ; public static __tostring ( ) { throw new Error ( 'Object is possibly \'undefined\'' ) ; } public static __index ( _this , indx ) { throw new Error ( 'Object is possibly \'undefined\'' ) ; } public static __newindex ( _this , indx , val ) { throw new Error ( 'Object is possibly \'undefined\'' ) ; } public static __call ( _this , indx ) { throw new Error ( 'Object is possibly \'undefined\'' ) ; } public static __len ( _this ) { return 0 ; } public static __lt ( _this , other ) { return false ; } public static __le ( _this , other ) { return false ; } } setmetatable ( undefined , undefined ) ; }