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

Side by Side Diff: tests/lib/mirrors/initializing_formals_test.dart

Issue 26346002: Correctly report the type of initializing formals declared without an explicit type to be the type … (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 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
« no previous file with comments | « tests/lib/lib.status ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library test.initializing_formals; 5 library test.initializing_formals;
6 6
7 import 'dart:mirrors'; 7 import 'dart:mirrors';
8 import 'package:expect/expect.dart'; 8 import 'package:expect/expect.dart';
9 9
10 class Class<T> { 10 class Class<T> {
11 int intField; 11 int intField;
12 bool boolField; 12 bool boolField;
13 String stringField; 13 String stringField;
14 T tField; 14 T tField;
15 dynamic _privateField; 15 dynamic _privateField;
16 16
17 Class.nongeneric(this.intField); 17 Class.nongeneric(this.intField);
18 Class.named({this.boolField}); 18 Class.named({this.boolField});
19 Class.optPos([this.stringField = 'default']); 19 Class.optPos([this.stringField = 'default']);
20 Class.generic(this.tField); 20 Class.generic(this.tField);
21 Class.private(this._privateField); 21 Class.private(this._privateField);
22
23 Class.explicitType(num this.intField);
24 Class.withVar(var this.intField);
25 Class.withDynamic(dynamic this.intField);
22 } 26 }
23 27
24 class Constant { 28 class Constant {
25 final value; 29 final num value;
26 const Constant(this.value); 30 const Constant(this.value);
27 const Constant.marked(final this.value); 31 const Constant.marked(final this.value);
28 } 32 }
29 33
30 main() { 34 main() {
31 ParameterMirror pm; 35 ParameterMirror pm;
32 36
33 pm = reflectClass(Class).constructors[#Class.nongeneric].parameters.single; 37 pm = reflectClass(Class).constructors[#Class.nongeneric].parameters.single;
34 Expect.equals(#intField, pm.simpleName); 38 Expect.equals(#intField, pm.simpleName);
35 Expect.equals(reflectClass(int), pm.type); /// 01: ok 39 Expect.equals(reflectClass(int), pm.type);
36 Expect.isFalse(pm.isNamed); 40 Expect.isFalse(pm.isNamed);
37 Expect.isFalse(pm.isFinal); 41 Expect.isFalse(pm.isFinal);
38 Expect.isFalse(pm.isOptional); 42 Expect.isFalse(pm.isOptional);
39 Expect.isFalse(pm.hasDefaultValue); 43 Expect.isFalse(pm.hasDefaultValue);
40 Expect.isFalse(pm.isPrivate); 44 Expect.isFalse(pm.isPrivate);
41 Expect.isFalse(pm.isStatic); 45 Expect.isFalse(pm.isStatic);
42 Expect.isFalse(pm.isTopLevel); 46 Expect.isFalse(pm.isTopLevel);
43 47
44 pm = reflectClass(Class).constructors[#Class.named].parameters.single; 48 pm = reflectClass(Class).constructors[#Class.named].parameters.single;
45 Expect.equals(#boolField, pm.simpleName); 49 Expect.equals(#boolField, pm.simpleName);
46 Expect.equals(reflectClass(bool), pm.type); /// 01: ok 50 Expect.equals(reflectClass(bool), pm.type);
47 Expect.isTrue(pm.isNamed); 51 Expect.isTrue(pm.isNamed);
48 Expect.isFalse(pm.isFinal); 52 Expect.isFalse(pm.isFinal);
49 Expect.isTrue(pm.isOptional); 53 Expect.isTrue(pm.isOptional);
50 Expect.isFalse(pm.hasDefaultValue); 54 Expect.isFalse(pm.hasDefaultValue);
51 Expect.isFalse(pm.isPrivate); 55 Expect.isFalse(pm.isPrivate);
52 Expect.isFalse(pm.isStatic); 56 Expect.isFalse(pm.isStatic);
53 Expect.isFalse(pm.isTopLevel); 57 Expect.isFalse(pm.isTopLevel);
54 58
55 pm = reflectClass(Class).constructors[#Class.optPos].parameters.single; 59 pm = reflectClass(Class).constructors[#Class.optPos].parameters.single;
56 Expect.equals(#stringField, pm.simpleName); 60 Expect.equals(#stringField, pm.simpleName);
57 Expect.equals(reflectClass(String), pm.type); /// 01: ok 61 Expect.equals(reflectClass(String), pm.type);
58 Expect.isFalse(pm.isNamed); 62 Expect.isFalse(pm.isNamed);
59 Expect.isFalse(pm.isFinal); 63 Expect.isFalse(pm.isFinal);
60 Expect.isTrue(pm.isOptional); 64 Expect.isTrue(pm.isOptional);
61 Expect.isTrue(pm.hasDefaultValue); 65 Expect.isTrue(pm.hasDefaultValue);
62 Expect.equals('default', pm.defaultValue.reflectee); 66 Expect.equals('default', pm.defaultValue.reflectee);
63 Expect.isFalse(pm.isPrivate); 67 Expect.isFalse(pm.isPrivate);
64 Expect.isFalse(pm.isStatic); 68 Expect.isFalse(pm.isStatic);
65 Expect.isFalse(pm.isTopLevel); 69 Expect.isFalse(pm.isTopLevel);
66 70
67 pm = reflectClass(Class).constructors[#Class.generic].parameters.single; 71 pm = reflectClass(Class).constructors[#Class.generic].parameters.single;
68 Expect.equals(#tField, pm.simpleName); 72 Expect.equals(#tField, pm.simpleName);
69 Expect.equals(reflectClass(Class).typeVariables.single, pm.type); /// 01: ok 73 Expect.equals(reflectClass(Class).typeVariables.single, pm.type);
70 Expect.isFalse(pm.isNamed); 74 Expect.isFalse(pm.isNamed);
71 Expect.isFalse(pm.isFinal); 75 Expect.isFalse(pm.isFinal);
72 Expect.isFalse(pm.isOptional); 76 Expect.isFalse(pm.isOptional);
73 Expect.isFalse(pm.hasDefaultValue); 77 Expect.isFalse(pm.hasDefaultValue);
74 Expect.isFalse(pm.isPrivate); 78 Expect.isFalse(pm.isPrivate);
75 Expect.isFalse(pm.isStatic); 79 Expect.isFalse(pm.isStatic);
76 Expect.isFalse(pm.isTopLevel); 80 Expect.isFalse(pm.isTopLevel);
77 81
78 pm = reflectClass(Class).constructors[#Class.private].parameters.single; 82 pm = reflectClass(Class).constructors[#Class.private].parameters.single;
79 Expect.equals(#_privateField, pm.simpleName); 83 Expect.equals(#_privateField, pm.simpleName);
80 Expect.equals(currentMirrorSystem().dynamicType, pm.type); 84 Expect.equals(currentMirrorSystem().dynamicType, pm.type);
81 Expect.isFalse(pm.isNamed); 85 Expect.isFalse(pm.isNamed);
82 Expect.isFalse(pm.isFinal); 86 Expect.isFalse(pm.isFinal);
83 Expect.isFalse(pm.isOptional); 87 Expect.isFalse(pm.isOptional);
84 Expect.isFalse(pm.hasDefaultValue); 88 Expect.isFalse(pm.hasDefaultValue);
85 Expect.isTrue(pm.isPrivate); 89 Expect.isTrue(pm.isPrivate);
86 Expect.isFalse(pm.isStatic); 90 Expect.isFalse(pm.isStatic);
87 Expect.isFalse(pm.isTopLevel); 91 Expect.isFalse(pm.isTopLevel);
88 92
93 pm = reflectClass(Class).constructors[#Class.explicitType].parameters.single;
94 Expect.equals(#intField, pm.simpleName);
95 Expect.equals(reflectClass(num), pm.type);
96 Expect.isFalse(pm.isNamed);
97 Expect.isFalse(pm.isFinal);
98 Expect.isFalse(pm.isOptional);
99 Expect.isFalse(pm.hasDefaultValue);
100 Expect.isFalse(pm.isPrivate);
101 Expect.isFalse(pm.isStatic);
102 Expect.isFalse(pm.isTopLevel);
103
104 pm = reflectClass(Class).constructors[#Class.withVar].parameters.single;
105 Expect.equals(#intField, pm.simpleName);
106 Expect.equals(reflectClass(int), pm.type); // N.B.
107 Expect.isFalse(pm.isNamed);
108 Expect.isFalse(pm.isFinal);
109 Expect.isFalse(pm.isOptional);
110 Expect.isFalse(pm.hasDefaultValue);
111 Expect.isFalse(pm.isPrivate);
112 Expect.isFalse(pm.isStatic);
113 Expect.isFalse(pm.isTopLevel);
114
115 pm = reflectClass(Class).constructors[#Class.withDynamic].parameters.single;
116 Expect.equals(#intField, pm.simpleName);
117 Expect.equals(currentMirrorSystem().dynamicType, pm.type); // N.B.
118 Expect.isFalse(pm.isNamed);
119 Expect.isFalse(pm.isFinal);
120 Expect.isFalse(pm.isOptional);
121 Expect.isFalse(pm.hasDefaultValue);
122 Expect.isFalse(pm.isPrivate);
123 Expect.isFalse(pm.isStatic);
124 Expect.isFalse(pm.isTopLevel);
125
89 pm = reflectClass(Constant).constructors[#Constant].parameters.single; 126 pm = reflectClass(Constant).constructors[#Constant].parameters.single;
90 Expect.equals(#value, pm.simpleName); 127 Expect.equals(#value, pm.simpleName);
91 Expect.equals(currentMirrorSystem().dynamicType, pm.type); 128 Expect.equals(reflectClass(num), pm.type);
92 Expect.isFalse(pm.isNamed); 129 Expect.isFalse(pm.isNamed);
93 Expect.isFalse(pm.isFinal); // N.B. 130 Expect.isFalse(pm.isFinal); // N.B.
94 Expect.isFalse(pm.isOptional); 131 Expect.isFalse(pm.isOptional);
95 Expect.isFalse(pm.hasDefaultValue); 132 Expect.isFalse(pm.hasDefaultValue);
96 Expect.isFalse(pm.isPrivate); 133 Expect.isFalse(pm.isPrivate);
97 Expect.isFalse(pm.isStatic); 134 Expect.isFalse(pm.isStatic);
98 Expect.isFalse(pm.isTopLevel); 135 Expect.isFalse(pm.isTopLevel);
99 136
100 pm = reflectClass(Constant).constructors[#Constant.marked].parameters.single; 137 pm = reflectClass(Constant).constructors[#Constant.marked].parameters.single;
101 Expect.equals(#value, pm.simpleName); 138 Expect.equals(#value, pm.simpleName);
102 Expect.equals(currentMirrorSystem().dynamicType, pm.type); 139 Expect.equals(reflectClass(num), pm.type);
103 Expect.isFalse(pm.isNamed); 140 Expect.isFalse(pm.isNamed);
104 Expect.isTrue(pm.isFinal); // N.B. 141 Expect.isTrue(pm.isFinal); // N.B.
105 Expect.isFalse(pm.isOptional); 142 Expect.isFalse(pm.isOptional);
106 Expect.isFalse(pm.hasDefaultValue); 143 Expect.isFalse(pm.hasDefaultValue);
107 Expect.isFalse(pm.isPrivate); 144 Expect.isFalse(pm.isPrivate);
108 Expect.isFalse(pm.isStatic); 145 Expect.isFalse(pm.isStatic);
109 Expect.isFalse(pm.isTopLevel); 146 Expect.isFalse(pm.isTopLevel);
110 } 147 }
OLDNEW
« no previous file with comments | « tests/lib/lib.status ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698