c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove/* THIS FILE IS GENERATED BY A BUILD SCRIPT - DO NOT EDIT! */
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove// BEGIN(BROWSER)
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove(function() {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST = {};
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.ProgramNode = function(statements, inverse) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "program";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.statements = statements;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove if(inverse) { this.inverse = new Handlebars.AST.ProgramNode(inverse); }
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.MustacheNode = function(params, hash, unescaped) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "mustache";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.id = params[0];
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.params = params.slice(1);
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.hash = hash;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.escaped = !unescaped;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.PartialNode = function(id, context) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "partial";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove // TODO: disallow complex IDs
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.id = id;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.context = context;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove var verifyMatch = function(open, close) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove if(open.original !== close.original) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove throw new Handlebars.Exception(open.original + " doesn't match " + close.original);
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove }
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.BlockNode = function(mustache, program, close) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove verifyMatch(mustache.id, close);
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "block";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.mustache = mustache;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.program = program;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.InverseNode = function(mustache, program, close) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove verifyMatch(mustache.id, close);
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "inverse";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.mustache = mustache;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.program = program;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.ContentNode = function(string) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "content";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.string = string;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.HashNode = function(pairs) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "hash";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.pairs = pairs;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.IdNode = function(parts) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "ID";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.original = parts.join(".");
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove var dig = [], depth = 0;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove for(var i=0,l=parts.length; i<l; i++) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove var part = parts[i];
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove if(part === "..") { depth++; }
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove else if(part === "." || part === "this") { this.isScoped = true; }
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove else { dig.push(part); }
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove }
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.parts = dig;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.string = dig.join('.');
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.depth = depth;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.isSimple = (dig.length === 1) && (depth === 0);
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.StringNode = function(string) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "STRING";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.string = string;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.IntegerNode = function(integer) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "INTEGER";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.integer = integer;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.BooleanNode = function(bool) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "BOOLEAN";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.bool = bool;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove Handlebars.AST.CommentNode = function(comment) {
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.type = "comment";
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove this.comment = comment;
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove };
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove})();
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove// END(BROWSER)