| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import 'package:analyzer/dart/element/element.dart'; | 5 import 'package:analyzer/dart/element/element.dart'; |
| 6 import 'package:analyzer/dart/element/visitor.dart'; | 6 import 'package:analyzer/dart/element/visitor.dart'; |
| 7 import 'package:analyzer/file_system/file_system.dart'; | 7 import 'package:analyzer/file_system/file_system.dart'; |
| 8 import 'package:analyzer/file_system/memory_file_system.dart'; | 8 import 'package:analyzer/file_system/memory_file_system.dart'; |
| 9 import 'package:analyzer/source/package_map_resolver.dart'; | 9 import 'package:analyzer/source/package_map_resolver.dart'; |
| 10 import 'package:analyzer/src/dart/analysis/byte_store.dart'; | 10 import 'package:analyzer/src/dart/analysis/byte_store.dart'; |
| 11 import 'package:analyzer/src/dart/analysis/driver.dart'; | 11 import 'package:analyzer/src/dart/analysis/driver.dart'; |
| 12 import 'package:analyzer/src/dart/analysis/file_state.dart'; | 12 import 'package:analyzer/src/dart/analysis/file_state.dart'; |
| 13 import 'package:analyzer/src/dart/analysis/status.dart'; | 13 import 'package:analyzer/src/dart/analysis/status.dart'; |
| 14 import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl; | 14 import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl; |
| 15 import 'package:analyzer/src/generated/sdk.dart'; |
| 15 import 'package:analyzer/src/generated/source.dart'; | 16 import 'package:analyzer/src/generated/source.dart'; |
| 16 import 'package:test/test.dart'; | 17 import 'package:test/test.dart'; |
| 17 | 18 |
| 18 import 'physical_sdk.dart'; | 19 import '../../context/mock_sdk.dart'; |
| 19 | 20 |
| 20 /** | 21 /** |
| 21 * Finds an [Element] with the given [name]. | 22 * Finds an [Element] with the given [name]. |
| 22 */ | 23 */ |
| 23 Element findChildElement(Element root, String name, [ElementKind kind]) { | 24 Element findChildElement(Element root, String name, [ElementKind kind]) { |
| 24 Element result = null; | 25 Element result = null; |
| 25 root.accept(new _ElementVisitorFunctionWrapper((Element element) { | 26 root.accept(new _ElementVisitorFunctionWrapper((Element element) { |
| 26 if (element.name != name) { | 27 if (element.name != name) { |
| 27 return; | 28 return; |
| 28 } | 29 } |
| 29 if (kind != null && element.kind != kind) { | 30 if (kind != null && element.kind != kind) { |
| 30 return; | 31 return; |
| 31 } | 32 } |
| 32 result = element; | 33 result = element; |
| 33 })); | 34 })); |
| 34 return result; | 35 return result; |
| 35 } | 36 } |
| 36 | 37 |
| 37 typedef bool Predicate<E>(E argument); | 38 typedef bool Predicate<E>(E argument); |
| 38 | 39 |
| 39 /** | 40 /** |
| 40 * A function to be called for every [Element]. | 41 * A function to be called for every [Element]. |
| 41 */ | 42 */ |
| 42 typedef void _ElementVisitorFunction(Element element); | 43 typedef void _ElementVisitorFunction(Element element); |
| 43 | 44 |
| 44 class BaseAnalysisDriverTest { | 45 class BaseAnalysisDriverTest { |
| 45 final MemoryResourceProvider provider = new MemoryResourceProvider(); | 46 final MemoryResourceProvider provider = new MemoryResourceProvider(); |
| 47 DartSdk sdk; |
| 46 final ByteStore byteStore = new MemoryByteStore(); | 48 final ByteStore byteStore = new MemoryByteStore(); |
| 47 final FileContentOverlay contentOverlay = new FileContentOverlay(); | 49 final FileContentOverlay contentOverlay = new FileContentOverlay(); |
| 48 | 50 |
| 49 final StringBuffer logBuffer = new StringBuffer(); | 51 final StringBuffer logBuffer = new StringBuffer(); |
| 50 PerformanceLog logger; | 52 PerformanceLog logger; |
| 51 | 53 |
| 52 AnalysisDriverScheduler scheduler; | 54 AnalysisDriverScheduler scheduler; |
| 53 AnalysisDriver driver; | 55 AnalysisDriver driver; |
| 54 final List<AnalysisStatus> allStatuses = <AnalysisStatus>[]; | 56 final List<AnalysisStatus> allStatuses = <AnalysisStatus>[]; |
| 55 final List<AnalysisResult> allResults = <AnalysisResult>[]; | 57 final List<AnalysisResult> allResults = <AnalysisResult>[]; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 if (c >= '0'.codeUnitAt(0) && c <= '9'.codeUnitAt(0)) { | 92 if (c >= '0'.codeUnitAt(0) && c <= '9'.codeUnitAt(0)) { |
| 91 length++; | 93 length++; |
| 92 continue; | 94 continue; |
| 93 } | 95 } |
| 94 break; | 96 break; |
| 95 } | 97 } |
| 96 return length; | 98 return length; |
| 97 } | 99 } |
| 98 | 100 |
| 99 void setUp() { | 101 void setUp() { |
| 102 sdk = new MockSdk(resourceProvider: provider); |
| 100 testProject = _p('/test/lib'); | 103 testProject = _p('/test/lib'); |
| 101 testFile = _p('/test/lib/test.dart'); | 104 testFile = _p('/test/lib/test.dart'); |
| 102 logger = new PerformanceLog(logBuffer); | 105 logger = new PerformanceLog(logBuffer); |
| 103 scheduler = new AnalysisDriverScheduler(logger); | 106 scheduler = new AnalysisDriverScheduler(logger); |
| 104 driver = new AnalysisDriver( | 107 driver = new AnalysisDriver( |
| 105 scheduler, | 108 scheduler, |
| 106 logger, | 109 logger, |
| 107 provider, | 110 provider, |
| 108 byteStore, | 111 byteStore, |
| 109 contentOverlay, | 112 contentOverlay, |
| (...skipping 20 matching lines...) Expand all Loading... |
| 130 class _ElementVisitorFunctionWrapper extends GeneralizingElementVisitor { | 133 class _ElementVisitorFunctionWrapper extends GeneralizingElementVisitor { |
| 131 final _ElementVisitorFunction function; | 134 final _ElementVisitorFunction function; |
| 132 | 135 |
| 133 _ElementVisitorFunctionWrapper(this.function); | 136 _ElementVisitorFunctionWrapper(this.function); |
| 134 | 137 |
| 135 visitElement(Element element) { | 138 visitElement(Element element) { |
| 136 function(element); | 139 function(element); |
| 137 super.visitElement(element); | 140 super.visitElement(element); |
| 138 } | 141 } |
| 139 } | 142 } |
| OLD | NEW |