diff options
author | Alon Zakai <alonzakai@gmail.com> | 2011-12-11 08:13:15 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2011-12-11 08:13:15 -0800 |
commit | 994e01663b94c16a681a71255d8a1f87f1a23973 (patch) | |
tree | d686c56fc5c5669317a28c0cf61483ab29893e6d /src | |
parent | 59cb52383add5581b10d0d331d0e0aa1154af0dd (diff) |
simplify and slim down value intertype
Diffstat (limited to 'src')
-rw-r--r-- | src/analyzer.js | 2 | ||||
-rw-r--r-- | src/intertyper.js | 4 | ||||
-rw-r--r-- | src/jsifier.js | 2 | ||||
-rw-r--r-- | src/parseTools.js | 2 |
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; |