OLD | NEW |
1 library angular.core.parser; | 1 library angular.core.parser; |
2 | 2 |
| 3 import 'package:angular/core/parser/syntax.dart' |
| 4 show CallArguments; |
3 export 'package:angular/core/parser/syntax.dart' | 5 export 'package:angular/core/parser/syntax.dart' |
4 show Visitor, Expression, BoundExpression; | 6 show Visitor, Expression, BoundExpression, CallArguments; |
5 export 'package:angular/core/parser/dynamic_parser.dart' | 7 export 'package:angular/core/parser/dynamic_parser.dart' |
6 show DynamicParser, DynamicParserBackend, ClosureMap; | 8 show DynamicParser, DynamicParserBackend, ClosureMap; |
7 export 'package:angular/core/parser/static_parser.dart' | |
8 show StaticParser, StaticParserFunctions; | |
9 | 9 |
10 typedef LocalsWrapper(context, locals); | 10 typedef LocalsWrapper(context, locals); |
11 typedef Getter(self); | 11 typedef Getter(self); |
12 typedef Setter(self, value); | 12 typedef Setter(self, value); |
13 typedef BoundGetter([locals]); | 13 typedef BoundGetter([locals]); |
14 typedef BoundSetter(value, [locals]); | 14 typedef BoundSetter(value, [locals]); |
| 15 typedef MethodClosure(obj, List posArgs, Map namedArgs); |
15 | 16 |
16 /// Placeholder for DI. The parser you are looking for is [DynamicParser]. | 17 /// Placeholder for DI. The parser you are looking for is [DynamicParser]. |
17 abstract class Parser<T> { | 18 abstract class Parser<T> { |
18 T call(String input); | 19 T call(String input); |
19 } | 20 } |
20 | 21 |
21 abstract class ParserBackend<T> { | 22 abstract class ParserBackend<T> { |
22 bool isAssignable(T expression); | 23 bool isAssignable(T expression); |
23 | 24 |
24 T newChain(List expressions) | 25 T newChain(List expressions) => null; |
25 => null; | 26 T newFilter(T expression, String name, List arguments) => null; |
26 T newFilter(T expression, String name, List arguments) | |
27 => null; | |
28 | 27 |
29 T newAssign(T target, T value) | 28 T newAssign(T target, T value) => null; |
30 => null; | 29 T newConditional(T condition, T yes, T no) => null; |
31 T newConditional(T condition, T yes, T no) | |
32 => null; | |
33 | 30 |
34 T newAccessScope(String name) | 31 T newAccessScope(String name) => null; |
35 => null; | 32 T newAccessMember(T object, String name) => null; |
36 T newAccessMember(T object, String name) | 33 T newAccessKeyed(T object, T key) => null; |
37 => null; | |
38 T newAccessKeyed(T object, T key) | |
39 => null; | |
40 | 34 |
41 T newCallScope(String name, List arguments) | 35 T newCallScope(String name, CallArguments arguments) => null; |
42 => null; | 36 T newCallFunction(T function, CallArguments arguments) => null; |
43 T newCallFunction(T function, List arguments) | 37 T newCallMember(T object, String name, CallArguments arguments) => null; |
44 => null; | |
45 T newCallMember(T object, String name, List arguments) | |
46 => null; | |
47 | 38 |
48 T newPrefix(String operation, T expression) | 39 T newPrefix(String operation, T expression) => null; |
49 => null; | 40 T newPrefixPlus(T expression) => expression; |
50 T newPrefixPlus(T expression) | 41 T newPrefixMinus(T expression) => |
51 => expression; | 42 newBinaryMinus(newLiteralZero(), expression); |
52 T newPrefixMinus(T expression) | 43 T newPrefixNot(T expression) => newPrefix('!', expression); |
53 => newBinaryMinus(newLiteralZero(), expression); | |
54 T newPrefixNot(T expression) | |
55 => newPrefix('!', expression); | |
56 | 44 |
57 T newBinary(String operation, T left, T right) | 45 T newBinary(String operation, T left, T right) => null; |
58 => null; | 46 T newBinaryPlus(T left, T right) => newBinary('+', left, right); |
59 T newBinaryPlus(T left, T right) | 47 T newBinaryMinus(T left, T right) => newBinary('-', left, right); |
60 => newBinary('+', left, right); | 48 T newBinaryMultiply(T left, T right) => newBinary('*', left, right); |
61 T newBinaryMinus(T left, T right) | 49 T newBinaryDivide(T left, T right) => newBinary('/', left, right); |
62 => newBinary('-', left, right); | 50 T newBinaryModulo(T left, T right) => newBinary('%', left, right); |
63 T newBinaryMultiply(T left, T right) | 51 T newBinaryTruncatingDivide(T left, T right) => newBinary('~/', left, right); |
64 => newBinary('*', left, right); | 52 T newBinaryLogicalAnd(T left, T right) => newBinary('&&', left, right); |
65 T newBinaryDivide(T left, T right) | 53 T newBinaryLogicalOr(T left, T right) => newBinary('||', left, right); |
66 => newBinary('/', left, right); | 54 T newBinaryEqual(T left, T right) => newBinary('==', left, right); |
67 T newBinaryModulo(T left, T right) | 55 T newBinaryNotEqual(T left, T right) => newBinary('!=', left, right); |
68 => newBinary('%', left, right); | 56 T newBinaryLessThan(T left, T right) => newBinary('<', left, right); |
69 T newBinaryTruncatingDivide(T left, T right) | 57 T newBinaryGreaterThan(T left, T right) => newBinary('>', left, right); |
70 => newBinary('~/', left, right); | 58 T newBinaryLessThanEqual(T left, T right) => newBinary('<=', left, right); |
71 T newBinaryLogicalAnd(T left, T right) | 59 T newBinaryGreaterThanEqual(T left, T right) => newBinary('>=', left, right); |
72 => newBinary('&&', left, right); | |
73 T newBinaryLogicalOr(T left, T right) | |
74 => newBinary('||', left, right); | |
75 T newBinaryEqual(T left, T right) | |
76 => newBinary('==', left, right); | |
77 T newBinaryNotEqual(T left, T right) | |
78 => newBinary('!=', left, right); | |
79 T newBinaryLessThan(T left, T right) | |
80 => newBinary('<', left, right); | |
81 T newBinaryGreaterThan(T left, T right) | |
82 => newBinary('>', left, right); | |
83 T newBinaryLessThanEqual(T left, T right) | |
84 => newBinary('<=', left, right); | |
85 T newBinaryGreaterThanEqual(T left, T right) | |
86 => newBinary('>=', left, right); | |
87 | 60 |
88 T newLiteralPrimitive(value) | 61 T newLiteralPrimitive(value) => null; |
89 => null; | 62 T newLiteralArray(List elements) => null; |
90 T newLiteralArray(List elements) | 63 T newLiteralObject(List<String> keys, List values) => null; |
91 => null; | 64 T newLiteralNull() => newLiteralPrimitive(null); |
92 T newLiteralObject(List<String> keys, List values) | 65 T newLiteralZero() => newLiteralNumber(0); |
93 => null; | 66 T newLiteralBoolean(bool value) => newLiteralPrimitive(value); |
94 T newLiteralNull() | 67 T newLiteralNumber(num value) => newLiteralPrimitive(value); |
95 => newLiteralPrimitive(null); | 68 T newLiteralString(String value) => null; |
96 T newLiteralZero() | |
97 => newLiteralNumber(0); | |
98 T newLiteralBoolean(bool value) | |
99 => newLiteralPrimitive(value); | |
100 T newLiteralNumber(num value) | |
101 => newLiteralPrimitive(value); | |
102 T newLiteralString(String value) | |
103 => null; | |
104 } | 69 } |
OLD | NEW |