| // Copyright (c) 2011, 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 dart2js.script; | |
| import 'io/source_file.dart'; | |
| class Script { | |
| final SourceFile file; | |
| /** | |
| * The readable URI from which this script was loaded. | |
| * | |
| * See [LibraryLoader] for terminology on URIs. | |
| */ | |
| final Uri readableUri; | |
| /** | |
| * The resource URI from which this script was loaded. | |
| * | |
| * See [LibraryLoader] for terminology on URIs. | |
| */ | |
| final Uri resourceUri; | |
| /// This script was synthesized. | |
| final bool isSynthesized; | |
| Script(this.readableUri, this.resourceUri, this.file) : isSynthesized = false; | |
| Script.synthetic(Uri uri) | |
| : readableUri = uri, | |
| resourceUri = uri, | |
| file = new StringSourceFile.fromUri( | |
| uri, "// Synthetic source file generated for '$uri'."), | |
| isSynthesized = true; | |
| String get text => (file == null) ? null : file.slowText(); | |
| String get name => (file == null) ? null : file.filename; | |
| /// Creates a new [Script] with the same URIs, but new content ([file]). | |
| Script copyWithFile(SourceFile file) { | |
| return new Script(readableUri, resourceUri, file); | |
| } | |
| } |