@glimmer/syntax
Version:
47 lines (34 loc) • 3.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FreeVarReference = exports.LocalVarReference = exports.ArgReference = exports.ThisReference = void 0;
var _node = require("./node");
/**
* Corresponds to `this` at the head of an expression.
*/
class ThisReference extends (0, _node.node)('This').fields() {}
/**
* Corresponds to `@<ident>` at the beginning of an expression.
*/
exports.ThisReference = ThisReference;
class ArgReference extends (0, _node.node)('Arg').fields() {}
/**
* Corresponds to `<ident>` at the beginning of an expression, when `<ident>` is in the current
* block's scope.
*/
exports.ArgReference = ArgReference;
class LocalVarReference extends (0, _node.node)('Local').fields() {}
/**
* Corresponds to `<ident>` at the beginning of an expression, when `<ident>` is *not* in the
* current block's scope.
*
* The `resolution: FreeVarResolution` field describes how to resolve the free variable.
*
* Note: In strict mode, it must always be a variable that is in a concrete JavaScript scope that
* the template will be installed into.
*/
exports.LocalVarReference = LocalVarReference;
class FreeVarReference extends (0, _node.node)('Free').fields() {}
exports.FreeVarReference = FreeVarReference;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9vYmplY3RzL3JlZnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBOztBQUdBOzs7QUFHTSxNQUFBLGFBQUEsU0FBNkIsZ0JBQUEsTUFBQSxFQUE3QixNQUE2QixFQUE3QixDQUFrRDtBQUV4RDs7Ozs7OztBQUdNLE1BQUEsWUFBQSxTQUE0QixnQkFBQSxLQUFBLEVBQTVCLE1BQTRCLEVBQTVCLENBQXVGO0FBRTdGOzs7Ozs7OztBQUlNLE1BQUEsaUJBQUEsU0FBaUMsZ0JBQUEsT0FBQSxFQUFqQyxNQUFpQyxFQUFqQyxDQUlGO0FBRUo7Ozs7Ozs7Ozs7Ozs7QUFTTSxNQUFBLGdCQUFBLFNBQWdDLGdCQUFBLE1BQUEsRUFBaEMsTUFBZ0MsRUFBaEMsQ0FJRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvdXJjZVNsaWNlIH0gZnJvbSAnLi4vLi4vc291cmNlL3NsaWNlJztcbmltcG9ydCB7IG5vZGUgfSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHR5cGUgeyBGcmVlVmFyUmVzb2x1dGlvbiB9IGZyb20gJy4vcmVzb2x1dGlvbic7XG5cbi8qKlxuICogQ29ycmVzcG9uZHMgdG8gYHRoaXNgIGF0IHRoZSBoZWFkIG9mIGFuIGV4cHJlc3Npb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBUaGlzUmVmZXJlbmNlIGV4dGVuZHMgbm9kZSgnVGhpcycpLmZpZWxkcygpIHt9XG5cbi8qKlxuICogQ29ycmVzcG9uZHMgdG8gYEA8aWRlbnQ+YCBhdCB0aGUgYmVnaW5uaW5nIG9mIGFuIGV4cHJlc3Npb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBBcmdSZWZlcmVuY2UgZXh0ZW5kcyBub2RlKCdBcmcnKS5maWVsZHM8eyBuYW1lOiBTb3VyY2VTbGljZTsgc3ltYm9sOiBudW1iZXIgfT4oKSB7fVxuXG4vKipcbiAqIENvcnJlc3BvbmRzIHRvIGA8aWRlbnQ+YCBhdCB0aGUgYmVnaW5uaW5nIG9mIGFuIGV4cHJlc3Npb24sIHdoZW4gYDxpZGVudD5gIGlzIGluIHRoZSBjdXJyZW50XG4gKiBibG9jaydzIHNjb3BlLlxuICovXG5leHBvcnQgY2xhc3MgTG9jYWxWYXJSZWZlcmVuY2UgZXh0ZW5kcyBub2RlKCdMb2NhbCcpLmZpZWxkczx7XG4gIG5hbWU6IHN0cmluZztcbiAgaXNUZW1wbGF0ZUxvY2FsOiBib29sZWFuO1xuICBzeW1ib2w6IG51bWJlcjtcbn0+KCkge31cblxuLyoqXG4gKiBDb3JyZXNwb25kcyB0byBgPGlkZW50PmAgYXQgdGhlIGJlZ2lubmluZyBvZiBhbiBleHByZXNzaW9uLCB3aGVuIGA8aWRlbnQ+YCBpcyAqbm90KiBpbiB0aGVcbiAqIGN1cnJlbnQgYmxvY2sncyBzY29wZS5cbiAqXG4gKiBUaGUgYHJlc29sdXRpb246IEZyZWVWYXJSZXNvbHV0aW9uYCBmaWVsZCBkZXNjcmliZXMgaG93IHRvIHJlc29sdmUgdGhlIGZyZWUgdmFyaWFibGUuXG4gKlxuICogTm90ZTogSW4gc3RyaWN0IG1vZGUsIGl0IG11c3QgYWx3YXlzIGJlIGEgdmFyaWFibGUgdGhhdCBpcyBpbiBhIGNvbmNyZXRlIEphdmFTY3JpcHQgc2NvcGUgdGhhdFxuICogdGhlIHRlbXBsYXRlIHdpbGwgYmUgaW5zdGFsbGVkIGludG8uXG4gKi9cbmV4cG9ydCBjbGFzcyBGcmVlVmFyUmVmZXJlbmNlIGV4dGVuZHMgbm9kZSgnRnJlZScpLmZpZWxkczx7XG4gIG5hbWU6IHN0cmluZztcbiAgcmVzb2x1dGlvbjogRnJlZVZhclJlc29sdXRpb247XG4gIHN5bWJvbDogbnVtYmVyO1xufT4oKSB7fVxuXG5leHBvcnQgdHlwZSBWYXJpYWJsZVJlZmVyZW5jZSA9IFRoaXNSZWZlcmVuY2UgfCBBcmdSZWZlcmVuY2UgfCBMb2NhbFZhclJlZmVyZW5jZSB8IEZyZWVWYXJSZWZlcmVuY2U7XG4iXSwic291cmNlUm9vdCI6IiJ9