From 670cd9c165815c511c71046c89241446c1bd55d5 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Mon, 7 Oct 2013 11:10:24 -0700 Subject: revert: refactor($parse): only instantiate lex/parse once This reverts commit 281feba4caffd14ffbd6dedfb95ad6415cff8483. Since Lexer and Parser objects are stateful it is not safe to reuse them for parsing of multiple expressions. After recent refactoring into prototypical style, the instantiation of these objects is so cheap that it's not a huge win to use singletons here. --- src/ng/parse.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ng/parse.js b/src/ng/parse.js index 682b497b..701647c5 100644 --- a/src/ng/parse.js +++ b/src/ng/parse.js @@ -1043,8 +1043,6 @@ function $ParseProvider() { var cache = {}; this.$get = ['$filter', '$sniffer', function($filter, $sniffer) { return function(exp) { - var lexer = new Lexer($sniffer.csp); - var parser = new Parser(lexer, $filter, $sniffer.csp); var parsedExpression; switch (typeof exp) { @@ -1053,6 +1051,8 @@ function $ParseProvider() { return cache[exp]; } + var lexer = new Lexer($sniffer.csp); + var parser = new Parser(lexer, $filter, $sniffer.csp); parsedExpression = parser.parse(exp, false); if (exp !== 'hasOwnProperty') { -- cgit v1.2.3