Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(116)

Side by Side Diff: third_party/pkg/angular/lib/core/parser/syntax.dart

Issue 257423008: Update all Angular libs (run update_all.sh). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 library angular.core.parser.syntax; 1 library angular.core.parser.syntax;
2 2
3 import 'package:angular/core/parser/parser.dart' show LocalsWrapper; 3 import 'package:angular/core/parser/parser.dart' show LocalsWrapper;
4 import 'package:angular/core/parser/unparser.dart' show Unparser; 4 import 'package:angular/core/parser/unparser.dart' show Unparser;
5 import 'package:angular/core/parser/utils.dart' show EvalError; 5 import 'package:angular/core/parser/utils.dart' show EvalError;
6 import 'package:angular/core/module.dart'; 6 import 'package:angular/core/module_internal.dart';
7 7
8 abstract class Visitor { 8 abstract class Visitor {
9 visit(Expression expression) 9 visit(Expression expression) => expression.accept(this);
10 => expression.accept(this);
11 10
12 visitExpression(Expression expression) 11 visitExpression(Expression expression) => null;
13 => null; 12 visitChain(Chain expression) => visitExpression(expression);
14 visitChain(Chain expression) 13 visitFilter(Filter expression) => visitExpression(expression);
15 => visitExpression(expression);
16 visitFilter(Filter expression)
17 => visitExpression(expression);
18 14
19 visitAssign(Assign expression) 15 visitAssign(Assign expression) => visitExpression(expression);
20 => visitExpression(expression); 16 visitConditional(Conditional expression) => visitExpression(expression);
21 visitConditional(Conditional expression)
22 => visitExpression(expression);
23 17
24 visitAccessScope(AccessScope expression) 18 visitAccessScope(AccessScope expression) => visitExpression(expression);
25 => visitExpression(expression); 19 visitAccessMember(AccessMember expression) => visitExpression(expression);
26 visitAccessMember(AccessMember expression) 20 visitAccessKeyed(AccessKeyed expression) => visitExpression(expression);
27 => visitExpression(expression);
28 visitAccessKeyed(AccessKeyed expression)
29 => visitExpression(expression);
30 21
31 visitCallScope(CallScope expression) 22 visitCallScope(CallScope expression) => visitExpression(expression);
32 => visitExpression(expression); 23 visitCallFunction(CallFunction expression) => visitExpression(expression);
33 visitCallFunction(CallFunction expression) 24 visitCallMember(CallMember expression) => visitExpression(expression);
34 => visitExpression(expression);
35 visitCallMember(CallMember expression)
36 => visitExpression(expression);
37 25
38 visitBinary(Binary expression) 26 visitBinary(Binary expression) => visitExpression(expression);
39 => visitExpression(expression);
40 27
41 visitPrefix(Prefix expression) 28 visitPrefix(Prefix expression) => visitExpression(expression);
42 => visitExpression(expression);
43 29
44 visitLiteral(Literal expression) 30 visitLiteral(Literal expression) => visitExpression(expression);
45 => visitExpression(expression); 31 visitLiteralPrimitive(LiteralPrimitive expression) =>
46 visitLiteralPrimitive(LiteralPrimitive expression) 32 visitLiteral(expression);
47 => visitLiteral(expression); 33 visitLiteralString(LiteralString expression) => visitLiteral(expression);
48 visitLiteralString(LiteralString expression) 34 visitLiteralArray(LiteralArray expression) => visitLiteral(expression);
49 => visitLiteral(expression); 35 visitLiteralObject(LiteralObject expression) => visitLiteral(expression);
50 visitLiteralArray(LiteralArray expression)
51 => visitLiteral(expression);
52 visitLiteralObject(LiteralObject expression)
53 => visitLiteral(expression);
54 } 36 }
55 37
56 abstract class Expression { 38 abstract class Expression {
57 bool get isAssignable => false; 39 bool get isAssignable => false;
58 bool get isChain => false; 40 bool get isChain => false;
59 41
60 eval(scope, [FilterMap filters = defaultFilterMap]) 42 eval(scope, [FormatterMap formatters = defaultFormatterMap]) =>
61 => throw new EvalError("Cannot evaluate $this"); 43 throw new EvalError("Cannot evaluate $this");
62 assign(scope, value) 44 assign(scope, value) =>
63 => throw new EvalError("Cannot assign to $this"); 45 throw new EvalError("Cannot assign to $this");
64 bind(context, [LocalsWrapper wrapper]) 46 bind(context, [LocalsWrapper wrapper]) =>
65 => new BoundExpression(this, context, wrapper); 47 new BoundExpression(this, context, wrapper);
66 48
67 accept(Visitor visitor); 49 accept(Visitor visitor);
68 String toString() => Unparser.unparse(this); 50 String toString() => Unparser.unparse(this);
69 } 51 }
70 52
71 class BoundExpression { 53 class BoundExpression {
72 final Expression expression; 54 final Expression expression;
73 final _context; 55 final _context;
74 final LocalsWrapper _wrapper; 56 final LocalsWrapper _wrapper;
75 BoundExpression(this.expression, this._context, this._wrapper); 57 BoundExpression(this.expression, this._context, this._wrapper);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 } 112 }
131 113
132 class AccessKeyed extends Expression { 114 class AccessKeyed extends Expression {
133 final Expression object; 115 final Expression object;
134 final Expression key; 116 final Expression key;
135 AccessKeyed(this.object, this.key); 117 AccessKeyed(this.object, this.key);
136 bool get isAssignable => true; 118 bool get isAssignable => true;
137 accept(Visitor visitor) => visitor.visitAccessKeyed(this); 119 accept(Visitor visitor) => visitor.visitAccessKeyed(this);
138 } 120 }
139 121
122 class CallArguments {
123 final List<Expression> positionals;
124 final Map<String, Expression> named;
125 const CallArguments(this.positionals, this.named);
126
127 int get arity => positionals.length + named.length;
128
129 Expression operator[](int index) {
130 int split = positionals.length;
131 return index < split ? positionals[index] : named.values.elementAt(index - s plit);
132 }
133 }
134
140 class CallScope extends Expression { 135 class CallScope extends Expression {
141 final String name; 136 final String name;
142 final List<Expression> arguments; 137 final CallArguments arguments;
143 CallScope(this.name, this.arguments); 138 CallScope(this.name, this.arguments);
144 accept(Visitor visitor) => visitor.visitCallScope(this); 139 accept(Visitor visitor) => visitor.visitCallScope(this);
145 } 140 }
146 141
147 class CallFunction extends Expression { 142 class CallFunction extends Expression {
148 final Expression function; 143 final Expression function;
149 final List<Expression> arguments; 144 final CallArguments arguments;
150 CallFunction(this.function, this.arguments); 145 CallFunction(this.function, this.arguments);
151 accept(Visitor visitor) => visitor.visitCallFunction(this); 146 accept(Visitor visitor) => visitor.visitCallFunction(this);
152 } 147 }
153 148
154 class CallMember extends Expression { 149 class CallMember extends Expression {
155 final Expression object; 150 final Expression object;
156 final String name; 151 final String name;
157 final List<Expression> arguments; 152 final CallArguments arguments;
158 CallMember(this.object, this.name, this.arguments); 153 CallMember(this.object, this.name, this.arguments);
159 accept(Visitor visitor) => visitor.visitCallMember(this); 154 accept(Visitor visitor) => visitor.visitCallMember(this);
160 } 155 }
161 156
162 class Binary extends Expression { 157 class Binary extends Expression {
163 final String operation; 158 final String operation;
164 final Expression left; 159 final Expression left;
165 final Expression right; 160 final Expression right;
166 Binary(this.operation, this.left, this.right); 161 Binary(this.operation, this.left, this.right);
167 accept(Visitor visitor) => visitor.visitBinary(this); 162 accept(Visitor visitor) => visitor.visitBinary(this);
(...skipping 27 matching lines...) Expand all
195 accept(Visitor visitor) => visitor.visitLiteralArray(this); 190 accept(Visitor visitor) => visitor.visitLiteralArray(this);
196 } 191 }
197 192
198 class LiteralObject extends Literal { 193 class LiteralObject extends Literal {
199 final List<String> keys; 194 final List<String> keys;
200 final List<Expression> values; 195 final List<Expression> values;
201 LiteralObject(this.keys, this.values); 196 LiteralObject(this.keys, this.values);
202 accept(Visitor visitor) => visitor.visitLiteralObject(this); 197 accept(Visitor visitor) => visitor.visitLiteralObject(this);
203 } 198 }
204 199
205 const defaultFilterMap = const _DefaultFilterMap(); 200 const defaultFormatterMap = const _DefaultFormatterMap();
206 201
207 class _DefaultFilterMap implements FilterMap { 202 class _DefaultFormatterMap implements FormatterMap {
208 const _DefaultFilterMap(); 203 const _DefaultFormatterMap();
209 204
210 call(name) => throw 'No NgFilter: $name found!'; 205 call(name) => throw 'No Formatter: $name found!';
211 Type operator[](annotation) => null; 206 Type operator[](annotation) => null;
212 forEach(fn) { } 207 forEach(fn) { }
213 annotationsFor(type) => null; 208 annotationsFor(type) => null;
214 } 209 }
OLDNEW
« no previous file with comments | « third_party/pkg/angular/lib/core/parser/static_parser.dart ('k') | third_party/pkg/angular/lib/core/parser/tokens.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698