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

Unified Diff: pkg/analyzer/lib/src/generated/resolver.dart

Issue 2003863002: Issue 26466. Limited fix to pass on the dart:html test case. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Rollback the SDK change. 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/dart/element/element.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/generated/resolver.dart
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index 7f9657f9c18b210c6eb2e100cfe8692f8ffa8e63..8f0038abd93fdb634df6c3596d64bb03e0241e69 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -6301,8 +6301,11 @@ class ResolverVisitor extends ScopedVisitor {
}
// Clone the ASTs for default formal parameters, so that we can use them
// during constant evaluation.
- (element as ConstVariableElement).constantInitializer =
- new ConstantAstCloner().cloneNode(node.defaultValue);
+ if (!LibraryElementImpl.hasResolutionCapability(
+ definingLibrary, LibraryResolutionCapability.constantExpressions)) {
+ (element as ConstVariableElement).constantInitializer =
+ new ConstantAstCloner().cloneNode(node.defaultValue);
+ }
return null;
}
@@ -9190,15 +9193,20 @@ class TypeParameterBoundsResolver {
for (TypeParameter typeParameter in typeParameters.typeParameters) {
TypeName bound = typeParameter.bound;
if (bound != null) {
- libraryScope ??= new LibraryScope(library, errorListener);
- typeParametersScope ??= createTypeParametersScope();
- typeNameResolver ??= new TypeNameResolver(new TypeSystemImpl(),
- typeProvider, library, source, errorListener);
- typeNameResolver.nameScope = typeParametersScope;
- _resolveTypeName(bound);
Element typeParameterElement = typeParameter.name.staticElement;
if (typeParameterElement is TypeParameterElementImpl) {
- typeParameterElement.bound = bound.type;
+ if (LibraryElementImpl.hasResolutionCapability(
+ library, LibraryResolutionCapability.resolvedTypeNames)) {
+ bound.type = typeParameterElement.bound;
+ } else {
+ libraryScope ??= new LibraryScope(library, errorListener);
+ typeParametersScope ??= createTypeParametersScope();
+ typeNameResolver ??= new TypeNameResolver(new TypeSystemImpl(),
+ typeProvider, library, source, errorListener);
+ typeNameResolver.nameScope = typeParametersScope;
+ _resolveTypeName(bound);
+ typeParameterElement.bound = bound.type;
+ }
}
}
}
« no previous file with comments | « pkg/analyzer/lib/src/dart/element/element.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698