comparison jsbackend.js @ 30:608eb70fe261

Fix some compiler bugs and do initial work on module import
author Mike Pavone <pavone@retrodev.com>
date Thu, 19 Apr 2012 19:20:21 -0700
parents 4d87c38404d6
children 668f533e5284
comparison
equal deleted inserted replaced
29:18cec540238a 30:608eb70fe261
144 if (args.length < funinfo.def.args.length || funinfo.def.args[0].name != 'self') { 144 if (args.length < funinfo.def.args.length || funinfo.def.args[0].name != 'self') {
145 var receiver = new symbol('self', this.symbols); 145 var receiver = new symbol('self', this.symbols);
146 } else { 146 } else {
147 var receiver = args[0]; 147 var receiver = args[0];
148 args.splice(0, 1); 148 args.splice(0, 1);
149 if (args.length == 0) {
150 var rJS = receiver.toJS(true);
151 var callee = rJS + '.' + escapeJSName(name);
152
153 return '(' + callee + ' instanceof Function ? ' + callee + '() : ' + callee + ')';
154 }
149 } 155 }
150 ret = receiver.toJS(true) + '.'; 156 ret = receiver.toJS(true) + '.';
151 break; 157 break;
152 case 'parent': 158 case 'parent':
153 ret = 'this'; 159 ret = 'this';