Sha256: a30b6a688f50b34c889d7633d2f3d0497d3726e8843f47e854f5d0d5f692635b
Contents?: true
Size: 1.77 KB
Versions: 3
Compression:
Stored size: 1.77 KB
Contents
"use strict"; exports.__esModule = true; exports.ForOfStatement = ForOfStatement; exports.MethodDefinition = MethodDefinition; exports.Property = Property; function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } } var _messages = require("../../../messages"); var messages = _interopRequireWildcard(_messages); var _types = require("../../../types"); var t = _interopRequireWildcard(_types); var metadata = { group: "builtin-pre" }; exports.metadata = metadata; function ForOfStatement(node, parent, scope, file) { var left = node.left; if (t.isVariableDeclaration(left)) { var declar = left.declarations[0]; if (declar.init) throw file.errorWithNode(declar, messages.get("noAssignmentsInForHead")); } } exports.ForInStatement = ForOfStatement; function MethodDefinition(node) { if (node.kind !== "constructor") { // get constructor() {} var isConstructor = !node.computed && t.isIdentifier(node.key, { name: "constructor" }); // get ["constructor"]() {} isConstructor = isConstructor || t.isLiteral(node.key, { value: "constructor" }); if (isConstructor) { throw this.errorWithNode(messages.get("classesIllegalConstructorKind")); } } Property.apply(this, arguments); } function Property(node, parent, scope, file) { if (node.kind === "set") { if (node.value.params.length !== 1) { throw file.errorWithNode(node.value, messages.get("settersInvalidParamLength")); } var first = node.value.params[0]; if (t.isRestElement(first)) { throw file.errorWithNode(first, messages.get("settersNoRest")); } } }
Version data entries
3 entries across 3 versions & 1 rubygems