1
1
library angular_spec;
2
2
3
+ import 'dart:mirrors' ;
4
+
3
5
import '_specs.dart' ;
4
6
import 'package:angular/utils.dart' ;
5
7
import 'package:angular/tools/symbol_inspector/symbol_inspector.dart' ;
@@ -48,6 +50,14 @@ main() {
48
50
// But make sure that you intend to export the symbol!
49
51
// Questions? Talk to @jbdeboer
50
52
53
+ // There is a bug at the intersection of the angular library,
54
+ // dart2js and findLibrary(). http://dartbug.com/18302
55
+ try {
56
+ currentMirrorSystem ().findLibrary (const Symbol ("angular" ));
57
+ } catch (e) {
58
+ return ;
59
+ }
60
+
51
61
LibraryInfo libraryInfo;
52
62
var names;
53
63
try { // Not impleneted in Dart VM 1.2
@@ -64,18 +74,29 @@ main() {
64
74
var ALLOWED_NAMES = [
65
75
"angular.app.AngularModule" ,
66
76
"angular.app.Application" ,
77
+ "angular.core.annotation.ShadowRootAware" ,
67
78
"angular.core.annotation_src.AttachAware" ,
68
79
"angular.core.annotation_src.Component" ,
69
80
"angular.core.annotation_src.Controller" ,
70
81
"angular.core.annotation_src.Decorator" ,
71
82
"angular.core.annotation_src.DetachAware" ,
83
+ "angular.core.annotation_src.Directive" ,
84
+ "angular.core.annotation_src.DirectiveAnnotation" ,
85
+ "angular.core.annotation_src.Formatter" ,
72
86
"angular.core.annotation_src.Injectable" ,
87
+ "angular.core.annotation_src.NgAttr" ,
88
+ "angular.core.annotation_src.NgCallback" ,
89
+ "angular.core.annotation_src.NgOneWay" ,
90
+ "angular.core.annotation_src.NgOneWayOneTime" ,
91
+ "angular.core.annotation_src.NgTwoWay" ,
73
92
"angular.core.dom_internal.Animate" ,
74
93
"angular.core.dom_internal.Animation" ,
75
94
"angular.core.dom_internal.AnimationResult" ,
95
+ "angular.core.dom_internal.BoundViewFactory" ,
76
96
"angular.core.dom_internal.BrowserCookies" ,
77
97
"angular.core.dom_internal.Compiler" ,
78
98
"angular.core.dom_internal.Cookies" ,
99
+ "angular.core.dom_internal.DirectiveMap" ,
79
100
"angular.core.dom_internal.ElementProbe" ,
80
101
"angular.core.dom_internal.EventHandler" ,
81
102
"angular.core.dom_internal.Http" ,
@@ -86,14 +107,18 @@ main() {
86
107
"angular.core.dom_internal.HttpInterceptors" ,
87
108
"angular.core.dom_internal.HttpResponse" ,
88
109
"angular.core.dom_internal.HttpResponseConfig" ,
110
+ "angular.core.dom_internal.LocationWrapper" ,
111
+ "angular.core.dom_internal.NgElement" ,
89
112
"angular.core.dom_internal.NoOpAnimation" ,
90
113
"angular.core.dom_internal.NullTreeSanitizer" ,
91
114
"angular.core.dom_internal.RequestErrorInterceptor" ,
92
115
"angular.core.dom_internal.RequestInterceptor" ,
93
116
"angular.core.dom_internal.Response" ,
94
117
"angular.core.dom_internal.ResponseError" ,
95
118
"angular.core.dom_internal.TemplateCache" ,
119
+ "angular.core.dom_internal.UrlRewriter" ,
96
120
"angular.core.dom_internal.View" ,
121
+ "angular.core.dom_internal.ViewCache" ,
97
122
"angular.core.dom_internal.ViewFactory" ,
98
123
"angular.core.dom_internal.ViewPort" ,
99
124
"angular.core_internal.CacheStats" ,
@@ -107,18 +132,23 @@ main() {
107
132
"angular.core_internal.ScopeStatsConfig" ,
108
133
"angular.core_internal.ScopeStatsEmitter" ,
109
134
"angular.core_internal.VmTurnZone" ,
135
+ "angular.core.parser.dynamic_parser.ClosureMap" ,
136
+ "angular.core.parser.Parser" ,
110
137
"angular.directive.AHref" ,
111
138
"angular.directive.ContentEditable" ,
139
+ "angular.directive.DecoratorFormatter" ,
112
140
"angular.directive.InputCheckbox" ,
113
141
"angular.directive.InputDateLike" ,
114
142
"angular.directive.InputNumberLike" ,
115
143
"angular.directive.InputRadio" ,
116
144
"angular.directive.InputSelect" ,
117
145
"angular.directive.InputTextLike" ,
118
146
"angular.directive.NgAttribute" ,
147
+ "angular.directive.NgBaseCss" ,
119
148
"angular.directive.NgBind" ,
120
149
"angular.directive.NgBindHtml" ,
121
150
"angular.directive.NgBindTemplate" ,
151
+ "angular.directive.NgBindTypeForDateLike" ,
122
152
"angular.directive.NgBooleanAttribute" ,
123
153
"angular.directive.NgClass" ,
124
154
"angular.directive.NgClassEven" ,
@@ -132,6 +162,7 @@ main() {
132
162
"angular.directive.NgIf" ,
133
163
"angular.directive.NgInclude" ,
134
164
"angular.directive.NgModel" ,
165
+ "angular.directive.NgModelConverter" ,
135
166
"angular.directive.NgModelEmailValidator" ,
136
167
"angular.directive.NgModelMaxLengthValidator" ,
137
168
"angular.directive.NgModelMaxNumberValidator" ,
@@ -142,6 +173,8 @@ main() {
142
173
"angular.directive.NgModelRequiredValidator" ,
143
174
"angular.directive.NgModelUrlValidator" ,
144
175
"angular.directive.NgNonBindable" ,
176
+ "angular.directive.NgNullControl" ,
177
+ "angular.directive.NgNullForm" ,
145
178
"angular.directive.NgPluralize" ,
146
179
"angular.directive.NgRepeat" ,
147
180
"angular.directive.NgShow" ,
@@ -153,6 +186,7 @@ main() {
153
186
"angular.directive.NgTemplate" ,
154
187
"angular.directive.NgTrueValue" ,
155
188
"angular.directive.NgUnless" ,
189
+ "angular.directive.NgValidator" ,
156
190
"angular.directive.NgValue" ,
157
191
"angular.directive.OptionValue" ,
158
192
"angular.formatter_internal.Currency" ,
@@ -165,12 +199,26 @@ main() {
165
199
"angular.formatter_internal.OrderBy" ,
166
200
"angular.formatter_internal.Stringify" ,
167
201
"angular.formatter_internal.Uppercase" ,
202
+ "angular.introspection.ngDirectives" ,
203
+ "angular.introspection.ngInjector" ,
204
+ "angular.introspection.ngProbe" ,
205
+ "angular.introspection.ngQuery" ,
206
+ "angular.introspection.ngScope" ,
207
+ "angular.routing.NgBindRoute" ,
208
+ "angular.routing.ngRoute" ,
209
+ "angular.routing.NgRouteCfg" ,
210
+ "angular.routing.NgRoutingHelper" ,
211
+ "angular.routing.NgRoutingUsePushState" ,
212
+ "angular.routing.NgView" ,
168
213
"angular.routing.RouteInitializer" ,
169
214
"angular.routing.RouteInitializerFn" ,
170
215
"angular.routing.RouteProvider" ,
171
216
"angular.routing.RouteViewFactory" ,
217
+ "angular.routing.RoutingModule" ,
172
218
"angular.watch_group.PrototypeMap" ,
173
219
"angular.watch_group.Watch" ,
220
+ "change_detection.AvgStopwatch" ,
221
+ "change_detection.FieldGetterFactory" ,
174
222
"di.CircularDependencyError" ,
175
223
"di.FactoryFn" ,
176
224
"di.Injector" ,
@@ -191,10 +239,10 @@ main() {
191
239
"route.client.RouteLeaveEventHandler" ,
192
240
"route.client.RoutePreEnterEvent" ,
193
241
"route.client.RoutePreEnterEventHandler" ,
194
- "route.client.RouteStartEvent" ,
195
242
"route.client.Router" ,
243
+ "route.client.RouteStartEvent" ,
196
244
"url_matcher.UrlMatch" ,
197
- "url_matcher.UrlMatcher" ,
245
+ "url_matcher.UrlMatcher"
198
246
];
199
247
200
248
var _nameMap = {};
@@ -232,14 +280,14 @@ main() {
232
280
233
281
exported.add (key);
234
282
};
283
+
284
+ names.forEach (assertSymbolNameIsOk);
285
+
235
286
if (exported.isNotEmpty) {
236
287
throw "These symbols are exported thru the angular library, but it shouldn't be:\n "
237
288
"${exported .join ('\n ' )}" ;
238
289
}
239
290
240
-
241
- names.forEach (assertSymbolNameIsOk);
242
-
243
291
usedButNotExported.forEach ((used, locs) {
244
292
print ("${unwrapSymbol (used )} : unexported, used from:" );
245
293
locs.forEach ((l) {
0 commit comments