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

Unified Diff: pkg/analyzer/lib/src/summary/resynthesize.dart

Issue 1625543002: Use the explicit string 'void' to refer to void in summaries. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 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/prelink.dart ('k') | pkg/analyzer/lib/src/summary/summarize_ast.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/summary/resynthesize.dart
diff --git a/pkg/analyzer/lib/src/summary/resynthesize.dart b/pkg/analyzer/lib/src/summary/resynthesize.dart
index c45e2932e6731020fae841f54da4606169bae67c..4a9b60fc11db90d160655648b4541147ceed471e 100644
--- a/pkg/analyzer/lib/src/summary/resynthesize.dart
+++ b/pkg/analyzer/lib/src/summary/resynthesize.dart
@@ -568,11 +568,10 @@ class _LibraryResynthesizer {
serializedExecutable.parameters.map(buildParameter).toList();
if (serializedExecutable.returnType != null) {
executableElement.returnType = buildType(serializedExecutable.returnType);
- } else if (serializedExecutable.kind ==
- UnlinkedExecutableKind.constructor) {
- // Return type was set by the caller.
} else {
- executableElement.returnType = VoidTypeImpl.instance;
+ // Null return type should only be used for constructors. Caller will
+ // handle setting the return type.
+ assert(serializedExecutable.kind == UnlinkedExecutableKind.constructor);
}
executableElement.type = new FunctionTypeImpl.elementWithNameAndArgs(
executableElement, null, oldTypeArguments, false);
@@ -904,11 +903,7 @@ class _LibraryResynthesizer {
serializedParameter.parameters.map(buildParameter).toList();
parameterTypeElement.enclosingElement = parameterElement;
parameterTypeElement.shareParameters(parameterElement.parameters);
- if (serializedParameter.type != null) {
- parameterTypeElement.returnType = buildType(serializedParameter.type);
- } else {
- parameterTypeElement.returnType = VoidTypeImpl.instance;
- }
+ parameterTypeElement.returnType = buildType(serializedParameter.type);
parameterElement.type = new FunctionTypeImpl.elementWithNameAndArgs(
parameterTypeElement, null, currentTypeArguments, false);
} else {
@@ -989,6 +984,8 @@ class _LibraryResynthesizer {
return summaryResynthesizer.typeProvider.undefinedType;
} else if (name == 'dynamic') {
return summaryResynthesizer.typeProvider.dynamicType;
+ } else if (name == 'void') {
+ return VoidTypeImpl.instance;
} else {
String referencedLibraryUri = librarySource.uri.toString();
String partUri;
@@ -1053,12 +1050,8 @@ class _LibraryResynthesizer {
serializedTypedef.name, serializedTypedef.nameOffset);
functionTypeAliasElement.parameters =
serializedTypedef.parameters.map(buildParameter).toList();
- if (serializedTypedef.returnType != null) {
- functionTypeAliasElement.returnType =
- buildType(serializedTypedef.returnType);
- } else {
- functionTypeAliasElement.returnType = VoidTypeImpl.instance;
- }
+ functionTypeAliasElement.returnType =
+ buildType(serializedTypedef.returnType);
functionTypeAliasElement.type =
new FunctionTypeImpl.forTypedef(functionTypeAliasElement);
functionTypeAliasElement.typeParameters = currentTypeParameters;
« no previous file with comments | « pkg/analyzer/lib/src/summary/prelink.dart ('k') | pkg/analyzer/lib/src/summary/summarize_ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698