| // Copyright (c) 2013, 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. |
| |
| import 'dart:io'; |
| import 'dart:async'; |
| |
| import 'package:compiler/src/mirrors/source_mirrors.dart'; |
| import 'package:compiler/src/mirrors/analyze.dart' as source_mirrors; |
| import 'package:compiler/src/source_file_provider.dart'; |
| |
| TypeMirror createInstantiation(TypeSourceMirror type, |
| List<TypeMirror> typeArguments) { |
| return type.createInstantiation(typeArguments); |
| } |
| |
| Future<MirrorSystem> analyze(String test) { |
| Uri repository = Platform.script.resolve('../../../../'); |
| Uri testUri = repository.resolve('tests/lib/mirrors/$test'); |
| return analyzeUri(testUri); |
| } |
| |
| |
| Future<MirrorSystem> analyzeUri(Uri testUri) { |
| Uri repository = Platform.script.resolve('../../../../'); |
| Uri libraryRoot = repository.resolve('sdk/'); |
| Uri packageRoot = Uri.base.resolveUri( |
| new Uri.file('${Platform.packageRoot}/')); |
| var provider = new CompilerSourceFileProvider(); |
| var handler = new FormattingDiagnosticHandler(provider); |
| return source_mirrors.analyze( |
| [testUri], |
| libraryRoot, |
| packageRoot, |
| provider, |
| handler); |
| } |