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

Unified Diff: compiler/java/com/google/dart/compiler/resolver/ClassElementImplementation.java

Issue 9373059: Multimap replacement (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 10 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 | « no previous file | compiler/java/com/google/dart/compiler/resolver/ElementMap.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: compiler/java/com/google/dart/compiler/resolver/ClassElementImplementation.java
===================================================================
--- compiler/java/com/google/dart/compiler/resolver/ClassElementImplementation.java (revision 4211)
+++ compiler/java/com/google/dart/compiler/resolver/ClassElementImplementation.java (working copy)
@@ -4,8 +4,6 @@
package com.google.dart.compiler.resolver;
-import com.google.common.collect.LinkedHashMultimap;
-import com.google.common.collect.Multimap;
import com.google.dart.compiler.ast.DartClass;
import com.google.dart.compiler.ast.DartDeclaration;
import com.google.dart.compiler.ast.DartStringLiteral;
@@ -39,7 +37,7 @@
private volatile Set<InterfaceType> subtypes;
private final List<ConstructorElement> constructors;
- private final Multimap<String, Element> members;
+ private final ElementMap members;
private final LibraryElement library;
@@ -56,7 +54,7 @@
this.nativeName = nativeName;
this.library = library;
constructors = new ArrayList<ConstructorElement>();
- members = LinkedHashMultimap.create();
+ members = new ElementMap();
interfaces = new ArrayList<InterfaceType>();
if (node != null) {
isInterface = node.isInterface();
@@ -200,7 +198,7 @@
if (member.getModifiers().isOperator()) {
name = "operator " + name;
}
- members.put(name, member);
+ members.add(name, member);
}
void addConstructor(ConstructorElement member) {
@@ -208,7 +206,7 @@
}
void addField(FieldElement member) {
- members.put(member.getName(), member);
+ members.add(member.getName(), member);
}
void addInterface(InterfaceType type) {
@@ -268,33 +266,15 @@
@Override
public Element lookupLocalElement(String name) {
- Iterator<Element> iterator = members.get(name).iterator();
- if (iterator.hasNext()) {
- return iterator.next();
- }
- return null;
+ return members.get(name);
}
FieldElement lookupLocalField(String name) {
- Iterator<Element> iterator = members.get(name).iterator();
- while (iterator.hasNext()) {
- Element element = iterator.next();
- if (ElementKind.of(element).equals(ElementKind.FIELD)) {
- return (FieldElement) element;
- }
- }
- return null;
+ return (FieldElement) members.get(name, ElementKind.FIELD);
}
MethodElement lookupLocalMethod(String name) {
- Iterator<Element> iterator = members.get(name).iterator();
- while (iterator.hasNext()) {
- Element element = iterator.next();
- if (ElementKind.of(element).equals(ElementKind.METHOD)) {
- return (MethodElement) element;
- }
- }
- return null;
+ return (MethodElement) members.get(name, ElementKind.METHOD);
}
public static ClassElementImplementation fromNode(DartClass node, LibraryElement library) {
« no previous file with comments | « no previous file | compiler/java/com/google/dart/compiler/resolver/ElementMap.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698