| Index: pkg/analyzer2dart/test/mock_sdk.dart
|
| diff --git a/pkg/analyzer2dart/test/mock_sdk.dart b/pkg/analyzer2dart/test/mock_sdk.dart
|
| deleted file mode 100644
|
| index 8cebd44181f4ec79dc144f3fb7724cbe96e52199..0000000000000000000000000000000000000000
|
| --- a/pkg/analyzer2dart/test/mock_sdk.dart
|
| +++ /dev/null
|
| @@ -1,250 +0,0 @@
|
| -// Copyright (c) 2014, 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 testing.mock_sdk;
|
| -
|
| -import 'package:analyzer/file_system/file_system.dart' as resource;
|
| -import 'package:analyzer/file_system/memory_file_system.dart' as resource;
|
| -import 'package:analyzer/src/generated/engine.dart';
|
| -import 'package:analyzer/src/generated/sdk.dart';
|
| -import 'package:analyzer/src/generated/source.dart';
|
| -
|
| -
|
| -class MockSdk implements DartSdk {
|
| - static const _MockSdkLibrary LIB_CORE =
|
| - const _MockSdkLibrary('core', '/lib/core/core.dart', '''
|
| -library dart.core;
|
| -
|
| -class Object {
|
| - bool operator ==(other) => identical(this, other);
|
| -}
|
| -
|
| -class Function {}
|
| -class StackTrace {}
|
| -class Symbol {}
|
| -class Type {}
|
| -
|
| -abstract class Comparable<T> {
|
| - int compareTo(T other);
|
| -}
|
| -
|
| -class String implements Comparable<String> {
|
| - bool get isEmpty => false;
|
| - bool get isNotEmpty => false;
|
| - int get length => 0;
|
| -}
|
| -
|
| -class bool extends Object {}
|
| -abstract class num implements Comparable<num> {
|
| - bool operator <(num other);
|
| - num operator +(num other);
|
| - num operator -(num other);
|
| - num operator *(num other);
|
| - num operator /(num other);
|
| - int toInt();
|
| -}
|
| -abstract class int extends num {
|
| - bool get isEven => false;
|
| - int operator -();
|
| -}
|
| -class double extends num {}
|
| -class DateTime extends Object {}
|
| -class Null extends Object {}
|
| -
|
| -class Deprecated extends Object {
|
| - final String expires;
|
| - const Deprecated(this.expires);
|
| -}
|
| -const Object deprecated = const Deprecated("next release");
|
| -
|
| -abstract class Iterable<E> {}
|
| -
|
| -abstract class List<E> extends Object implements Iterable {
|
| - void add(E value);
|
| - E operator [](int index);
|
| - void operator []=(int index, E value);
|
| -}
|
| -class Map<K, V> extends Object {}
|
| -
|
| -external bool identical(Object a, Object b);
|
| -
|
| -void print(Object object) {}
|
| -
|
| -typedef int Comparator<T>(T a, T b);
|
| -''');
|
| -
|
| - static const _MockSdkLibrary LIB_ASYNC =
|
| - const _MockSdkLibrary('async', '/lib/async/async.dart', '''
|
| -library dart.async;
|
| -class Future<T> {
|
| - static Future wait(List<Future> futures) => null;
|
| -}
|
| -
|
| -class Stream<T> {}
|
| -''');
|
| -
|
| - static const _MockSdkLibrary LIB_MATH =
|
| - const _MockSdkLibrary('math', '/lib/math/math.dart', '''
|
| -library dart.math;
|
| -const double E = 2.718281828459045;
|
| -const double PI = 3.1415926535897932;
|
| -num min(num a, num b) => 0;
|
| -num max(num a, num b) => 0;
|
| -class Random {}
|
| -''');
|
| -
|
| - static const _MockSdkLibrary LIB_HTML =
|
| - const _MockSdkLibrary('html', '/lib/html/dartium/html_dartium.dart', '''
|
| -library dart.html;
|
| -class HtmlElement {}
|
| -''');
|
| -
|
| - static const List<SdkLibrary> LIBRARIES = const [
|
| - LIB_CORE,
|
| - LIB_ASYNC,
|
| - LIB_MATH,
|
| - LIB_HTML,];
|
| -
|
| - final resource.MemoryResourceProvider provider =
|
| - new resource.MemoryResourceProvider();
|
| -
|
| - /**
|
| - * The [AnalysisContext] which is used for all of the sources.
|
| - */
|
| - InternalAnalysisContext _analysisContext;
|
| -
|
| - MockSdk() {
|
| - LIBRARIES.forEach((_MockSdkLibrary library) {
|
| - provider.newFile(library.path, library.content);
|
| - });
|
| - }
|
| -
|
| - @override
|
| - AnalysisContext get context {
|
| - if (_analysisContext == null) {
|
| - _analysisContext = new SdkAnalysisContext();
|
| - SourceFactory factory = new SourceFactory([new DartUriResolver(this)]);
|
| - _analysisContext.sourceFactory = factory;
|
| - ChangeSet changeSet = new ChangeSet();
|
| - for (String uri in uris) {
|
| - Source source = factory.forUri(uri);
|
| - changeSet.addedSource(source);
|
| - }
|
| - _analysisContext.applyChanges(changeSet);
|
| - }
|
| - return _analysisContext;
|
| - }
|
| -
|
| - @override
|
| - List<SdkLibrary> get sdkLibraries => LIBRARIES;
|
| -
|
| - @override
|
| - String get sdkVersion => throw unimplemented;
|
| -
|
| - UnimplementedError get unimplemented => new UnimplementedError();
|
| -
|
| - @override
|
| - List<String> get uris {
|
| - List<String> uris = <String>[];
|
| - for (SdkLibrary library in LIBRARIES) {
|
| - uris.add('dart:' + library.shortName);
|
| - }
|
| - return uris;
|
| - }
|
| -
|
| - @override
|
| - Source fromFileUri(Uri uri) {
|
| - String filePath = uri.path;
|
| - String libPath = '/lib';
|
| - if (!filePath.startsWith("$libPath/")) {
|
| - return null;
|
| - }
|
| - for (SdkLibrary library in LIBRARIES) {
|
| - String libraryPath = library.path;
|
| - if (filePath.replaceAll('\\', '/') == libraryPath) {
|
| - String path = library.shortName;
|
| - try {
|
| - resource.File file = provider.getResource(uri.path);
|
| - Uri dartUri = new Uri(scheme: 'dart', path: library.shortName);
|
| - return file.createSource(dartUri);
|
| - } catch (exception) {
|
| - return null;
|
| - }
|
| - }
|
| - if (filePath.startsWith("$libraryPath/")) {
|
| - String pathInLibrary = filePath.substring(libraryPath.length + 1);
|
| - String path = '${library.shortName}/${pathInLibrary}';
|
| - try {
|
| - resource.File file = provider.getResource(uri.path);
|
| - Uri dartUri = new Uri(scheme: 'dart', path: path);
|
| - return file.createSource(dartUri);
|
| - } catch (exception) {
|
| - return null;
|
| - }
|
| - }
|
| - }
|
| - return null;
|
| - }
|
| -
|
| - @override
|
| - SdkLibrary getSdkLibrary(String dartUri) {
|
| - // getSdkLibrary() is only used to determine whether a library is internal
|
| - // to the SDK. The mock SDK doesn't have any internals, so it's safe to
|
| - // return null.
|
| - return null;
|
| - }
|
| -
|
| - @override
|
| - Source mapDartUri(String dartUri) {
|
| - const Map<String, String> uriToPath = const {
|
| - "dart:core": "/lib/core/core.dart",
|
| - "dart:html": "/lib/html/dartium/html_dartium.dart",
|
| - "dart:async": "/lib/async/async.dart",
|
| - "dart:math": "/lib/math/math.dart"
|
| - };
|
| -
|
| - String path = uriToPath[dartUri];
|
| - if (path != null) {
|
| - resource.File file = provider.getResource(path);
|
| - Uri uri = new Uri(scheme: 'dart', path: dartUri.substring(5));
|
| - return file.createSource(uri);
|
| - }
|
| -
|
| - // If we reach here then we tried to use a dartUri that's not in the
|
| - // table above.
|
| - throw unimplemented;
|
| - }
|
| -}
|
| -
|
| -
|
| -class _MockSdkLibrary implements SdkLibrary {
|
| - final String shortName;
|
| - final String path;
|
| - final String content;
|
| -
|
| - const _MockSdkLibrary(this.shortName, this.path, this.content);
|
| -
|
| - @override
|
| - String get category => throw unimplemented;
|
| -
|
| - @override
|
| - bool get isDart2JsLibrary => throw unimplemented;
|
| -
|
| - @override
|
| - bool get isDocumented => throw unimplemented;
|
| -
|
| - @override
|
| - bool get isImplementation => throw unimplemented;
|
| -
|
| - @override
|
| - bool get isInternal => throw unimplemented;
|
| -
|
| - @override
|
| - bool get isShared => throw unimplemented;
|
| -
|
| - @override
|
| - bool get isVmLibrary => throw unimplemented;
|
| -
|
| - UnimplementedError get unimplemented => new UnimplementedError();
|
| -}
|
|
|