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

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

Issue 14322008: Version 0.4.7.3 . (Closed) Base URL: http://dart.googlecode.com/svn/trunk/dart/
Patch Set: Created 7 years, 8 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 689 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 String dynamicKeyword = Keyword.DYNAMIC.getSyntax(); 700 String dynamicKeyword = Keyword.DYNAMIC.getSyntax();
701 boolean[] detectedRepeatOnIndex = new boolean[typeNames.length]; 701 boolean[] detectedRepeatOnIndex = new boolean[typeNames.length];
702 for (int i = 0; i < detectedRepeatOnIndex.length; i++) { 702 for (int i = 0; i < detectedRepeatOnIndex.length; i++) {
703 detectedRepeatOnIndex[i] = false; 703 detectedRepeatOnIndex[i] = false;
704 } 704 }
705 for (int i = 0; i < typeNames.length; i++) { 705 for (int i = 0; i < typeNames.length; i++) {
706 TypeName typeName = typeNames[i]; 706 TypeName typeName = typeNames[i];
707 String name = typeName.getName().getName(); 707 String name = typeName.getName().getName();
708 if (name.equals(dynamicKeyword)) { 708 if (name.equals(dynamicKeyword)) {
709 reportError(CompileTimeErrorCode.IMPLEMENTS_DYNAMIC, typeName); 709 reportError(CompileTimeErrorCode.IMPLEMENTS_DYNAMIC, typeName);
710 } else if (typeName.getName().getElement().equals(classElement)) { 710 } else {
711 reportError(CompileTimeErrorCode.IMPLEMENTS_SELF, typeName, name); 711 Element element = typeName.getName().getElement();
712 if (element != null && element.equals(classElement)) {
713 reportError(CompileTimeErrorCode.IMPLEMENTS_SELF, typeName, name);
714 }
712 } 715 }
713 if (!detectedRepeatOnIndex[i]) { 716 if (!detectedRepeatOnIndex[i]) {
714 for (int j = i + 1; j < typeNames.length; j++) { 717 for (int j = i + 1; j < typeNames.length; j++) {
718 Element element = typeName.getName().getElement();
715 TypeName typeName2 = typeNames[j]; 719 TypeName typeName2 = typeNames[j];
716 String name2 = typeName2.getName().getName(); 720 Identifier identifier2 = typeName2.getName();
717 if (typeName.getName().getElement().equals(typeName2.getName().getEl ement())) { 721 String name2 = identifier2.getName();
722 Element element2 = identifier2.getElement();
723 if (element != null && element.equals(element2)) {
718 detectedRepeatOnIndex[j] = true; 724 detectedRepeatOnIndex[j] = true;
719 reportError(CompileTimeErrorCode.IMPLEMENTS_REPEATED, typeName2, n ame2); 725 reportError(CompileTimeErrorCode.IMPLEMENTS_REPEATED, typeName2, n ame2);
720 } 726 }
721 } 727 }
722 } 728 }
723 } 729 }
724 if (classElement != null) { 730 if (classElement != null) {
725 classElement.setInterfaces(interfaceTypes); 731 classElement.setInterfaces(interfaceTypes);
726 } 732 }
727 } 733 }
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 if (!namedParameterTypes.isEmpty()) { 824 if (!namedParameterTypes.isEmpty()) {
819 functionType.setNamedParameterTypes(namedParameterTypes); 825 functionType.setNamedParameterTypes(namedParameterTypes);
820 } 826 }
821 if (returnType == null) { 827 if (returnType == null) {
822 functionType.setReturnType(dynamicType); 828 functionType.setReturnType(dynamicType);
823 } else { 829 } else {
824 functionType.setReturnType(returnType.getType()); 830 functionType.setReturnType(returnType.getType());
825 } 831 }
826 } 832 }
827 } 833 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698