01: /*******************************************************************************
02: * Copyright (c) 2005, 2007 BEA Systems, Inc.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * tyeung@bea.com - initial API and implementation
10: *******************************************************************************/package org.eclipse.jdt.apt.core.internal.declaration;
11:
12: import com.sun.mirror.declaration.InterfaceDeclaration;
13: import com.sun.mirror.declaration.MethodDeclaration;
14: import com.sun.mirror.type.InterfaceType;
15: import com.sun.mirror.util.DeclarationVisitor;
16: import com.sun.mirror.util.TypeVisitor;
17: import java.util.Collection;
18:
19: import org.eclipse.jdt.apt.core.internal.env.BaseProcessorEnv;
20: import org.eclipse.jdt.core.dom.ITypeBinding;
21:
22: public class InterfaceDeclarationImpl extends TypeDeclarationImpl
23: implements InterfaceDeclaration, InterfaceType {
24: public InterfaceDeclarationImpl(final ITypeBinding binding,
25: final BaseProcessorEnv env) {
26: super (binding, env);
27: assert binding.isInterface() : "binding does not represents an interface."; //$NON-NLS-1$
28: }
29:
30: public void accept(DeclarationVisitor visitor) {
31: visitor.visitInterfaceDeclaration(this );
32: }
33:
34: public Collection<? extends MethodDeclaration> getMethods() {
35: return _getMethods();
36: }
37:
38: // start of implementation of InterfaceType API
39: public void accept(TypeVisitor visitor) {
40: visitor.visitInterfaceType(this );
41: }
42:
43: public InterfaceDeclaration getDeclaration() {
44: return (InterfaceDeclaration) super .getDeclaration();
45: }
46:
47: // end of implementation of InterfaceType API
48:
49: public MirrorKind kind() {
50: return MirrorKind.TYPE_INTERFACE;
51: }
52: }
|