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

Side by Side Diff: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/TypeResolverVisitor.java

Issue 594843006: Fix for issue 14497 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013, the Dart project authors. 2 * Copyright (c) 2013, the Dart project authors.
3 * 3 *
4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except
5 * in compliance with the License. You may obtain a copy of the License at 5 * in compliance with the License. You may obtain a copy of the License at
6 * 6 *
7 * http://www.eclipse.org/legal/epl-v10.html 7 * http://www.eclipse.org/legal/epl-v10.html
8 * 8 *
9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License 9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 ClassElement definingClass = element.getAncestor(ClassElement.class); 439 ClassElement definingClass = element.getAncestor(ClassElement.class);
440 if (definingClass != null) { 440 if (definingClass != null) {
441 type.setTypeArguments(definingClass.getType().getTypeArguments()); 441 type.setTypeArguments(definingClass.getType().getTypeArguments());
442 } 442 }
443 element.setType(type); 443 element.setType(type);
444 return null; 444 return null;
445 } 445 }
446 446
447 @Override 447 @Override
448 public Void visitFunctionTypeAlias(FunctionTypeAlias node) { 448 public Void visitFunctionTypeAlias(FunctionTypeAlias node) {
449 super.visitFunctionTypeAlias(node);
450 FunctionTypeAliasElementImpl element = (FunctionTypeAliasElementImpl) node.g etElement(); 449 FunctionTypeAliasElementImpl element = (FunctionTypeAliasElementImpl) node.g etElement();
451 element.setReturnType(computeReturnType(node.getReturnType())); 450 if (element.getReturnType() == null) {
451 // Only visit function type aliases once.
452 super.visitFunctionTypeAlias(node);
453 element.setReturnType(computeReturnType(node.getReturnType()));
454 }
452 return null; 455 return null;
453 } 456 }
454 457
455 @Override 458 @Override
456 public Void visitFunctionTypedFormalParameter(FunctionTypedFormalParameter nod e) { 459 public Void visitFunctionTypedFormalParameter(FunctionTypedFormalParameter nod e) {
457 super.visitFunctionTypedFormalParameter(node); 460 super.visitFunctionTypedFormalParameter(node);
458 Element element = node.getIdentifier().getStaticElement(); 461 Element element = node.getIdentifier().getStaticElement();
459 if (element instanceof ParameterElementImpl) { 462 if (element instanceof ParameterElementImpl) {
460 setFunctionTypedParameterType( 463 setFunctionTypedParameterType(
461 (ParameterElementImpl) element, 464 (ParameterElementImpl) element,
(...skipping 917 matching lines...) Expand 10 before | Expand all | Expand 10 after
1379 if (alias != null) { 1382 if (alias != null) {
1380 aliasElement.setTypeParameters(alias.getTypeParameters()); 1383 aliasElement.setTypeParameters(alias.getTypeParameters());
1381 type.setTypeArguments(alias.getType().getTypeArguments()); 1384 type.setTypeArguments(alias.getType().getTypeArguments());
1382 } else { 1385 } else {
1383 type.setTypeArguments(TypeImpl.EMPTY_ARRAY); 1386 type.setTypeArguments(TypeImpl.EMPTY_ARRAY);
1384 } 1387 }
1385 } 1388 }
1386 element.setType(type); 1389 element.setType(type);
1387 } 1390 }
1388 } 1391 }
OLDNEW
« no previous file with comments | « editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/LibraryResolver2.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698