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

Unified Diff: pkg/analyzer/test/src/summary/linker_test.dart

Issue 2014893004: In AST-based type inference, use function elements rather than variable elements. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « pkg/analyzer/lib/src/summary/link.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/test/src/summary/linker_test.dart
diff --git a/pkg/analyzer/test/src/summary/linker_test.dart b/pkg/analyzer/test/src/summary/linker_test.dart
index f64a448299b0729bc58f51372df2d86de7789816..47138b0447940add2e6ee216620beb0a92b86a61 100644
--- a/pkg/analyzer/test/src/summary/linker_test.dart
+++ b/pkg/analyzer/test/src/summary/linker_test.dart
@@ -194,13 +194,7 @@ import 'a.dart';
var y = x;
''');
LibraryElementForLink library = linker.getLibrary(linkerInputs.testDartUri);
- expect(
- library
- .getContainedName('y')
- .asTypeInferenceNode
- .variableElement
- .inferredType
- .toString(),
+ expect(_getVariable(library.getContainedName('y')).inferredType.toString(),
'() → dynamic');
}
@@ -277,12 +271,10 @@ class C {
}
''');
expect(
- linker
- .getLibrary(linkerInputs.testDartUri)
- .getContainedName('C')
- .getContainedName('y')
- .asTypeInferenceNode
- .variableElement
+ _getVariable(linker
+ .getLibrary(linkerInputs.testDartUri)
+ .getContainedName('C')
+ .getContainedName('y'))
.inferredType
.toString(),
'dynamic');
@@ -294,11 +286,9 @@ dynamic x = null;
var y = x;
''');
expect(
- linker
- .getLibrary(linkerInputs.testDartUri)
- .getContainedName('y')
- .asTypeInferenceNode
- .variableElement
+ _getVariable(linker
+ .getLibrary(linkerInputs.testDartUri)
+ .getContainedName('y'))
.inferredType
.toString(),
'dynamic');
@@ -317,13 +307,7 @@ import 'a.dart';
var z = y; // Inferred type: dynamic
''');
LibraryElementForLink library = linker.getLibrary(linkerInputs.testDartUri);
- expect(
- library
- .getContainedName('z')
- .asTypeInferenceNode
- .variableElement
- .inferredType
- .toString(),
+ expect(_getVariable(library.getContainedName('z')).inferredType.toString(),
'dynamic');
}
@@ -341,13 +325,7 @@ import 'a.dart';
var x = new C().f; // Inferred type: int
''');
LibraryElementForLink library = linker.getLibrary(linkerInputs.testDartUri);
- expect(
- library
- .getContainedName('x')
- .asTypeInferenceNode
- .variableElement
- .inferredType
- .toString(),
+ expect(_getVariable(library.getContainedName('x')).inferredType.toString(),
'int');
}
@@ -388,13 +366,7 @@ import 'a.dart';
var x = new C().f(0); // Inferred type: int
''');
LibraryElementForLink library = linker.getLibrary(linkerInputs.testDartUri);
- expect(
- library
- .getContainedName('x')
- .asTypeInferenceNode
- .variableElement
- .inferredType
- .toString(),
+ expect(_getVariable(library.getContainedName('x')).inferredType.toString(),
'int');
}
@@ -442,13 +414,7 @@ import 'a.dart';
var x = new C().f(); // Inferred type: int
''');
LibraryElementForLink library = linker.getLibrary(linkerInputs.testDartUri);
- expect(
- library
- .getContainedName('x')
- .asTypeInferenceNode
- .variableElement
- .inferredType
- .toString(),
+ expect(_getVariable(library.getContainedName('x')).inferredType.toString(),
'int');
}
@@ -483,11 +449,9 @@ class D extends C {
addBundle(bundle);
createLinker('import "a.dart"; var x = C.f;', path: '/b.dart');
expect(
- linker
- .getLibrary(linkerInputs.testDartUri)
- .getContainedName('x')
- .asTypeInferenceNode
- .variableElement
+ _getVariable(linker
+ .getLibrary(linkerInputs.testDartUri)
+ .getContainedName('x'))
.inferredType
.toString(),
'int');
@@ -498,11 +462,9 @@ class D extends C {
addBundle(bundle);
createLinker('import "a.dart"; var b = a;', path: '/b.dart');
expect(
- linker
- .getLibrary(linkerInputs.testDartUri)
- .getContainedName('b')
- .asTypeInferenceNode
- .variableElement
+ _getVariable(linker
+ .getLibrary(linkerInputs.testDartUri)
+ .getContainedName('b'))
.inferredType
.toString(),
'int');
@@ -674,13 +636,7 @@ import 'a.dart';
var y = x;
''');
LibraryElementForLink library = linker.getLibrary(linkerInputs.testDartUri);
- expect(
- library
- .getContainedName('y')
- .asTypeInferenceNode
- .variableElement
- .inferredType
- .toString(),
+ expect(_getVariable(library.getContainedName('y')).inferredType.toString(),
'dynamic');
}
@@ -823,4 +779,8 @@ var v = 0;
PropertyAccessorElementForLink_Variable v = library.getContainedName('v');
expect(v.variable.initializer, isNotNull);
}
+
+ VariableElementForLink _getVariable(ReferenceableElementForLink element) {
+ return (element as PropertyAccessorElementForLink_Variable).variable;
+ }
}
« no previous file with comments | « pkg/analyzer/lib/src/summary/link.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698