aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng/parse.js
diff options
context:
space:
mode:
authorPeter Bacon Darwin2013-10-05 11:13:24 +0100
committerPete Bacon Darwin2013-10-07 14:31:14 +0100
commit281feba4caffd14ffbd6dedfb95ad6415cff8483 (patch)
tree3d69adcddc341d3daa59c16aa98c5c5f4a312e48 /src/ng/parse.js
parent805efb4c47f457004a5b35f532712b9b62105a99 (diff)
downloadangular.js-281feba4caffd14ffbd6dedfb95ad6415cff8483.tar.bz2
refactor($parse): only instantiate lex/parse once
Closes #4286
Diffstat (limited to 'src/ng/parse.js')
-rw-r--r--src/ng/parse.js5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/ng/parse.js b/src/ng/parse.js
index ae22f0e8..4a1921fc 100644
--- a/src/ng/parse.js
+++ b/src/ng/parse.js
@@ -1034,14 +1034,15 @@ 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);
+
switch (typeof exp) {
case 'string':
if (cache.hasOwnProperty(exp)) {
return cache[exp];
}
- var lexer = new Lexer($sniffer.csp);
- var parser = new Parser(lexer, $filter, $sniffer.csp);
return cache[exp] = parser.parse(exp, false);
case 'function':