Merge branch 'master' into experimental

# Conflicts:
#	src/babel/transformation/transformers/es6/for-of.js
#	src/babel/transformation/transformers/playground/object-getter-memoization.js
This commit is contained in:
Sebastian McKenzie
2015-03-14 02:34:03 +11:00
12 changed files with 95 additions and 17 deletions

View File

@@ -148,7 +148,7 @@ export default class File {
returnUsedHelpers: false,
externalHelpers: false,
auxilaryComment: "",
inputSourceMap: false,
inputSourceMap: null,
experimental: false,
reactCompat: false,
playground: false,
@@ -288,10 +288,12 @@ export default class File {
parseInputSourceMap(code: string) {
var opts = this.opts;
var inputMap = convertSourceMap.fromSource(code);
if (inputMap) {
opts.inputSourceMap = inputMap.toObject();
code = convertSourceMap.removeComments(code);
if (opts.inputSourceMap !== false) {
var inputMap = convertSourceMap.fromSource(code);
if (inputMap) {
opts.inputSourceMap = inputMap.toObject();
code = convertSourceMap.removeComments(code);
}
}
return code;

View File

@@ -7,7 +7,7 @@ export function is(node, flag) {
export function pullFlag(node, flag) {
var flags = node.regex.flags.split("");
if (node.regex.flags.indexOf("u") < 0) return;
pull(flags, "u");
if (node.regex.flags.indexOf(flag) < 0) return;
pull(flags, flag);
node.regex.flags = flags.join("");
}

View File

@@ -33,11 +33,8 @@ export function ForOfStatement(node, parent, scope, file) {
t.inherits(loop, node);
if (build.replaceParent) {
this.parentPath.node = build.node;
} else {
return build.node;
}
if (build.replaceParent) this.parentPath.node = build.node;
return build.node;
}
export function _ForOfStatementArray(node, scope, file) {

View File

@@ -7,6 +7,6 @@ export function check(node) {
export function Literal(node) {
if (!regex.is(node, "u")) return;
regex.pullFlag(node, "y");
node.regex.pattern = rewritePattern(node.regex.pattern, node.regex.flags);
regex.pullFlag(node, "u");
}

View File

@@ -11,6 +11,7 @@ build(exports, {
},
build(node, file) {
console.error("The memoization operator is deprecated and will be removed in 5.0.0");
return t.unaryExpression(
"!",
t.callExpression(

View File

@@ -20,6 +20,8 @@ export function MethodDefinition(node, parent, scope, file) {
if (node.kind !== "memo") return;
node.kind = "get";
console.error("Object getter memoization is deprecated and will be removed in 5.0.0");
t.ensureBlock(node.value);
var key = node.key;