aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jsifier.js7
-rw-r--r--src/parseTools.js7
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;
+}
+