All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jetbrains.kotlin.psi.stubs.elements.JetStubElementTypes Maven / Gradle / Ivy

There is a newer version: 2.0.0
Show newest version
/*
 * Copyright 2010-2015 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 org.jetbrains.kotlin.psi.stubs.elements;

import com.intellij.psi.tree.TokenSet;
import org.jetbrains.kotlin.psi.*;

import static org.jetbrains.kotlin.JetNodeTypes.SELF_TYPE;

public interface JetStubElementTypes {
    JetFileElementType FILE = new JetFileElementType();

    JetClassElementType CLASS = new JetClassElementType("CLASS");
    JetFunctionElementType FUNCTION = new JetFunctionElementType("FUN");
    JetPropertyElementType PROPERTY = new JetPropertyElementType("PROPERTY");
    JetPropertyAccessorElementType PROPERTY_ACCESSOR = new JetPropertyAccessorElementType("PROPERTY_ACCESSOR");

    JetClassElementType ENUM_ENTRY = new JetClassElementType("ENUM_ENTRY");
    JetObjectElementType OBJECT_DECLARATION = new JetObjectElementType("OBJECT_DECLARATION");
    JetPlaceHolderStubElementType ANONYMOUS_INITIALIZER =
            new JetPlaceHolderStubElementType("ANONYMOUS_INITIALIZER", JetClassInitializer.class);
    JetPlaceHolderStubElementType SECONDARY_CONSTRUCTOR =
            new JetPlaceHolderStubElementType("SECONDARY_CONSTRUCTOR", JetSecondaryConstructor.class);
    JetPlaceHolderStubElementType PRIMARY_CONSTRUCTOR =
            new JetPlaceHolderStubElementType("PRIMARY_CONSTRUCTOR", JetPrimaryConstructor.class);

    JetParameterElementType VALUE_PARAMETER = new JetParameterElementType("VALUE_PARAMETER");
    JetPlaceHolderStubElementType VALUE_PARAMETER_LIST =
            new JetPlaceHolderStubElementType("VALUE_PARAMETER_LIST", JetParameterList.class);

    JetTypeParameterElementType TYPE_PARAMETER = new JetTypeParameterElementType("TYPE_PARAMETER");
    JetPlaceHolderStubElementType TYPE_PARAMETER_LIST =
            new JetPlaceHolderStubElementType("TYPE_PARAMETER_LIST", JetTypeParameterList.class);

    JetAnnotationEntryElementType ANNOTATION_ENTRY = new JetAnnotationEntryElementType("ANNOTATION_ENTRY");
    JetPlaceHolderStubElementType ANNOTATION =
            new JetPlaceHolderStubElementType("ANNOTATION", JetAnnotation.class);

    JetAnnotationUseSiteTargetElementType ANNOTATION_TARGET = new JetAnnotationUseSiteTargetElementType("ANNOTATION_TARGET");

    JetPlaceHolderStubElementType CLASS_BODY =
            new JetPlaceHolderStubElementType("CLASS_BODY", JetClassBody.class);

    JetPlaceHolderStubElementType IMPORT_LIST =
            new JetPlaceHolderStubElementType("IMPORT_LIST", JetImportList.class);

    JetPlaceHolderStubElementType FILE_ANNOTATION_LIST =
            new JetPlaceHolderStubElementType("FILE_ANNOTATION_LIST", JetFileAnnotationList.class);

    JetImportDirectiveElementType IMPORT_DIRECTIVE = new JetImportDirectiveElementType("IMPORT_DIRECTIVE");

    JetPlaceHolderStubElementType PACKAGE_DIRECTIVE =
            new JetPlaceHolderStubElementType("PACKAGE_DIRECTIVE", JetPackageDirective.class);

    JetModifierListElementType MODIFIER_LIST =
            new JetModifierListElementType("MODIFIER_LIST", JetDeclarationModifierList.class);

    JetPlaceHolderStubElementType TYPE_CONSTRAINT_LIST =
            new JetPlaceHolderStubElementType("TYPE_CONSTRAINT_LIST", JetTypeConstraintList.class);

    JetPlaceHolderStubElementType TYPE_CONSTRAINT =
            new JetPlaceHolderStubElementType("TYPE_CONSTRAINT", JetTypeConstraint.class);

    JetPlaceHolderStubElementType NULLABLE_TYPE =
            new JetPlaceHolderStubElementType("NULLABLE_TYPE", JetNullableType.class);

    JetPlaceHolderStubElementType TYPE_REFERENCE =
            new JetPlaceHolderStubElementType("TYPE_REFERENCE", JetTypeReference.class);

    JetUserTypeElementType USER_TYPE = new JetUserTypeElementType("USER_TYPE");
    JetPlaceHolderStubElementType DYNAMIC_TYPE =
            new JetPlaceHolderStubElementType("DYNAMIC_TYPE", JetDynamicType.class);

    JetPlaceHolderStubElementType FUNCTION_TYPE =
            new JetPlaceHolderStubElementType("FUNCTION_TYPE", JetFunctionType.class);

    JetTypeProjectionElementType TYPE_PROJECTION = new JetTypeProjectionElementType("TYPE_PROJECTION");

    JetPlaceHolderStubElementType FUNCTION_TYPE_RECEIVER =
            new JetPlaceHolderStubElementType("FUNCTION_TYPE_RECEIVER", JetFunctionTypeReceiver.class);

    JetNameReferenceExpressionElementType REFERENCE_EXPRESSION = new JetNameReferenceExpressionElementType("REFERENCE_EXPRESSION");
    JetDotQualifiedExpressionElementType DOT_QUALIFIED_EXPRESSION = new JetDotQualifiedExpressionElementType("DOT_QUALIFIED_EXPRESSION");
    JetEnumEntrySuperClassReferenceExpressionElementType
            ENUM_ENTRY_SUPERCLASS_REFERENCE_EXPRESSION = new JetEnumEntrySuperClassReferenceExpressionElementType("ENUM_ENTRY_SUPERCLASS_REFERENCE_EXPRESSION");
    JetPlaceHolderStubElementType TYPE_ARGUMENT_LIST =
            new JetPlaceHolderStubElementType("TYPE_ARGUMENT_LIST", JetTypeArgumentList.class);

    JetPlaceHolderStubElementType DELEGATION_SPECIFIER_LIST =
            new JetPlaceHolderStubElementType("DELEGATION_SPECIFIER_LIST", JetDelegationSpecifierList.class);

    JetPlaceHolderStubElementType INITIALIZER_LIST =
            new JetPlaceHolderStubElementType("INITIALIZER_LIST", JetInitializerList.class);

    JetPlaceHolderStubElementType DELEGATOR_BY =
            new JetPlaceHolderStubElementType("DELEGATOR_BY", JetDelegatorByExpressionSpecifier.class);

    JetPlaceHolderStubElementType DELEGATOR_SUPER_CALL =
            new JetPlaceHolderStubElementType("DELEGATOR_SUPER_CALL", JetDelegatorToSuperCall.class);
    JetPlaceHolderStubElementType DELEGATOR_SUPER_CLASS =
            new JetPlaceHolderStubElementType("DELEGATOR_SUPER_CLASS", JetDelegatorToSuperClass.class);
    JetPlaceHolderStubElementType CONSTRUCTOR_CALLEE =
            new JetPlaceHolderStubElementType("CONSTRUCTOR_CALLEE", JetConstructorCalleeExpression.class);

    TokenSet DECLARATION_TYPES =
            TokenSet.create(CLASS, OBJECT_DECLARATION, FUNCTION, PROPERTY, ANONYMOUS_INITIALIZER, SECONDARY_CONSTRUCTOR, ENUM_ENTRY);

    TokenSet DELEGATION_SPECIFIER_TYPES = TokenSet.create(DELEGATOR_BY, DELEGATOR_SUPER_CALL, DELEGATOR_SUPER_CLASS);

    TokenSet TYPE_ELEMENT_TYPES = TokenSet.create(USER_TYPE, NULLABLE_TYPE, FUNCTION_TYPE, DYNAMIC_TYPE, SELF_TYPE);

    TokenSet INSIDE_DIRECTIVE_EXPRESSIONS = TokenSet.create(REFERENCE_EXPRESSION, DOT_QUALIFIED_EXPRESSION);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy