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

Side by Side Diff: sdk/lib/_internal/libraries.dart

Issue 1212513002: sdk files reorganization to make dart2js a proper package (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: renamed Created 5 years, 5 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
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 /// This file moved under `sdk/lib/_internal/sdk_library_metadata/lib/libraries. dart`.
6 @deprecated
5 library libraries; 7 library libraries;
6 8
7 /** 9 export 'sdk_library_metadata/lib/libraries.dart';
8 * A bit flag used by [LibraryInfo] indicating that a library is used by dart2js
9 */
10 const int DART2JS_PLATFORM = 1;
11
12 /**
13 * A bit flag used by [LibraryInfo] indicating that a library is used by the VM
14 */
15 const int VM_PLATFORM = 2;
16
17 /**
18 * Mapping of "dart:" library name (e.g. "core") to information about that libra ry.
19 * This information is structured such that Dart Editor can parse this file
20 * and extract the necessary information without executing it
21 * while other tools can access via execution.
22 */
23 const Map<String, LibraryInfo> LIBRARIES = const {
24
25 "async": const LibraryInfo(
26 "async/async.dart",
27 maturity: Maturity.STABLE,
28 dart2jsPatchPath: "_internal/compiler/js_lib/async_patch.dart"),
29
30 "_blink": const LibraryInfo(
31 "_blink/dartium/_blink_dartium.dart",
32 category: "Client",
33 implementation: true,
34 documented: false,
35 platforms: VM_PLATFORM),
36
37 "_chrome": const LibraryInfo(
38 "_chrome/dart2js/chrome_dart2js.dart",
39 documented: false,
40 category: "Client"),
41
42 "collection": const LibraryInfo(
43 "collection/collection.dart",
44 maturity: Maturity.STABLE,
45 dart2jsPatchPath: "_internal/compiler/js_lib/collection_patch.dart"),
46
47 "convert": const LibraryInfo(
48 "convert/convert.dart",
49 maturity: Maturity.STABLE,
50 dart2jsPatchPath: "_internal/compiler/js_lib/convert_patch.dart"),
51
52 "core": const LibraryInfo(
53 "core/core.dart",
54 maturity: Maturity.STABLE,
55 dart2jsPatchPath: "_internal/compiler/js_lib/core_patch.dart"),
56
57 "developer": const LibraryInfo(
58 "developer/developer.dart",
59 maturity: Maturity.UNSTABLE,
60 dart2jsPatchPath: "_internal/compiler/js_lib/developer_patch.dart"),
61
62 "html": const LibraryInfo(
63 "html/dartium/html_dartium.dart",
64 category: "Client",
65 maturity: Maturity.WEB_STABLE,
66 dart2jsPath: "html/dart2js/html_dart2js.dart"),
67
68 "html_common": const LibraryInfo(
69 "html/html_common/html_common.dart",
70 category: "Client",
71 maturity: Maturity.WEB_STABLE,
72 dart2jsPath: "html/html_common/html_common_dart2js.dart",
73 documented: false,
74 implementation: true),
75
76 "indexed_db": const LibraryInfo(
77 "indexed_db/dartium/indexed_db_dartium.dart",
78 category: "Client",
79 maturity: Maturity.WEB_STABLE,
80 dart2jsPath: "indexed_db/dart2js/indexed_db_dart2js.dart"),
81
82 "io": const LibraryInfo(
83 "io/io.dart",
84 category: "Server",
85 maturity: Maturity.STABLE,
86 dart2jsPatchPath: "_internal/compiler/js_lib/io_patch.dart"),
87
88 "isolate": const LibraryInfo(
89 "isolate/isolate.dart",
90 maturity: Maturity.STABLE,
91 dart2jsPatchPath: "_internal/compiler/js_lib/isolate_patch.dart"),
92
93 "js": const LibraryInfo(
94 "js/dartium/js_dartium.dart",
95 category: "Client",
96 maturity: Maturity.STABLE,
97 dart2jsPath: "js/dart2js/js_dart2js.dart"),
98
99 "math": const LibraryInfo(
100 "math/math.dart",
101 maturity: Maturity.STABLE,
102 dart2jsPatchPath: "_internal/compiler/js_lib/math_patch.dart"),
103
104 "mirrors": const LibraryInfo(
105 "mirrors/mirrors.dart",
106 maturity: Maturity.UNSTABLE,
107 dart2jsPatchPath: "_internal/compiler/js_lib/mirrors_patch.dart"),
108
109 "profiler": const LibraryInfo(
110 "profiler/profiler.dart",
111 maturity: Maturity.UNSTABLE),
112
113 "nativewrappers": const LibraryInfo(
114 "html/dartium/nativewrappers.dart",
115 category: "Client",
116 implementation: true,
117 documented: false,
118 platforms: VM_PLATFORM),
119
120 "typed_data": const LibraryInfo(
121 "typed_data/typed_data.dart",
122 maturity: Maturity.STABLE,
123 dart2jsPatchPath: "_internal/compiler/js_lib/typed_data_patch.dart"),
124
125 "_native_typed_data": const LibraryInfo(
126 "_internal/compiler/js_lib/native_typed_data.dart",
127 category: "Internal",
128 implementation: true,
129 documented: false,
130 platforms: DART2JS_PLATFORM),
131
132 "svg": const LibraryInfo(
133 "svg/dartium/svg_dartium.dart",
134 category: "Client",
135 maturity: Maturity.WEB_STABLE,
136 dart2jsPath: "svg/dart2js/svg_dart2js.dart"),
137
138 "web_audio": const LibraryInfo(
139 "web_audio/dartium/web_audio_dartium.dart",
140 category: "Client",
141 maturity: Maturity.WEB_STABLE,
142 dart2jsPath: "web_audio/dart2js/web_audio_dart2js.dart"),
143
144 "web_gl": const LibraryInfo(
145 "web_gl/dartium/web_gl_dartium.dart",
146 category: "Client",
147 maturity: Maturity.WEB_STABLE,
148 dart2jsPath: "web_gl/dart2js/web_gl_dart2js.dart"),
149
150 "web_sql": const LibraryInfo(
151 "web_sql/dartium/web_sql_dartium.dart",
152 category: "Client",
153 maturity: Maturity.WEB_STABLE,
154 dart2jsPath: "web_sql/dart2js/web_sql_dart2js.dart"),
155
156 "_internal": const LibraryInfo(
157 "internal/internal.dart",
158 category: "Internal",
159 documented: false,
160 dart2jsPatchPath:
161 "_internal/compiler/js_lib/internal_patch.dart"),
162
163 "_js_helper": const LibraryInfo(
164 "_internal/compiler/js_lib/js_helper.dart",
165 category: "Internal",
166 documented: false,
167 platforms: DART2JS_PLATFORM),
168
169 "_interceptors": const LibraryInfo(
170 "_internal/compiler/js_lib/interceptors.dart",
171 category: "Internal",
172 documented: false,
173 platforms: DART2JS_PLATFORM),
174
175 "_foreign_helper": const LibraryInfo(
176 "_internal/compiler/js_lib/foreign_helper.dart",
177 category: "Internal",
178 documented: false,
179 platforms: DART2JS_PLATFORM),
180
181 "_isolate_helper": const LibraryInfo(
182 "_internal/compiler/js_lib/isolate_helper.dart",
183 category: "Internal",
184 documented: false,
185 platforms: DART2JS_PLATFORM),
186
187 "_js_mirrors": const LibraryInfo(
188 "_internal/compiler/js_lib/js_mirrors.dart",
189 category: "Internal",
190 documented: false,
191 platforms: DART2JS_PLATFORM),
192
193 "_js_names": const LibraryInfo(
194 "_internal/compiler/js_lib/js_names.dart",
195 category: "Internal",
196 documented: false,
197 platforms: DART2JS_PLATFORM),
198
199 "_js_primitives": const LibraryInfo(
200 "_internal/compiler/js_lib/js_primitives.dart",
201 category: "Internal",
202 documented: false,
203 platforms: DART2JS_PLATFORM),
204
205 // TODO(ahe): This library is only for dart2dart, perhaps it should use a
206 // different platform.
207 "_mirror_helper": const LibraryInfo(
208 "_internal/compiler/js_lib/mirror_helper.dart",
209 category: "Internal",
210 documented: false,
211 platforms: DART2JS_PLATFORM),
212
213 "_js_embedded_names": const LibraryInfo(
214 "_internal/compiler/js_lib/shared/embedded_names.dart",
215 category: "Internal",
216 documented: false,
217 platforms: DART2JS_PLATFORM),
218
219 "_async_await_error_codes": const LibraryInfo(
220 "_internal/compiler/js_lib/shared/async_await_error_codes.dart",
221 category: "Internal",
222 documented: false,
223 platforms: DART2JS_PLATFORM),
224
225 "_metadata": const LibraryInfo(
226 "html/html_common/metadata.dart",
227 category: "Internal",
228 documented: false,
229 platforms: DART2JS_PLATFORM),
230 };
231
232 /**
233 * Information about a "dart:" library.
234 */
235 class LibraryInfo {
236
237 /**
238 * Path to the library's *.dart file relative to this file.
239 */
240 final String path;
241
242 /**
243 * The category in which the library should appear in the editor
244 * (e.g. "Shared", "Client", "Server", ...).
245 * If a category is not specified it defaults to "Shared".
246 */
247 final String category;
248
249 /**
250 * Path to the dart2js library's *.dart file relative to this file
251 * or null if dart2js uses the common library path defined above.
252 * Access using the [#getDart2JsPath()] method.
253 */
254 final String dart2jsPath;
255
256 /**
257 * Path to the dart2js library's patch file relative to this file
258 * or null if no dart2js patch file associated with this library.
259 * Access using the [#getDart2JsPatchPath()] method.
260 */
261 final String dart2jsPatchPath;
262
263 /**
264 * True if this library is documented and should be shown to the user.
265 */
266 final bool documented;
267
268 /**
269 * Bit flags indicating which platforms consume this library.
270 * See [DART2JS_LIBRARY] and [VM_LIBRARY].
271 */
272 final int platforms;
273
274 /**
275 * True if the library contains implementation details for another library.
276 * The implication is that these libraries are less commonly used
277 * and that tools like Dart Editor should not show these libraries
278 * in a list of all libraries unless the user specifically asks the tool to
279 * do so.
280 */
281 final bool implementation;
282
283 /**
284 * States the current maturity of this library.
285 */
286 final Maturity maturity;
287
288 const LibraryInfo(this.path, {
289 this.category: "Shared",
290 this.dart2jsPath,
291 this.dart2jsPatchPath,
292 this.implementation: false,
293 this.documented: true,
294 this.maturity: Maturity.UNSPECIFIED,
295 this.platforms: DART2JS_PLATFORM | VM_PLATFORM});
296
297 bool get isDart2jsLibrary => (platforms & DART2JS_PLATFORM) != 0;
298 bool get isVmLibrary => (platforms & VM_PLATFORM) != 0;
299 }
300
301
302
303 /**
304 * Abstraction to capture the maturity of a library.
305 */
306 class Maturity {
307 final int level;
308 final String name;
309 final String description;
310
311 const Maturity(this.level, this.name, this.description);
312
313 String toString() => "$name: $level\n$description\n";
314
315 static const Maturity DEPRECATED = const Maturity(0, "Deprecated",
316 "This library will be remove before next major release.");
317
318 static const Maturity EXPERIMENTAL = const Maturity(1, "Experimental",
319 "This library is experimental and will likely change or be removed\n"
320 "in future versions.");
321
322 static const Maturity UNSTABLE = const Maturity(2, "Unstable",
323 "This library is in still changing and have not yet endured\n"
324 "sufficient real-world testing.\n"
325 "Backwards-compatibility is NOT guaranteed.");
326
327 static const Maturity WEB_STABLE = const Maturity(3, "Web Stable",
328 "This library is tracking the DOM evolution as defined by WC3.\n"
329 "Backwards-compatibility is NOT guaranteed.");
330
331 static const Maturity STABLE = const Maturity(4, "Stable",
332 "The library is stable. API backwards-compatibility is guaranteed.\n"
333 "However implementation details might change.");
334
335 static const Maturity LOCKED = const Maturity(5, "Locked",
336 "This library will not change except when serious bugs are encountered.");
337
338 static const Maturity UNSPECIFIED = const Maturity(-1, "Unspecified",
339 "The maturity for this library has not been specified.");
340 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698