changeset 320:1debeb21dd47

Allow symbol expressions in includeSystemHeader calls
author Michael Pavone <pavone@retrodev.com>
date Sun, 22 Mar 2015 19:10:09 -0700
parents 8514a543bece
children 3edd0169311a
files cbackend.js
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/cbackend.js	Fri Mar 20 19:21:22 2015 -0700
+++ b/cbackend.js	Sun Mar 22 19:10:09 2015 -0700
@@ -666,7 +666,13 @@
 					lines: messages[i].args[2].toCLines(vars, true)
 				});
 			} else if(msgname == 'includeSystemHeader' && messages[i].args.length == 1) {
-				me.addInclude("<" + messages[i].args[0].val + ">");
+				if (messages[i].args[0] instanceof strlit) {
+					me.addInclude("<" + messages[i].args[0].val + ">");
+				} else if(messages[i].args[0] instanceof symbol) {
+					me.addInclude(messages[i].args[0].name);
+				} else {
+					throw new Error('Argument to includeSystemHeader must be a string literal or symbol');
+				}
 			} else {
 
 				throw new Error('Only import and import:from calls allowed in object context. ' + messages[i].name + 'with ' + messages[i].args.length + ' arguments found instead.');