aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-12-11 08:13:15 -0800
committerAlon Zakai <alonzakai@gmail.com>2011-12-11 08:13:15 -0800
commit994e01663b94c16a681a71255d8a1f87f1a23973 (patch)
treed686c56fc5c5669317a28c0cf61483ab29893e6d /src
parent59cb52383add5581b10d0d331d0e0aa1154af0dd (diff)
simplify and slim down value intertype
Diffstat (limited to 'src')
-rw-r--r--src/analyzer.js2
-rw-r--r--src/intertyper.js4
-rw-r--r--src/jsifier.js2
-rw-r--r--src/parseTools.js2
4 files changed, 4 insertions, 6 deletions
diff --git a/src/analyzer.js b/src/analyzer.js
index 526d0249..b43711d1 100644
--- a/src/analyzer.js
+++ b/src/analyzer.js
@@ -590,7 +590,7 @@ function analyzer(data) {
if (param.intertype === 'value' && isNumber(param.ident)) {
var corrected = parseInt(param.ident)/(fatSize/slimSize);
assert(corrected % 1 === 0);
- param.ident = param.value.text = corrected.toString();
+ param.ident = corrected.toString();
}
});
} else if (item.params) {
diff --git a/src/intertyper.js b/src/intertyper.js
index f3d68ac4..341b2e1d 100644
--- a/src/intertyper.js
+++ b/src/intertyper.js
@@ -388,7 +388,7 @@ function intertyper(data, sidePass, baseLineNums) {
// Handle a single segment (after comma separation)
function handleSegment(segment) {
if (segment[1].text == 'null') {
- return { intertype: 'value', value: 0, type: 'i32' };
+ return { intertype: 'value', ident: '0', type: 'i32' };
} else if (segment[1].text == 'zeroinitializer') {
Types.needAnalysis[segment[0].text] = 0;
return { intertype: 'emptystruct', type: segment[0].text };
@@ -405,7 +405,7 @@ function intertyper(data, sidePass, baseLineNums) {
return { intertype: 'list', type: segment[0].text, contents: handleSegments(segment[1].item.tokens) };
} else if (segment.length == 2) {
Types.needAnalysis[segment[0].text] = 0;
- return { intertype: 'value', type: segment[0].text, value: toNiceIdent(segment[1].text) };
+ return { intertype: 'value', type: segment[0].text, ident: toNiceIdent(segment[1].text) };
} else if (segment[1].text === 'c') {
// string
var text = segment[2].text;
diff --git a/src/jsifier.js b/src/jsifier.js
index b02164f6..98460492 100644
--- a/src/jsifier.js
+++ b/src/jsifier.js
@@ -200,7 +200,7 @@ function JSify(data, functionsOnly, givenFunctions) {
function handleSegment(segment) {
var ret;
if (segment.intertype === 'value') {
- ret = segment.value.toString();
+ ret = segment.ident;
} else if (segment.intertype === 'emptystruct') {
ret = makeEmptyStruct(segment.type);
} else if (segment.intertype in PARSABLE_LLVM_FUNCTIONS) {
diff --git a/src/parseTools.js b/src/parseTools.js
index 024026c8..d0193a12 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -334,7 +334,6 @@ function parseParamTokens(params) {
ret.push({
intertype: 'value',
type: segment[0].text,
- value: null,
ident: toNiceIdent('%') + anonymousIndex
});
Types.needAnalysis[ret[ret.length-1].type] = 0;
@@ -355,7 +354,6 @@ function parseParamTokens(params) {
ret.push({
intertype: 'value',
type: segment[0].text,
- value: segment[1],
ident: toNiceIdent(parseNumerical(segment[1].text))
});
Types.needAnalysis[removeAllPointing(ret[ret.length-1].type)] = 0;