diff compiler.js @ 25:4d87c38404d6

List literals, fixes to implicit self property lookup, import statement and editor improvements
author Mike Pavone <pavone@retrodev.com>
date Mon, 02 Apr 2012 22:28:48 -0700
parents fe3533494ce9
children 608eb70fe261
line wrap: on
line diff
--- a/compiler.js	Tue Mar 27 00:39:32 2012 -0700
+++ b/compiler.js	Mon Apr 02 22:28:48 2012 -0700
@@ -130,17 +130,6 @@
 	throw new Error("can't make val into object");
 }
 
-function setP(o, p, val)
-{
-	o[p] = val;
-	return o;
-}
-
-function getP(o, p)
-{
-	return o[p];
-}
-
 op.prototype.populateSymbols = function(symbols, isReceiver) {
 	this.left.populateSymbols(symbols);
 	this.right.populateSymbols(symbols);
@@ -159,8 +148,13 @@
 strlit.prototype.populateSymbols = function(symbols) {
 }
 
+listlit.prototype.populateSymbols = function(symbols) {
+	each(this.val, function(i,el) {
+		el.populateSymbols(symbols);
+	});
+}
+
 funcall.prototype.populateSymbols = function(symbols) {
-	if(this.name == 'q:') { console.log('populateSymbols', this); }
 	if (this.name == 'foreign:') {
 		if ((this.args[0] instanceof lambda) || (this.args[0] instanceof object) || (this.args[0] instanceof symbol)) {
 			return;
@@ -177,6 +171,10 @@
 	}
 }
 
+funcall.prototype.populateSymbolsObject = function(symbols) {
+	this.populateSymbols(symbols.parent);
+}
+
 object.prototype.populateSymbols = function(symbols) {
 	symbols = new osymbols(symbols);
 	for (var i in this.messages) {