@@ -3,27 +3,27 @@ import {List, Map, ListWrapper, StringMapWrapper} from "angular2/src/facade/coll
3
3
import { Locals } from "./locals" ;
4
4
5
5
export class AST {
6
- eval ( context , locals : Locals ) { throw new BaseException ( "Not supported" ) ; }
6
+ eval ( context : any , locals : Locals ) : any { throw new BaseException ( "Not supported" ) ; }
7
7
8
8
get isAssignable ( ) : boolean { return false ; }
9
9
10
- assign ( context , locals : Locals , value ) { throw new BaseException ( "Not supported" ) ; }
10
+ assign ( context : any , locals : Locals , value : any ) { throw new BaseException ( "Not supported" ) ; }
11
11
12
12
visit ( visitor : AstVisitor ) : any { return null ; }
13
13
14
14
toString ( ) : string { return "AST" ; }
15
15
}
16
16
17
17
export class EmptyExpr extends AST {
18
- eval ( context , locals : Locals ) : any { return null ; }
18
+ eval ( context : any , locals : Locals ) : any { return null ; }
19
19
20
20
visit ( visitor : AstVisitor ) {
21
21
// do nothing
22
22
}
23
23
}
24
24
25
25
export class ImplicitReceiver extends AST {
26
- eval ( context , locals : Locals ) : any { return context ; }
26
+ eval ( context : any , locals : Locals ) : any { return context ; }
27
27
28
28
visit ( visitor : AstVisitor ) : any { return visitor . visitImplicitReceiver ( this ) ; }
29
29
}
@@ -34,7 +34,7 @@ export class ImplicitReceiver extends AST {
34
34
export class Chain extends AST {
35
35
constructor ( public expressions : List < any > ) { super ( ) ; }
36
36
37
- eval ( context , locals : Locals ) : any {
37
+ eval ( context : any , locals : Locals ) : any {
38
38
var result ;
39
39
for ( var i = 0 ; i < this . expressions . length ; i ++ ) {
40
40
var last = this . expressions [ i ] . eval ( context , locals ) ;
@@ -49,7 +49,7 @@ export class Chain extends AST {
49
49
export class Conditional extends AST {
50
50
constructor ( public condition : AST , public trueExp : AST , public falseExp : AST ) { super ( ) ; }
51
51
52
- eval ( context , locals : Locals ) : any {
52
+ eval ( context : any , locals : Locals ) : any {
53
53
if ( this . condition . eval ( context , locals ) ) {
54
54
return this . trueExp . eval ( context , locals ) ;
55
55
} else {
@@ -63,7 +63,7 @@ export class Conditional extends AST {
63
63
export class If extends AST {
64
64
constructor ( public condition : AST , public trueExp : AST , public falseExp ?: AST ) { super ( ) ; }
65
65
66
- eval ( context , locals ) {
66
+ eval ( context : any , locals : Locals ) {
67
67
if ( this . condition . eval ( context , locals ) ) {
68
68
this . trueExp . eval ( context , locals ) ;
69
69
} else if ( isPresent ( this . falseExp ) ) {
@@ -80,7 +80,7 @@ export class AccessMember extends AST {
80
80
super ( ) ;
81
81
}
82
82
83
- eval ( context , locals : Locals ) : any {
83
+ eval ( context : any , locals : Locals ) : any {
84
84
if ( this . receiver instanceof ImplicitReceiver && isPresent ( locals ) &&
85
85
locals . contains ( this . name ) ) {
86
86
return locals . get ( this . name ) ;
@@ -92,7 +92,7 @@ export class AccessMember extends AST {
92
92
93
93
get isAssignable ( ) : boolean { return true ; }
94
94
95
- assign ( context , locals : Locals , value ) : any {
95
+ assign ( context : any , locals : Locals , value : any ) : any {
96
96
var evaluatedContext = this . receiver . eval ( context , locals ) ;
97
97
98
98
if ( this . receiver instanceof ImplicitReceiver && isPresent ( locals ) &&
@@ -112,7 +112,7 @@ export class SafeAccessMember extends AST {
112
112
super ( ) ;
113
113
}
114
114
115
- eval ( context , locals : Locals ) : any {
115
+ eval ( context : any , locals : Locals ) : any {
116
116
var evaluatedReceiver = this . receiver . eval ( context , locals ) ;
117
117
return isBlank ( evaluatedReceiver ) ? null : this . getter ( evaluatedReceiver ) ;
118
118
}
@@ -123,15 +123,15 @@ export class SafeAccessMember extends AST {
123
123
export class KeyedAccess extends AST {
124
124
constructor ( public obj : AST , public key : AST ) { super ( ) ; }
125
125
126
- eval ( context , locals : Locals ) : any {
126
+ eval ( context : any , locals : Locals ) : any {
127
127
var obj : any = this . obj . eval ( context , locals ) ;
128
128
var key : any = this . key . eval ( context , locals ) ;
129
129
return obj [ key ] ;
130
130
}
131
131
132
132
get isAssignable ( ) : boolean { return true ; }
133
133
134
- assign ( context , locals : Locals , value ) : any {
134
+ assign ( context : any , locals : Locals , value : any ) : any {
135
135
var obj : any = this . obj . eval ( context , locals ) ;
136
136
var key : any = this . key . eval ( context , locals ) ;
137
137
obj [ key ] = value ;
@@ -150,15 +150,15 @@ export class BindingPipe extends AST {
150
150
export class LiteralPrimitive extends AST {
151
151
constructor ( public value ) { super ( ) ; }
152
152
153
- eval ( context , locals : Locals ) : any { return this . value ; }
153
+ eval ( context : any , locals : Locals ) : any { return this . value ; }
154
154
155
155
visit ( visitor : AstVisitor ) : any { return visitor . visitLiteralPrimitive ( this ) ; }
156
156
}
157
157
158
158
export class LiteralArray extends AST {
159
159
constructor ( public expressions : List < any > ) { super ( ) ; }
160
160
161
- eval ( context , locals : Locals ) : any {
161
+ eval ( context : any , locals : Locals ) : any {
162
162
return ListWrapper . map ( this . expressions , ( e ) => e . eval ( context , locals ) ) ;
163
163
}
164
164
@@ -168,7 +168,7 @@ export class LiteralArray extends AST {
168
168
export class LiteralMap extends AST {
169
169
constructor ( public keys : List < any > , public values : List < any > ) { super ( ) ; }
170
170
171
- eval ( context , locals : Locals ) : any {
171
+ eval ( context : any , locals : Locals ) : any {
172
172
var res = StringMapWrapper . create ( ) ;
173
173
for ( var i = 0 ; i < this . keys . length ; ++ i ) {
174
174
StringMapWrapper . set ( res , this . keys [ i ] , this . values [ i ] . eval ( context , locals ) ) ;
@@ -182,7 +182,7 @@ export class LiteralMap extends AST {
182
182
export class Interpolation extends AST {
183
183
constructor ( public strings : List < any > , public expressions : List < any > ) { super ( ) ; }
184
184
185
- eval ( context , locals ) : any {
185
+ eval ( context : any , locals : Locals ) : any {
186
186
throw new BaseException ( "evaluating an Interpolation is not supported" ) ;
187
187
}
188
188
@@ -192,7 +192,7 @@ export class Interpolation extends AST {
192
192
export class Binary extends AST {
193
193
constructor ( public operation : string , public left : AST , public right : AST ) { super ( ) ; }
194
194
195
- eval ( context , locals : Locals ) : any {
195
+ eval ( context : any , locals : Locals ) : any {
196
196
var left : any = this . left . eval ( context , locals ) ;
197
197
switch ( this . operation ) {
198
198
case '&&' :
@@ -243,15 +243,15 @@ export class Binary extends AST {
243
243
export class PrefixNot extends AST {
244
244
constructor ( public expression : AST ) { super ( ) ; }
245
245
246
- eval ( context , locals : Locals ) : any { return ! this . expression . eval ( context , locals ) ; }
246
+ eval ( context : any , locals : Locals ) : any { return ! this . expression . eval ( context , locals ) ; }
247
247
248
248
visit ( visitor : AstVisitor ) : any { return visitor . visitPrefixNot ( this ) ; }
249
249
}
250
250
251
251
export class Assignment extends AST {
252
- constructor ( public target : AST , public value : AST ) { super ( ) ; }
252
+ constructor ( public target : AST , public value : any ) { super ( ) ; }
253
253
254
- eval ( context , locals : Locals ) : any {
254
+ eval ( context : any , locals : Locals ) : any {
255
255
return this . target . assign ( context , locals , this . value . eval ( context , locals ) ) ;
256
256
}
257
257
@@ -264,7 +264,7 @@ export class MethodCall extends AST {
264
264
super ( ) ;
265
265
}
266
266
267
- eval ( context , locals : Locals ) : any {
267
+ eval ( context : any , locals : Locals ) : any {
268
268
var evaluatedArgs = evalList ( context , locals , this . args ) ;
269
269
if ( this . receiver instanceof ImplicitReceiver && isPresent ( locals ) &&
270
270
locals . contains ( this . name ) ) {
@@ -285,7 +285,7 @@ export class SafeMethodCall extends AST {
285
285
super ( ) ;
286
286
}
287
287
288
- eval ( context , locals : Locals ) : any {
288
+ eval ( context : any , locals : Locals ) : any {
289
289
var evaluatedReceiver = this . receiver . eval ( context , locals ) ;
290
290
if ( isBlank ( evaluatedReceiver ) ) return null ;
291
291
var evaluatedArgs = evalList ( context , locals , this . args ) ;
@@ -298,7 +298,7 @@ export class SafeMethodCall extends AST {
298
298
export class FunctionCall extends AST {
299
299
constructor ( public target : AST , public args : List < any > ) { super ( ) ; }
300
300
301
- eval ( context , locals : Locals ) : any {
301
+ eval ( context : any , locals : Locals ) : any {
302
302
var obj : any = this . target . eval ( context , locals ) ;
303
303
if ( ! ( obj instanceof Function ) ) {
304
304
throw new BaseException ( `${ obj } is not a function` ) ;
@@ -312,11 +312,13 @@ export class FunctionCall extends AST {
312
312
export class ASTWithSource extends AST {
313
313
constructor ( public ast : AST , public source : string , public location : string ) { super ( ) ; }
314
314
315
- eval ( context , locals : Locals ) : any { return this . ast . eval ( context , locals ) ; }
315
+ eval ( context : any , locals : Locals ) : any { return this . ast . eval ( context , locals ) ; }
316
316
317
317
get isAssignable ( ) : boolean { return this . ast . isAssignable ; }
318
318
319
- assign ( context , locals : Locals , value ) : any { return this . ast . assign ( context , locals , value ) ; }
319
+ assign ( context : any , locals : Locals , value : any ) : any {
320
+ return this . ast . assign ( context , locals , value ) ;
321
+ }
320
322
321
323
visit ( visitor : AstVisitor ) : any { return this . ast . visit ( visitor ) ; }
322
324
0 commit comments