| OLD | NEW |
| 1 // This code was auto-generated, is not intended to be edited, and is subject to | 1 // This code was auto-generated, is not intended to be edited, and is subject to |
| 2 // significant change. Please see the README file for more information. | 2 // significant change. Please see the README file for more information. |
| 3 library engine.sdk.io; | 3 library engine.sdk.io; |
| 4 import 'java_core.dart'; | 4 import 'java_core.dart'; |
| 5 import 'java_io.dart'; | 5 import 'java_io.dart'; |
| 6 import 'java_engine_io.dart'; | 6 import 'java_engine_io.dart'; |
| 7 import 'source_io.dart'; | 7 import 'source_io.dart'; |
| 8 import 'error.dart'; | 8 import 'error.dart'; |
| 9 import 'scanner.dart'; | 9 import 'scanner.dart'; |
| 10 import 'ast.dart'; | 10 import 'ast.dart'; |
| 11 import 'parser.dart'; | 11 import 'parser.dart'; |
| 12 import 'sdk.dart'; | 12 import 'sdk.dart'; |
| 13 import 'engine.dart'; | 13 import 'engine.dart'; |
| 14 /** | 14 /** |
| 15 * Instances of the class `DirectoryBasedDartSdk` represent a Dart SDK installed
in a | 15 * Instances of the class `DirectoryBasedDartSdk` represent a Dart SDK installed
in a |
| 16 * specified directory. | 16 * specified directory. |
| 17 * | 17 * |
| 18 * @coverage dart.engine.sdk | 18 * @coverage dart.engine.sdk |
| 19 */ | 19 */ |
| 20 class DirectoryBasedDartSdk implements DartSdk { | 20 class DirectoryBasedDartSdk implements DartSdk { |
| 21 | 21 |
| 22 /** | 22 /** |
| 23 * The [AnalysisContext] which is used for all of the sources in this [DartSdk
]. | 23 * The [AnalysisContext] which is used for all of the sources in this [DartSdk
]. |
| 24 */ | 24 */ |
| 25 InternalAnalysisContext _analysisContext; | 25 InternalAnalysisContext _analysisContext; |
| 26 | 26 |
| 27 /** | 27 /** |
| 28 * The directory containing the SDK. | 28 * The directory containing the SDK. |
| 29 */ | 29 */ |
| 30 JavaFile _sdkDirectory; | 30 JavaFile directory; |
| 31 | 31 |
| 32 /** | 32 /** |
| 33 * The revision number of this SDK, or `"0"` if the revision number cannot be
discovered. | 33 * The revision number of this SDK, or `"0"` if the revision number cannot be
discovered. |
| 34 */ | 34 */ |
| 35 String _sdkVersion; | 35 String _sdkVersion; |
| 36 | 36 |
| 37 /** | 37 /** |
| 38 * The file containing the Dartium executable. | 38 * The file containing the Dartium executable. |
| 39 */ | 39 */ |
| 40 JavaFile _dartiumExecutable; | 40 JavaFile _dartiumExecutable; |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 } | 189 } |
| 190 return sdkDirectory; | 190 return sdkDirectory; |
| 191 } | 191 } |
| 192 | 192 |
| 193 /** | 193 /** |
| 194 * Initialize a newly created SDK to represent the Dart SDK installed in the g
iven directory. | 194 * Initialize a newly created SDK to represent the Dart SDK installed in the g
iven directory. |
| 195 * | 195 * |
| 196 * @param sdkDirectory the directory containing the SDK | 196 * @param sdkDirectory the directory containing the SDK |
| 197 */ | 197 */ |
| 198 DirectoryBasedDartSdk(JavaFile sdkDirectory) { | 198 DirectoryBasedDartSdk(JavaFile sdkDirectory) { |
| 199 this._sdkDirectory = sdkDirectory.getAbsoluteFile(); | 199 this.directory = sdkDirectory.getAbsoluteFile(); |
| 200 initializeSdk(); | 200 initializeSdk(); |
| 201 initializeLibraryMap(); | 201 initializeLibraryMap(); |
| 202 if (AnalysisEngine.instance.useExperimentalContext) { | 202 if (AnalysisEngine.instance.useExperimentalContext) { |
| 203 _analysisContext = new AnalysisContextImpl2(); | 203 _analysisContext = new AnalysisContextImpl2(); |
| 204 } else { | 204 } else { |
| 205 _analysisContext = new AnalysisContextImpl(); | 205 _analysisContext = new AnalysisContextImpl(); |
| 206 } | 206 } |
| 207 _analysisContext.sourceFactory = new SourceFactory.con2([new DartUriResolver
(this)]); | 207 _analysisContext.sourceFactory = new SourceFactory.con2([new DartUriResolver
(this)]); |
| 208 List<String> uris = this.uris; | 208 List<String> uris = this.uris; |
| 209 ChangeSet changeSet = new ChangeSet(); | 209 ChangeSet changeSet = new ChangeSet(); |
| 210 for (String uri in uris) { | 210 for (String uri in uris) { |
| 211 changeSet.added(_analysisContext.sourceFactory.forUri(uri)); | 211 changeSet.added(_analysisContext.sourceFactory.forUri(uri)); |
| 212 } | 212 } |
| 213 _analysisContext.applyChanges(changeSet); | 213 _analysisContext.applyChanges(changeSet); |
| 214 } | 214 } |
| 215 | 215 |
| 216 /** | 216 /** |
| 217 * Initialize a newly created SDK to represent the Dart SDK installed in the g
iven directory. | 217 * Initialize a newly created SDK to represent the Dart SDK installed in the g
iven directory. |
| 218 * | 218 * |
| 219 * Added in order to test AnalysisContextImpl2. | 219 * Added in order to test AnalysisContextImpl2. |
| 220 * | 220 * |
| 221 * @param sdkDirectory the directory containing the SDK | 221 * @param sdkDirectory the directory containing the SDK |
| 222 */ | 222 */ |
| 223 DirectoryBasedDartSdk.con1(JavaFile sdkDirectory, bool ignored) { | 223 DirectoryBasedDartSdk.con1(JavaFile sdkDirectory, bool ignored) { |
| 224 this._sdkDirectory = sdkDirectory.getAbsoluteFile(); | 224 this.directory = sdkDirectory.getAbsoluteFile(); |
| 225 initializeSdk(); | 225 initializeSdk(); |
| 226 initializeLibraryMap(); | 226 initializeLibraryMap(); |
| 227 _analysisContext = new AnalysisContextImpl2(); | 227 _analysisContext = new AnalysisContextImpl2(); |
| 228 _analysisContext.sourceFactory = new SourceFactory.con2([new DartUriResolver
(this)]); | 228 _analysisContext.sourceFactory = new SourceFactory.con2([new DartUriResolver
(this)]); |
| 229 List<String> uris = this.uris; | 229 List<String> uris = this.uris; |
| 230 ChangeSet changeSet = new ChangeSet(); | 230 ChangeSet changeSet = new ChangeSet(); |
| 231 for (String uri in uris) { | 231 for (String uri in uris) { |
| 232 changeSet.added(_analysisContext.sourceFactory.forUri(uri)); | 232 changeSet.added(_analysisContext.sourceFactory.forUri(uri)); |
| 233 } | 233 } |
| 234 _analysisContext.applyChanges(changeSet); | 234 _analysisContext.applyChanges(changeSet); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 252 } | 252 } |
| 253 return _dartiumExecutable; | 253 return _dartiumExecutable; |
| 254 } | 254 } |
| 255 | 255 |
| 256 /** | 256 /** |
| 257 * Return the directory where dartium can be found in the Dart SDK (the direct
ory that will be the | 257 * Return the directory where dartium can be found in the Dart SDK (the direct
ory that will be the |
| 258 * working directory is Dartium is invoked without changing the default). | 258 * working directory is Dartium is invoked without changing the default). |
| 259 * | 259 * |
| 260 * @return the directory where dartium can be found | 260 * @return the directory where dartium can be found |
| 261 */ | 261 */ |
| 262 JavaFile get dartiumWorkingDirectory => new JavaFile.relative(_sdkDirectory.ge
tParentFile(), _CHROMIUM_DIRECTORY_NAME); | 262 JavaFile get dartiumWorkingDirectory => new JavaFile.relative(directory.getPar
entFile(), _CHROMIUM_DIRECTORY_NAME); |
| 263 | |
| 264 /** | |
| 265 * Return the directory containing the SDK. | |
| 266 * | |
| 267 * @return the directory containing the SDK | |
| 268 */ | |
| 269 JavaFile get directory => _sdkDirectory; | |
| 270 | 263 |
| 271 /** | 264 /** |
| 272 * Return the directory containing documentation for the SDK. | 265 * Return the directory containing documentation for the SDK. |
| 273 * | 266 * |
| 274 * @return the SDK's documentation directory | 267 * @return the SDK's documentation directory |
| 275 */ | 268 */ |
| 276 JavaFile get docDirectory => new JavaFile.relative(_sdkDirectory, _DOCS_DIRECT
ORY_NAME); | 269 JavaFile get docDirectory => new JavaFile.relative(directory, _DOCS_DIRECTORY_
NAME); |
| 277 | 270 |
| 278 /** | 271 /** |
| 279 * Return the auxiliary documentation file for the given library, or `null` if
no such file | 272 * Return the auxiliary documentation file for the given library, or `null` if
no such file |
| 280 * exists. | 273 * exists. |
| 281 * | 274 * |
| 282 * @param libraryName the name of the library associated with the documentatio
n file to be | 275 * @param libraryName the name of the library associated with the documentatio
n file to be |
| 283 * returned | 276 * returned |
| 284 * @return the auxiliary documentation file for the library | 277 * @return the auxiliary documentation file for the library |
| 285 */ | 278 */ |
| 286 JavaFile getDocFileFor(String libraryName) { | 279 JavaFile getDocFileFor(String libraryName) { |
| 287 JavaFile dir = docDirectory; | 280 JavaFile dir = docDirectory; |
| 288 if (!dir.exists()) { | 281 if (!dir.exists()) { |
| 289 return null; | 282 return null; |
| 290 } | 283 } |
| 291 JavaFile libDir = new JavaFile.relative(dir, libraryName); | 284 JavaFile libDir = new JavaFile.relative(dir, libraryName); |
| 292 JavaFile docFile = new JavaFile.relative(libDir, "${libraryName}${_DOC_FILE_
SUFFIX}"); | 285 JavaFile docFile = new JavaFile.relative(libDir, "${libraryName}${_DOC_FILE_
SUFFIX}"); |
| 293 if (docFile.exists()) { | 286 if (docFile.exists()) { |
| 294 return docFile; | 287 return docFile; |
| 295 } | 288 } |
| 296 return null; | 289 return null; |
| 297 } | 290 } |
| 298 | 291 |
| 299 /** | 292 /** |
| 300 * Return the directory within the SDK directory that contains the libraries. | 293 * Return the directory within the SDK directory that contains the libraries. |
| 301 * | 294 * |
| 302 * @return the directory that contains the libraries | 295 * @return the directory that contains the libraries |
| 303 */ | 296 */ |
| 304 JavaFile get libraryDirectory => new JavaFile.relative(_sdkDirectory, _LIB_DIR
ECTORY_NAME); | 297 JavaFile get libraryDirectory => new JavaFile.relative(directory, _LIB_DIRECTO
RY_NAME); |
| 305 | 298 |
| 306 /** | 299 /** |
| 307 * Return the file containing the Pub executable, or `null` if it does not exi
st. | 300 * Return the file containing the Pub executable, or `null` if it does not exi
st. |
| 308 * | 301 * |
| 309 * @return the file containing the Pub executable | 302 * @return the file containing the Pub executable |
| 310 */ | 303 */ |
| 311 JavaFile get pubExecutable { | 304 JavaFile get pubExecutable { |
| 312 String pubBinaryName = OSUtilities.isWindows() ? _PUB_EXECUTABLE_NAME_WIN :
_PUB_EXECUTABLE_NAME; | 305 String pubBinaryName = OSUtilities.isWindows() ? _PUB_EXECUTABLE_NAME_WIN :
_PUB_EXECUTABLE_NAME; |
| 313 JavaFile file = new JavaFile.relative(new JavaFile.relative(_sdkDirectory, _
BIN_DIRECTORY_NAME), pubBinaryName); | 306 JavaFile file = new JavaFile.relative(new JavaFile.relative(directory, _BIN_
DIRECTORY_NAME), pubBinaryName); |
| 314 return file.exists() ? file : null; | 307 return file.exists() ? file : null; |
| 315 } | 308 } |
| 316 List<SdkLibrary> get sdkLibraries => _libraryMap.sdkLibraries; | 309 List<SdkLibrary> get sdkLibraries => _libraryMap.sdkLibraries; |
| 317 SdkLibrary getSdkLibrary(String dartUri) => _libraryMap.getLibrary(dartUri); | 310 SdkLibrary getSdkLibrary(String dartUri) => _libraryMap.getLibrary(dartUri); |
| 318 | 311 |
| 319 /** | 312 /** |
| 320 * Return the revision number of this SDK, or `"0"` if the revision number can
not be | 313 * Return the revision number of this SDK, or `"0"` if the revision number can
not be |
| 321 * discovered. | 314 * discovered. |
| 322 * | 315 * |
| 323 * @return the revision number of this SDK | 316 * @return the revision number of this SDK |
| 324 */ | 317 */ |
| 325 String get sdkVersion { | 318 String get sdkVersion { |
| 326 { | 319 { |
| 327 if (_sdkVersion == null) { | 320 if (_sdkVersion == null) { |
| 328 _sdkVersion = DartSdk.DEFAULT_VERSION; | 321 _sdkVersion = DartSdk.DEFAULT_VERSION; |
| 329 JavaFile revisionFile = new JavaFile.relative(_sdkDirectory, _REVISION_F
ILE_NAME); | 322 JavaFile revisionFile = new JavaFile.relative(directory, _REVISION_FILE_
NAME); |
| 330 try { | 323 try { |
| 331 String revision = revisionFile.readAsStringSync(); | 324 String revision = revisionFile.readAsStringSync(); |
| 332 if (revision != null) { | 325 if (revision != null) { |
| 333 _sdkVersion = revision; | 326 _sdkVersion = revision; |
| 334 } | 327 } |
| 335 } on JavaIOException catch (exception) { | 328 } on JavaIOException catch (exception) { |
| 336 } | 329 } |
| 337 } | 330 } |
| 338 } | 331 } |
| 339 return _sdkVersion; | 332 return _sdkVersion; |
| 340 } | 333 } |
| 341 | 334 |
| 342 /** | 335 /** |
| 343 * Return an array containing the library URI's for the libraries defined in t
his SDK. | 336 * Return an array containing the library URI's for the libraries defined in t
his SDK. |
| 344 * | 337 * |
| 345 * @return the library URI's for the libraries defined in this SDK | 338 * @return the library URI's for the libraries defined in this SDK |
| 346 */ | 339 */ |
| 347 List<String> get uris => _libraryMap.uris; | 340 List<String> get uris => _libraryMap.uris; |
| 348 | 341 |
| 349 /** | 342 /** |
| 350 * Return the file containing the VM executable, or `null` if it does not exis
t. | 343 * Return the file containing the VM executable, or `null` if it does not exis
t. |
| 351 * | 344 * |
| 352 * @return the file containing the VM executable | 345 * @return the file containing the VM executable |
| 353 */ | 346 */ |
| 354 JavaFile get vmExecutable { | 347 JavaFile get vmExecutable { |
| 355 { | 348 { |
| 356 if (_vmExecutable == null) { | 349 if (_vmExecutable == null) { |
| 357 JavaFile file = new JavaFile.relative(new JavaFile.relative(_sdkDirector
y, _BIN_DIRECTORY_NAME), vmBinaryName); | 350 JavaFile file = new JavaFile.relative(new JavaFile.relative(directory, _
BIN_DIRECTORY_NAME), vmBinaryName); |
| 358 if (file.exists()) { | 351 if (file.exists()) { |
| 359 _vmExecutable = file; | 352 _vmExecutable = file; |
| 360 } | 353 } |
| 361 } | 354 } |
| 362 } | 355 } |
| 363 return _vmExecutable; | 356 return _vmExecutable; |
| 364 } | 357 } |
| 365 | 358 |
| 366 /** | 359 /** |
| 367 * Return `true` if this SDK includes documentation. | 360 * Return `true` if this SDK includes documentation. |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 521 /** | 514 /** |
| 522 * The value of the [PLATFORMS] parameter used to specify that the library can | 515 * The value of the [PLATFORMS] parameter used to specify that the library can |
| 523 * be used on the VM. | 516 * be used on the VM. |
| 524 */ | 517 */ |
| 525 static String _VM_PLATFORM = "VM_PLATFORM"; | 518 static String _VM_PLATFORM = "VM_PLATFORM"; |
| 526 | 519 |
| 527 /** | 520 /** |
| 528 * The library map that is populated by visiting the AST structure parsed from
the contents of | 521 * The library map that is populated by visiting the AST structure parsed from
the contents of |
| 529 * the libraries file. | 522 * the libraries file. |
| 530 */ | 523 */ |
| 531 LibraryMap _librariesMap = new LibraryMap(); | 524 final LibraryMap librariesMap = new LibraryMap(); |
| 532 | |
| 533 /** | |
| 534 * Return the library map that was populated by visiting the AST structure par
sed from the | |
| 535 * contents of the libraries file. | |
| 536 * | |
| 537 * @return the library map describing the contents of the SDK | |
| 538 */ | |
| 539 LibraryMap get librariesMap => _librariesMap; | |
| 540 Object visitMapLiteralEntry(MapLiteralEntry node) { | 525 Object visitMapLiteralEntry(MapLiteralEntry node) { |
| 541 String libraryName = null; | 526 String libraryName = null; |
| 542 Expression key = node.key; | 527 Expression key = node.key; |
| 543 if (key is SimpleStringLiteral) { | 528 if (key is SimpleStringLiteral) { |
| 544 libraryName = "${_LIBRARY_PREFIX}${((key as SimpleStringLiteral)).value}"; | 529 libraryName = "${_LIBRARY_PREFIX}${((key as SimpleStringLiteral)).value}"; |
| 545 } | 530 } |
| 546 Expression value = node.value; | 531 Expression value = node.value; |
| 547 if (value is InstanceCreationExpression) { | 532 if (value is InstanceCreationExpression) { |
| 548 SdkLibraryImpl library = new SdkLibraryImpl(libraryName); | 533 SdkLibraryImpl library = new SdkLibraryImpl(libraryName); |
| 549 List<Expression> arguments = ((value as InstanceCreationExpression)).argum
entList.arguments; | 534 List<Expression> arguments = ((value as InstanceCreationExpression)).argum
entList.arguments; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 564 String identifier = ((expression as SimpleIdentifier)).name; | 549 String identifier = ((expression as SimpleIdentifier)).name; |
| 565 if (identifier == _VM_PLATFORM) { | 550 if (identifier == _VM_PLATFORM) { |
| 566 library.setVmLibrary(); | 551 library.setVmLibrary(); |
| 567 } else { | 552 } else { |
| 568 library.setDart2JsLibrary(); | 553 library.setDart2JsLibrary(); |
| 569 } | 554 } |
| 570 } | 555 } |
| 571 } | 556 } |
| 572 } | 557 } |
| 573 } | 558 } |
| 574 _librariesMap.setLibrary(libraryName, library); | 559 librariesMap.setLibrary(libraryName, library); |
| 575 } | 560 } |
| 576 return null; | 561 return null; |
| 577 } | 562 } |
| 578 } | 563 } |
| 579 class AnalysisErrorListener_9 implements AnalysisErrorListener { | 564 class AnalysisErrorListener_9 implements AnalysisErrorListener { |
| 580 List<bool> foundError; | 565 List<bool> foundError; |
| 581 AnalysisErrorListener_9(this.foundError); | 566 AnalysisErrorListener_9(this.foundError); |
| 582 void onError(AnalysisError error) { | 567 void onError(AnalysisError error) { |
| 583 foundError[0] = true; | 568 foundError[0] = true; |
| 584 } | 569 } |
| 585 } | 570 } |
| OLD | NEW |