/* * Copyright 2000-2013 JetBrains s.r.o. * * 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.intellij.psi.impl.java.stubs; import com.intellij.lang.ASTNode; import com.intellij.psi.impl.source.JavaFileElementType; import com.intellij.psi.impl.source.tree.JavaElementType; import com.intellij.psi.impl.source.tree.java.*; import com.intellij.psi.tree.IStubFileElementType; import org.jetbrains.annotations.NotNull; /** * @author max */ public interface JavaStubElementTypes { JavaModifierListElementType MODIFIER_LIST = new JavaModifierListElementType(); JavaAnnotationElementType ANNOTATION = new JavaAnnotationElementType(); JavaAnnotationParameterListType ANNOTATION_PARAMETER_LIST = new JavaAnnotationParameterListType(); JavaNameValuePairType NAME_VALUE_PAIR = new JavaNameValuePairType(); JavaParameterListElementType PARAMETER_LIST = new JavaParameterListElementType(); JavaTypeParameterElementType TYPE_PARAMETER = new JavaTypeParameterElementType(); JavaTypeParameterListElementType TYPE_PARAMETER_LIST = new JavaTypeParameterListElementType(); JavaClassInitializerElementType CLASS_INITIALIZER = new JavaClassInitializerElementType(); JavaImportListElementType IMPORT_LIST = new JavaImportListElementType(); JavaParameterElementType PARAMETER = new JavaParameterElementType("PARAMETER") { @NotNull @Override public ASTNode createCompositeNode() { return new ParameterElement(JavaElementType.PARAMETER); } }; JavaParameterElementType RECEIVER_PARAMETER = new JavaParameterElementType("RECEIVER") { @NotNull @Override public ASTNode createCompositeNode() { return new ParameterElement(JavaElementType.RECEIVER_PARAMETER); } }; JavaClassElementType CLASS = new JavaClassElementType("CLASS") { @NotNull @Override public ASTNode createCompositeNode() { return new ClassElement(this); } }; JavaClassElementType ANONYMOUS_CLASS = new JavaClassElementType("ANONYMOUS_CLASS") { @NotNull @Override public ASTNode createCompositeNode() { return new AnonymousClassElement(); } }; JavaClassElementType ENUM_CONSTANT_INITIALIZER = new JavaClassElementType("ENUM_CONSTANT_INITIALIZER") { @NotNull @Override public ASTNode createCompositeNode() { return new EnumConstantInitializerElement(); } }; JavaMethodElementType METHOD = new JavaMethodElementType("METHOD") { @NotNull @Override public ASTNode createCompositeNode() { return new MethodElement(); } }; JavaMethodElementType ANNOTATION_METHOD = new JavaMethodElementType("ANNOTATION_METHOD") { @NotNull @Override public ASTNode createCompositeNode() { return new AnnotationMethodElement(); } }; JavaFieldStubElementType FIELD = new JavaFieldStubElementType("FIELD") { @NotNull @Override public ASTNode createCompositeNode() { return new FieldElement(); } }; JavaFieldStubElementType ENUM_CONSTANT = new JavaFieldStubElementType("ENUM_CONSTANT") { @NotNull @Override public ASTNode createCompositeNode() { return new EnumConstantElement(); } }; JavaClassReferenceListElementType EXTENDS_LIST = new JavaClassReferenceListElementType("EXTENDS_LIST") { @NotNull @Override public ASTNode createCompositeNode() { return new ExtendsListElement(); } }; JavaClassReferenceListElementType IMPLEMENTS_LIST = new JavaClassReferenceListElementType("IMPLEMENTS_LIST") { @NotNull @Override public ASTNode createCompositeNode() { return new ImplementsListElement(); } }; JavaClassReferenceListElementType THROWS_LIST = new JavaClassReferenceListElementType("THROWS_LIST") { @NotNull @Override public ASTNode createCompositeNode() { return new PsiThrowsListImpl(); } }; JavaClassReferenceListElementType EXTENDS_BOUND_LIST = new JavaClassReferenceListElementType("EXTENDS_BOUND_LIST") { @NotNull @Override public ASTNode createCompositeNode() { return new TypeParameterExtendsBoundsListElement(); } }; JavaImportStatementElementType IMPORT_STATEMENT = new JavaImportStatementElementType("IMPORT_STATEMENT") { @NotNull @Override public ASTNode createCompositeNode() { return new ImportStatementElement(); } }; JavaImportStatementElementType IMPORT_STATIC_STATEMENT = new JavaImportStatementElementType("IMPORT_STATIC_STATEMENT") { @NotNull @Override public ASTNode createCompositeNode() { return new ImportStaticStatementElement(); } }; IStubFileElementType JAVA_FILE = new JavaFileElementType(); }