Throwing an error when pattern matching has a non-identifier on the left-hand side.

This commit is contained in:
Jeremy Ashkenas
2010-04-25 11:22:15 -04:00
parent 08c877ec7b
commit ca4ea7649d
2 changed files with 5 additions and 0 deletions

View File

@@ -943,6 +943,9 @@
obj = _c[0];
idx = _c[1];
}
if (!(obj instanceof ValueNode || obj instanceof SplatNode)) {
throw new Error('pattern matching must use only identifiers on the left-hand side.');
}
is_string = idx.value && idx.value.match(IS_STRING);
access_class = is_string || this.variable.is_array() ? IndexNode : AccessorNode;
if (obj instanceof SplatNode && !splat) {