diff options
-rw-r--r-- | src/jsifier.js | 7 | ||||
-rw-r--r-- | src/parseTools.js | 7 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index e9a051a4..a8d3c329 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -618,10 +618,11 @@ function JSify(data, functionsOnly, givenFunctions) { } for (i = 0; i < chunks.length; i++) { func.JS += ' var ' + chunks[i].map(function(v) { - if (!isIllegalType(v.type) || v.ident.indexOf('$', 1) > 0) { // not illegal, or a broken up illegal - return v.ident + ' = ' + asmInitializer(v.type); //, func.variables[v.ident].impl); + var type = getImplementationType(v); + if (!isIllegalType(type) || v.ident.indexOf('$', 1) > 0) { // not illegal, or a broken up illegal + return v.ident + ' = ' + asmInitializer(type); //, func.variables[v.ident].impl); } else { - return range(Math.ceil(getBits(v.type)/32)).map(function(i) { + return range(Math.ceil(getBits(type)/32)).map(function(i) { return v.ident + '$' + i + '= 0'; }).join(','); } diff --git a/src/parseTools.js b/src/parseTools.js index 206557b5..0cd76bc4 100644 --- a/src/parseTools.js +++ b/src/parseTools.js @@ -2336,3 +2336,10 @@ function stripCorrections(param) { return param; } +function getImplementationType(varInfo) { + if (varInfo.impl == 'nativized') { + return removePointing(varInfo.type); + } + return varInfo.type; +} + |