/* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.google.devtools.j2objc.jdt; import org.eclipse.jdt.core.dom.IAnnotationBinding; import org.eclipse.jdt.core.dom.IBinding; import org.eclipse.jdt.core.dom.IMethodBinding; import org.eclipse.jdt.core.dom.IPackageBinding; import org.eclipse.jdt.core.dom.ITypeBinding; import org.eclipse.jdt.core.dom.IVariableBinding; /** * Abstract base class for ITypeBinding providing default implementations for * most interface methods. * * @author Keith Stanger */ public abstract class AbstractTypeBinding extends AbstractBinding implements ITypeBinding { @Override public int getKind() { return IBinding.TYPE; } @Override public ITypeBinding createArrayType(int dimension) { throw new AssertionError("not implemented"); } @Override public String getBinaryName() { return getQualifiedName(); } @Override public ITypeBinding getErasure() { return this; } @Override public ITypeBinding[] getInterfaces() { return new ITypeBinding[0]; } @Override public boolean isArray() { return false; } @Override public boolean isClass() { return false; } @Override public boolean isEnum() { return false; } @Override public boolean isFromSource() { return false; } @Override public boolean isGenericType() { return false; } @Override public boolean isInterface() { return false; } @Override public boolean isLocal() { return false; } @Override public boolean isMember() { return false; } @Override public boolean isNested() { return false; } @Override public boolean isNullType() { return false; } @Override public boolean isParameterizedType() { return false; } @Override public boolean isPrimitive() { return false; } @Override public boolean isRawType() { return false; } @Override public boolean isTopLevel() { return true; } @Override public boolean isTypeVariable() { return false; } @Override public boolean isUpperbound() { return false; } @Override public boolean isWildcardType() { return false; } @Override public ITypeBinding getBound() { return null; } @Override public ITypeBinding getGenericTypeOfWildcardType() { return null; } @Override public int getRank() { return -1; } @Override public ITypeBinding getComponentType() { return null; } @Override public IVariableBinding[] getDeclaredFields() { return new IVariableBinding[0]; } @Override public IMethodBinding[] getDeclaredMethods() { return new IMethodBinding[0]; } @Override public int getDeclaredModifiers() { return 0; } @Override public ITypeBinding[] getDeclaredTypes() { return new ITypeBinding[0]; } @Override public ITypeBinding getDeclaringClass() { return null; } @Override public IMethodBinding getDeclaringMethod() { return null; } @Override public int getDimensions() { return 0; } @Override public ITypeBinding getElementType() { return null; } @Override public IPackageBinding getPackage() { return null; } @Override public ITypeBinding getSuperclass() { return null; } @Override public ITypeBinding[] getTypeArguments() { return new ITypeBinding[0]; } @Override public ITypeBinding[] getTypeBounds() { return new ITypeBinding[0]; } @Override public ITypeBinding getTypeDeclaration() { return this; } @Override public ITypeBinding[] getTypeParameters() { return new ITypeBinding[0]; } @Override public ITypeBinding getWildcard() { return null; } @Override public boolean isAnnotation() { return false; } @Override public boolean isAnonymous() { return false; } @Override public boolean isCapture() { return false; } @Override public boolean isCastCompatible(ITypeBinding type) { return isEqualTo(type); } @Override public boolean isSubTypeCompatible(ITypeBinding type) { throw new AssertionError("not implemented"); } @Override public IMethodBinding getFunctionalInterfaceMethod() { return null; } @Override public IAnnotationBinding[] getTypeAnnotations() { return null; } // Internal JDT has a different version than external. @SuppressWarnings("MissingOverride") public IBinding getDeclaringMember() { return null; } }