Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Unified Diff: pkg/analyzer/lib/src/generated/testing/test_type_provider.dart

Issue 1352763004: Add additional strong mode inference. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Add tests Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer/lib/src/generated/testing/test_type_provider.dart
diff --git a/pkg/analyzer/lib/src/generated/testing/test_type_provider.dart b/pkg/analyzer/lib/src/generated/testing/test_type_provider.dart
index 5b5204a3d752f8acde2fc57558a13ab4179b9f3c..87d3400f03675eca0fd682ed6a089b2c2d1a54e6 100644
--- a/pkg/analyzer/lib/src/generated/testing/test_type_provider.dart
+++ b/pkg/analyzer/lib/src/generated/testing/test_type_provider.dart
@@ -107,6 +107,12 @@ class TestTypeProvider implements TypeProvider {
InterfaceType _numType;
/**
+ * The types and return types of the methods and getters (respectively) in
+ * the built-in type 'Object'.
+ */
+ Map<String, DartType> _objectMemberTypes;
+
+ /**
* The type representing the built-in type 'Object'.
*/
InterfaceType _objectType;
@@ -372,6 +378,26 @@ class TestTypeProvider implements TypeProvider {
}
@override
+ Map<String, DartType> get objectMemberTypes {
+ if (_objectMemberTypes == null) {
+ Map<String, DartType> map = <String, DartType>{};
+ ClassElement element = objectType.element;
+ // Add instance methods.
+ element.methods.where((method) => !method.isStatic).forEach((method) {
+ map[method.name] = method.type;
+ });
+ // Add getters.
+ element.accessors
+ .where((member) => !member.isStatic && member.isGetter)
+ .forEach((member) {
+ map[member.name] = member.type.returnType;
+ });
+ _objectMemberTypes = map;
+ }
+ return _objectMemberTypes;
+ }
+
+ @override
InterfaceType get objectType {
if (_objectType == null) {
ClassElementImpl objectElement = ElementFactory.object;

Powered by Google App Engine
This is Rietveld 408576698