Skip to content

Commit 1534472

Browse files
committed
refactor(AstParser): make AstParser private, no more injectable
follow up for dart-archive#788
1 parent ae31548 commit 1534472

File tree

4 files changed

+14
-15
lines changed

4 files changed

+14
-15
lines changed

lib/core/module.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ class NgCoreModule extends Module {
4747
type(ScopeStatsEmitter);
4848
factory(ScopeStatsConfig, (i) => new ScopeStatsConfig());
4949
value(Object, {}); // RootScope context
50-
type(AstParser);
5150
type(NgZone);
5251

5352
type(Parser, implementedBy: DynamicParser);

lib/core/scope.dart

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ class RootScope extends Scope {
507507
static final STATE_FLUSH_ASSERT = 'assert';
508508

509509
final ExceptionHandler _exceptionHandler;
510-
final AstParser _astParser;
510+
final _AstParser _astParser;
511511
final Parser _parser;
512512
final ScopeDigestTTL _ttl;
513513
final NgZone _zone;
@@ -525,7 +525,7 @@ class RootScope extends Scope {
525525
ScopeStats _scopeStats)
526526
: _scopeStats = _scopeStats,
527527
_parser = parser,
528-
_astParser = new AstParser(parser),
528+
_astParser = new _AstParser(parser),
529529
super(context, null, null,
530530
new RootWatchGroup(fieldGetterFactory,
531531
new DirtyCheckingChangeDetector(fieldGetterFactory), context),
@@ -944,25 +944,24 @@ class _FunctionChain {
944944
}
945945
}
946946

947-
@NgInjectableService()
948-
class AstParser {
947+
class _AstParser {
949948
final Parser _parser;
950949
int _id = 0;
951950
ExpressionVisitor _visitor = new ExpressionVisitor();
952951

953-
AstParser(this._parser);
952+
_AstParser(this._parser);
954953

955-
AST call(String exp, { FilterMap filters,
956-
bool collection: false,
957-
Object context: null }) {
954+
AST call(String input, {FilterMap filters,
955+
bool collection: false,
956+
Object context: null }) {
958957
_visitor.filters = filters;
959958
AST contextRef = _visitor.contextRef;
960959
try {
961960
if (context != null) {
962961
_visitor.contextRef = new ConstantAST(context, '#${_id++}');
963962
}
964-
var ast = _parser(exp);
965-
return collection ? _visitor.visitCollection(ast) : _visitor.visit(ast);
963+
var exp = _parser(input);
964+
return collection ? _visitor.visitCollection(exp) : _visitor.visit(exp);
966965
} finally {
967966
_visitor.contextRef = contextRef;
968967
_visitor.filters = null;

test/angular_spec.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ main() {
167167
"angular.core.UnboundedCache", // internal?
168168
"angular.core.ScopeStream", // internal?
169169
"angular.core.FilterMap", // internal?
170-
"angular.core.AstParser", // internal?
171170
"angular.watch_group.FunctionApply", // internal?
172171
"angular.watch_group.WatchGroup", // internal?
173172
"angular.watch_group.ContextReferenceAST", // internal?

test/change_detection/watch_group_spec.dart

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,20 @@ void main() {
1717
var watchGrp;
1818
DirtyCheckingChangeDetector changeDetector;
1919
Logger logger;
20-
AstParser parser;
20+
Parser parser;
21+
ExpressionVisitor visitor;
2122

22-
beforeEach(inject((Logger _logger, AstParser _parser) {
23+
beforeEach(inject((Logger _logger, Parser _parser) {
2324
context = {};
2425
var getterFactory = new DynamicFieldGetterFactory();
2526
changeDetector = new DirtyCheckingChangeDetector(getterFactory);
2627
watchGrp = new RootWatchGroup(getterFactory, changeDetector, context);
28+
visitor = new ExpressionVisitor();
2729
logger = _logger;
2830
parser = _parser;
2931
}));
3032

31-
AST parse(String expression) => parser(expression);
33+
AST parse(String expression) => visitor.visit(parser(expression));
3234

3335
eval(String expression, [evalContext]) {
3436
AST ast = parse(expression);

0 commit comments

Comments
 (0)