'do if in for let new try var case else enum eval null this true void with await break catch class const false super throw while yield delete export import public return static switch typeof default extends finally package private continue debugger function arguments interface protected implements instanceof'
.split(' ')
.forEach(word => (reserved[word] = true));
function Scope(options) {
options = options || {};
this.parent = options.parent;
this.isBlockScope = !!options.block;
this.createDeclarationCallback = options.declare;
var scope = this;
while (scope.isBlockScope) { scope = scope.parent; }
if ( dangerousKey === void 0 ) dangerousKey = null;
var maybeDangerous = dangerousKey ? `, or \`transforms: { ${dangerousKey}: true }\` if you know what you're doing` : '';
throw new CompileError(`Transforming ${feature} is not ${dangerousKey ? "fully supported" : "implemented"}. Use \`transforms: { ${transformKey}: false }\` to skip transformation and disable this error${maybeDangerous}.`, node);