6f43aa828f
Get rid of lib/compiler/implementation/lib/scalarlist.dart which should not be necessary. R=lrn@google.com BUG= Review URL: https://codereview.chromium.org//10958012 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12626 260f80e4-7a28-3924-810f-c04153c831b5
157 lines
4.6 KiB
Dart
157 lines
4.6 KiB
Dart
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
#library('libraries');
|
|
|
|
/**
|
|
* A bit flag used by [LibraryInfo] indicating that a library is used by dart2js
|
|
*/
|
|
const int DART2JS_PLATFORM = 1;
|
|
|
|
/**
|
|
* A bit flag used by [LibraryInfo] indicating that a library is used by the VM
|
|
*/
|
|
const int VM_PLATFORM = 2;
|
|
|
|
/**
|
|
* Mapping of "dart:" library name (e.g. "core") to information about that library.
|
|
* This information is structured such that Dart Editor can parse this file
|
|
* and extract the necessary information without executing it
|
|
* while other tools can access via execution.
|
|
*/
|
|
const Map<String, LibraryInfo> LIBRARIES = const <LibraryInfo> {
|
|
|
|
"core": const LibraryInfo(
|
|
"core/core.dart",
|
|
dart2jsPath: "compiler/implementation/lib/core.dart",
|
|
dart2jsPatchPath: "compiler/implementation/lib/core_patch.dart"),
|
|
|
|
"coreimpl": const LibraryInfo(
|
|
"coreimpl/coreimpl.dart",
|
|
implementation: true,
|
|
dart2jsPath: "compiler/implementation/lib/coreimpl.dart",
|
|
dart2jsPatchPath: "compiler/implementation/lib/coreimpl_patch.dart"),
|
|
|
|
"crypto": const LibraryInfo(
|
|
"crypto/crypto.dart"),
|
|
|
|
"html": const LibraryInfo(
|
|
"html/dartium/html_dartium.dart",
|
|
category: "Client",
|
|
dart2jsPath: "html/dart2js/html_dart2js.dart"),
|
|
|
|
"io": const LibraryInfo(
|
|
"io/io_runtime.dart",
|
|
category: "Server",
|
|
dart2jsPath: "compiler/implementation/lib/io.dart"),
|
|
|
|
"isolate": const LibraryInfo(
|
|
"isolate/isolate.dart",
|
|
dart2jsPatchPath: "compiler/implementation/lib/isolate_patch.dart"),
|
|
|
|
"json": const LibraryInfo(
|
|
"json/json.dart"),
|
|
|
|
"math": const LibraryInfo(
|
|
"math/math.dart",
|
|
dart2jsPatchPath: "compiler/implementation/lib/math_patch.dart"),
|
|
|
|
"mirrors": const LibraryInfo(
|
|
"mirrors/mirrors.dart",
|
|
documented: false,
|
|
platforms: VM_PLATFORM),
|
|
|
|
"nativewrappers": const LibraryInfo(
|
|
"html/dartium/nativewrappers.dart",
|
|
category: "Client",
|
|
implementation: true,
|
|
documented: false,
|
|
platforms: VM_PLATFORM),
|
|
|
|
"scalarlist": const LibraryInfo(
|
|
"scalarlist/scalarlist.dart",
|
|
category: "Server",
|
|
dart2jsPatchPath: "compiler/implementation/lib/scalarlist_patch.dart"),
|
|
|
|
"uri": const LibraryInfo(
|
|
"uri/uri.dart"),
|
|
|
|
"utf": const LibraryInfo(
|
|
"utf/utf.dart"),
|
|
|
|
"_js_helper": const LibraryInfo(
|
|
"compiler/implementation/lib/js_helper.dart",
|
|
category: "Internal",
|
|
documented: false,
|
|
platforms: DART2JS_PLATFORM),
|
|
|
|
"_interceptors": const LibraryInfo(
|
|
"compiler/implementation/lib/interceptors.dart",
|
|
category: "Internal",
|
|
documented: false,
|
|
platforms: DART2JS_PLATFORM),
|
|
};
|
|
|
|
/**
|
|
* Information about a "dart:" library.
|
|
*/
|
|
class LibraryInfo {
|
|
|
|
/**
|
|
* Path to the library's *.dart file relative to this file.
|
|
*/
|
|
final String path;
|
|
|
|
/**
|
|
* The category in which the library should appear in the editor
|
|
* (e.g. "Common", "Client", "Server", ...).
|
|
*/
|
|
final String category;
|
|
|
|
/**
|
|
* Path to the dart2js library's *.dart file relative to this file
|
|
* or null if dart2js uses the common library path defined above.
|
|
* Access using the [#getDart2JsPath()] method.
|
|
*/
|
|
final String dart2jsPath;
|
|
|
|
/**
|
|
* Path to the dart2js library's patch file relative to this file
|
|
* or null if no dart2js patch file associated with this library.
|
|
* Access using the [#getDart2JsPatchPath()] method.
|
|
*/
|
|
final String dart2jsPatchPath;
|
|
|
|
/**
|
|
* True if this library is documented and should be shown to the user.
|
|
*/
|
|
final bool documented;
|
|
|
|
/**
|
|
* Bit flags indicating which platforms consume this library.
|
|
* See [DART2JS_LIBRARY] and [VM_LIBRARY].
|
|
*/
|
|
final int platforms;
|
|
|
|
/**
|
|
* True if the library contains implementation details for another library.
|
|
* The implication is that these libraries are less commonly used
|
|
* and that tools like Dart Editor should not show these libraries
|
|
* in a list of all libraries unless the user specifically asks the tool to
|
|
* do so. (E.g. "coreimpl" contains implementation for the "core" library).
|
|
*/
|
|
final bool implementation;
|
|
|
|
const LibraryInfo(this.path, [
|
|
this.category = "Shared",
|
|
this.dart2jsPath,
|
|
this.dart2jsPatchPath,
|
|
this.implementation = false,
|
|
this.documented = true,
|
|
this.platforms = DART2JS_PLATFORM | VM_PLATFORM]);
|
|
|
|
bool get isDart2jsLibrary => (platforms & DART2JS_PLATFORM) != 0;
|
|
bool get isVmLibrary => (platforms & VM_PLATFORM) != 0;
|
|
}
|