Skip to content

Commit 5401381

Browse files
authored
Merge pull request webpack#7011 from webpack/fix/object_shapes
Always return object with the same shape to avoid polymorphism
2 parents 25f8637 + 54c0cd7 commit 5401381

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

lib/Parser.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1877,7 +1877,8 @@ class Parser extends Tapable {
18771877
return {
18781878
range: left.range,
18791879
value: left.value,
1880-
code: true
1880+
code: true,
1881+
conditional: false
18811882
};
18821883
} else if (right.code) {
18831884
return {
@@ -1886,12 +1887,15 @@ class Parser extends Tapable {
18861887
right.range ? right.range[1] : left.range[1]
18871888
],
18881889
value: left.value + right.value,
1889-
code: true
1890+
code: true,
1891+
conditional: false
18901892
};
18911893
} else {
18921894
return {
18931895
range: [left.range[0], right.range[1]],
1894-
value: left.value + right.value
1896+
value: left.value + right.value,
1897+
code: false,
1898+
conditional: false
18951899
};
18961900
}
18971901
}
@@ -1907,6 +1911,7 @@ class Parser extends Tapable {
19071911
else if (!alternate.code) items.push(alternate);
19081912
else break;
19091913
return {
1914+
range: undefined,
19101915
value: "",
19111916
code: true,
19121917
conditional: items
@@ -1915,12 +1920,16 @@ class Parser extends Tapable {
19151920
case "Literal":
19161921
return {
19171922
range: expression.range,
1918-
value: expression.value + ""
1923+
value: expression.value + "",
1924+
code: false,
1925+
conditional: false
19191926
};
19201927
}
19211928
return {
1929+
range: undefined,
19221930
value: "",
1923-
code: true
1931+
code: true,
1932+
conditional: false
19241933
};
19251934
}
19261935

lib/RuleSet.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,8 @@ module.exports = class RuleSet {
353353
};
354354
}
355355
return {
356-
loader: useItemString
356+
loader: useItemString,
357+
options: undefined
357358
};
358359
}
359360

lib/dependencies/getFunctionExpression.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ module.exports = expr => {
2626
) {
2727
return {
2828
fn: expr.callee.object,
29-
expressions: [expr.arguments[0]]
29+
expressions: [expr.arguments[0]],
30+
needThis: undefined
3031
};
3132
}
3233
// (function(_this) {return <FunctionExpression>})(this) (Coffeescript)

0 commit comments

Comments
 (0)