OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 library analyzer.src.summary.summary_sdk; | 5 library analyzer.src.summary.summary_sdk; |
6 | 6 |
7 import 'package:analyzer/dart/element/element.dart'; | 7 import 'package:analyzer/dart/element/element.dart'; |
8 import 'package:analyzer/dart/element/type.dart'; | 8 import 'package:analyzer/dart/element/type.dart'; |
9 import 'package:analyzer/src/context/cache.dart' show CacheEntry; | 9 import 'package:analyzer/src/context/cache.dart' show CacheEntry; |
10 import 'package:analyzer/src/context/context.dart'; | 10 import 'package:analyzer/src/context/context.dart'; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 } | 58 } |
59 if (target is Source) { | 59 if (target is Source) { |
60 if (result == LIBRARY_ELEMENT1 || | 60 if (result == LIBRARY_ELEMENT1 || |
61 result == LIBRARY_ELEMENT2 || | 61 result == LIBRARY_ELEMENT2 || |
62 result == LIBRARY_ELEMENT3 || | 62 result == LIBRARY_ELEMENT3 || |
63 result == LIBRARY_ELEMENT4 || | 63 result == LIBRARY_ELEMENT4 || |
64 result == LIBRARY_ELEMENT5 || | 64 result == LIBRARY_ELEMENT5 || |
65 result == LIBRARY_ELEMENT6 || | 65 result == LIBRARY_ELEMENT6 || |
66 result == LIBRARY_ELEMENT7 || | 66 result == LIBRARY_ELEMENT7 || |
67 result == LIBRARY_ELEMENT8 || | 67 result == LIBRARY_ELEMENT8 || |
| 68 result == LIBRARY_ELEMENT9 || |
68 result == LIBRARY_ELEMENT) { | 69 result == LIBRARY_ELEMENT) { |
69 // TODO(scheglov) try to find a way to avoid listing every result | 70 // TODO(scheglov) try to find a way to avoid listing every result |
70 // e.g. "result.whenComplete == LIBRARY_ELEMENT" | 71 // e.g. "result.whenComplete == LIBRARY_ELEMENT" |
71 String uri = target.uri.toString(); | 72 String uri = target.uri.toString(); |
72 LibraryElement libraryElement = resynthesizer.getLibraryElement(uri); | 73 LibraryElement libraryElement = resynthesizer.getLibraryElement(uri); |
73 entry.setValue(result, libraryElement, TargetedResult.EMPTY_LIST); | 74 entry.setValue(result, libraryElement, TargetedResult.EMPTY_LIST); |
74 return true; | 75 return true; |
75 } else if (result == READY_LIBRARY_ELEMENT2 || | 76 } else if (result == READY_LIBRARY_ELEMENT2 || |
76 result == READY_LIBRARY_ELEMENT5 || | 77 result == READY_LIBRARY_ELEMENT6 || |
77 result == READY_LIBRARY_ELEMENT6) { | 78 result == READY_LIBRARY_ELEMENT7) { |
78 entry.setValue(result, true, TargetedResult.EMPTY_LIST); | 79 entry.setValue(result, true, TargetedResult.EMPTY_LIST); |
79 return true; | 80 return true; |
80 } else if (result == SOURCE_KIND) { | 81 } else if (result == SOURCE_KIND) { |
81 String uri = target.uri.toString(); | 82 String uri = target.uri.toString(); |
82 SourceKind kind = _getSourceKind(uri); | 83 SourceKind kind = _getSourceKind(uri); |
83 if (kind != null) { | 84 if (kind != null) { |
84 entry.setValue(result, kind, TargetedResult.EMPTY_LIST); | 85 entry.setValue(result, kind, TargetedResult.EMPTY_LIST); |
85 return true; | 86 return true; |
86 } | 87 } |
87 return false; | 88 return false; |
88 } else { | 89 } else { |
89 // throw new UnimplementedError('$result of $target'); | 90 // throw new UnimplementedError('$result of $target'); |
90 } | 91 } |
91 } | 92 } |
92 if (target is LibrarySpecificUnit) { | 93 if (target is LibrarySpecificUnit) { |
93 if (target.library == null || !target.library.isInSystemLibrary) { | 94 if (target.library == null || !target.library.isInSystemLibrary) { |
94 return false; | 95 return false; |
95 } | 96 } |
96 if (result == CREATED_RESOLVED_UNIT1 || | 97 if (result == CREATED_RESOLVED_UNIT1 || |
97 result == CREATED_RESOLVED_UNIT2 || | 98 result == CREATED_RESOLVED_UNIT2 || |
98 result == CREATED_RESOLVED_UNIT3 || | 99 result == CREATED_RESOLVED_UNIT3 || |
99 result == CREATED_RESOLVED_UNIT4 || | 100 result == CREATED_RESOLVED_UNIT4 || |
100 result == CREATED_RESOLVED_UNIT5 || | 101 result == CREATED_RESOLVED_UNIT5 || |
101 result == CREATED_RESOLVED_UNIT6 || | 102 result == CREATED_RESOLVED_UNIT6 || |
102 result == CREATED_RESOLVED_UNIT7 || | 103 result == CREATED_RESOLVED_UNIT7 || |
103 result == CREATED_RESOLVED_UNIT8 || | 104 result == CREATED_RESOLVED_UNIT8 || |
104 result == CREATED_RESOLVED_UNIT9 || | 105 result == CREATED_RESOLVED_UNIT9 || |
105 result == CREATED_RESOLVED_UNIT10) { | 106 result == CREATED_RESOLVED_UNIT10 || |
| 107 result == CREATED_RESOLVED_UNIT11) { |
106 entry.setValue(result, true, TargetedResult.EMPTY_LIST); | 108 entry.setValue(result, true, TargetedResult.EMPTY_LIST); |
107 return true; | 109 return true; |
108 } | 110 } |
109 if (result == COMPILATION_UNIT_ELEMENT) { | 111 if (result == COMPILATION_UNIT_ELEMENT) { |
110 String libraryUri = target.library.uri.toString(); | 112 String libraryUri = target.library.uri.toString(); |
111 String unitUri = target.unit.uri.toString(); | 113 String unitUri = target.unit.uri.toString(); |
112 CompilationUnitElement unit = resynthesizer.getElement( | 114 CompilationUnitElement unit = resynthesizer.getElement( |
113 new ElementLocationImpl.con3(<String>[libraryUri, unitUri])); | 115 new ElementLocationImpl.con3(<String>[libraryUri, unitUri])); |
114 if (unit != null) { | 116 if (unit != null) { |
115 entry.setValue(result, unit, TargetedResult.EMPTY_LIST); | 117 entry.setValue(result, unit, TargetedResult.EMPTY_LIST); |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
419 * throw a [StateError] if there is no class with the given name. | 421 * throw a [StateError] if there is no class with the given name. |
420 */ | 422 */ |
421 InterfaceType _getType(LibraryElement library, String name) { | 423 InterfaceType _getType(LibraryElement library, String name) { |
422 Element element = library.getType(name); | 424 Element element = library.getType(name); |
423 if (element == null) { | 425 if (element == null) { |
424 throw new StateError("No definition of type $name"); | 426 throw new StateError("No definition of type $name"); |
425 } | 427 } |
426 return (element as ClassElement).type; | 428 return (element as ClassElement).type; |
427 } | 429 } |
428 } | 430 } |
OLD | NEW |