diff options
author | max99x <max99x@gmail.com> | 2011-07-06 16:37:28 +0300 |
---|---|---|
committer | max99x <max99x@gmail.com> | 2011-07-06 16:37:28 +0300 |
commit | dedb83b9e15591893e1b30220c721e447518f5d9 (patch) | |
tree | 87068307ade1fbcff662fcef5e943d944f4f7374 /src/jsifier.js | |
parent | 13ac46b2c9be4aa17319c450a15ed96b71e091d7 (diff) | |
parent | e84f1845f1a96ecfda4f1ffc0ba2052dc7c8c86d (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/jsifier.js')
-rw-r--r-- | src/jsifier.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 1b83b991..486eeb02 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -221,6 +221,21 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) { } }); + // alias + substrate.addActor('Alias', { + processItem: function(item) { + item.intertype = 'GlobalVariableStub'; + var ret = [item]; + item.JS = 'var ' + item.ident + ';'; + // Set the actual value in a postset, since it may be a global variable. TODO: handle alias of alias (needs ordering) + ret.push({ + intertype: 'GlobalVariablePostSet', + JS: item.ident + ' = ' + item.aliasee + ';' + }); + return ret; + } + }); + var moduleFunctions = set(data.unparsedFunctions.map(function(func) { return func.ident })); var addedLibraryItems = {}; @@ -830,6 +845,7 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) { substrate.addItems(values(data.globalVariables), 'GlobalVariable'); substrate.addItems(data.functions, 'FunctionSplitter'); substrate.addItems(data.functionStubs, 'FunctionStub'); + substrate.addItems(data.aliass, 'Alias'); return finalCombiner(substrate.solve()); } |