// 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); | |
} |