Chromium Code Reviews| Index: compiler/java/com/google/dart/compiler/resolver/LibraryPrefixElementImplementation.java |
| diff --git a/compiler/java/com/google/dart/compiler/resolver/LibraryPrefixElementImplementation.java b/compiler/java/com/google/dart/compiler/resolver/LibraryPrefixElementImplementation.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..6b525218ff74212fd16766b0126e1a4d80ba68d6 |
| --- /dev/null |
| +++ b/compiler/java/com/google/dart/compiler/resolver/LibraryPrefixElementImplementation.java |
| @@ -0,0 +1,73 @@ |
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +package com.google.dart.compiler.resolver; |
| + |
| +import com.google.common.collect.Lists; |
| + |
| +import java.util.Collection; |
| +import java.util.List; |
| + |
| +class LibraryPrefixElementImplementation extends AbstractNodeElement implements |
| + LibraryPrefixElement { |
| + |
| + private final List<LibraryElement> libraries = Lists.newArrayList(); |
| + private final Scope scope; |
| + |
| + public LibraryPrefixElementImplementation(String name, Scope parent) { |
| + super(null, name); |
| + scope = new Scope("prefix:" + name, parent.getLibrary()); |
| +// scope = new Scope(name, parent.getLibrary()) { |
|
zundel
2012/04/21 00:41:17
remove commented out code
|
| +// @Override |
| +// public Map<String, Element> getElements() { |
| +// throw new RuntimeException("Not implemented"); |
| +// } |
| +// |
| +// @Override |
| +// public Element findLocalElement(String name) { |
| +// for (LibraryElement library : libraries) { |
| +// Element element = library.getScope().findLocalElement(name); |
| +// if (element != null) { |
| +// return element; |
| +// } |
| +// } |
| +// return null; |
| +// } |
| +// }; |
| + } |
| + |
| + @Override |
| + public boolean isInterface() { |
| + return false; |
| + } |
| + |
| + @Override |
| + public Scope getScope() { |
| + return scope; |
| + } |
| + |
| + @Override |
| + public ElementKind getKind() { |
| + return ElementKind.LIBRARY_PREFIX; |
| + } |
| + |
| + @Override |
| + public Collection<Element> getMembers() { |
| + return scope.getElements().values(); |
| + } |
| + |
| + @Override |
| + public Element lookupLocalElement(String name) { |
| + return scope.findLocalElement(name); |
| + } |
| + |
| + public void addLibrary(LibraryElement library) { |
| + libraries.add(library); |
| + } |
| + |
| + @Override |
| + public List<LibraryElement> getLibraries() { |
| + return libraries; |
| + } |
| +} |