Home | History | Annotate | Download | only in psi
      1 /*
      2  * Copyright 2014, Google Inc.
      3  * All rights reserved.
      4  *
      5  * Redistribution and use in source and binary forms, with or without
      6  * modification, are permitted provided that the following conditions are
      7  * met:
      8  *
      9  *     * Redistributions of source code must retain the above copyright
     10  * notice, this list of conditions and the following disclaimer.
     11  *     * Redistributions in binary form must reproduce the above
     12  * copyright notice, this list of conditions and the following disclaimer
     13  * in the documentation and/or other materials provided with the
     14  * distribution.
     15  *     * Neither the name of Google Inc. nor the names of its
     16  * contributors may be used to endorse or promote products derived from
     17  * this software without specific prior written permission.
     18  *
     19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     20  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     21  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     22  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     23  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     24  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     25  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     26  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     27  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     28  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     29  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     30  */
     31 
     32 package org.jf.smalidea.psi;
     33 
     34 import org.jf.smalidea.psi.impl.*;
     35 import org.jf.smalidea.psi.stub.element.*;
     36 
     37 public class SmaliElementTypes {
     38     public static final SmaliFileElementType FILE = SmaliFileElementType.INSTANCE;
     39     public static final SmaliClassElementType CLASS = SmaliClassElementType.INSTANCE;
     40     public static final SmaliFieldElementType FIELD = SmaliFieldElementType.INSTANCE;
     41     public static final SmaliMethodElementType METHOD = SmaliMethodElementType.INSTANCE;
     42     public static final SmaliClassStatementElementType CLASS_STATEMENT = SmaliClassStatementElementType.INSTANCE;
     43     public static final SmaliMethodPrototypeElementType METHOD_PROTOTYPE = SmaliMethodPrototypeElementType.INSTANCE;
     44     public static final SmaliMethodParamListElementType METHOD_PARAM_LIST = SmaliMethodParamListElementType.INSTANCE;
     45     public static final SmaliMethodParameterElementType METHOD_PARAMETER = SmaliMethodParameterElementType.INSTANCE;
     46     public static final SmaliAnnotationElementType ANNOTATION = SmaliAnnotationElementType.INSTANCE;
     47     public static final SmaliModifierListElementType MODIFIER_LIST = SmaliModifierListElementType.INSTANCE;
     48     public static final SmaliExtendsListElementType EXTENDS_LIST = SmaliExtendsListElementType.INSTANCE;
     49     public static final SmaliImplementsListElementType IMPLEMENTS_LIST = SmaliImplementsListElementType.INSTANCE;
     50     public static final SmaliThrowsListElementType THROWS_LIST = SmaliThrowsListElementType.INSTANCE;
     51 
     52     public static final SmaliCompositeElementType LITERAL =
     53             new SmaliCompositeElementType("LITERAL", SmaliLiteral.FACTORY);
     54     public static final SmaliCompositeElementType SUPER_STATEMENT =
     55             new SmaliCompositeElementType("SUPER_STATEMENT", SmaliSuperStatement.FACTORY);
     56     public static final SmaliCompositeElementType IMPLEMENTS_STATEMENT =
     57             new SmaliCompositeElementType("IMPLEMENTS_STATEMENT", SmaliImplementsStatement.FACTORY);
     58     public static final SmaliCompositeElementType SOURCE_STATEMENT =
     59             new SmaliCompositeElementType("SOURCE_STATEMENT", SmaliSourceStatement.FACTORY);
     60     public static final SmaliCompositeElementType REGISTERS_STATEMENT =
     61             new SmaliCompositeElementType("REGISTERS_STATEMENT", SmaliRegistersStatement.FACTORY);
     62     public static final SmaliCompositeElementType REGISTER_REFERENCE =
     63             new SmaliCompositeElementType("REGISTER_REFERENCE", SmaliRegisterReference.FACTORY);
     64     public static final SmaliCompositeElementType MEMBER_NAME =
     65             new SmaliCompositeElementType("MEMBER_NAME", SmaliMemberName.FACTORY);
     66     public static final SmaliCompositeElementType LOCAL_NAME =
     67             new SmaliCompositeElementType("LOCAL_NAME", SmaliLocalName.FACTORY);
     68     public static final SmaliCompositeElementType PARAMETER_STATEMENT =
     69             new SmaliCompositeElementType("PARAMETER_STATEMENT", SmaliParameterStatement.FACTORY);
     70     public static final SmaliCompositeElementType FIELD_INITIALIZER =
     71             new SmaliCompositeElementType("FIELD_INITIALIZER", SmaliFieldInitializer.FACTORY);
     72     public static final SmaliCompositeElementType INSTRUCTION =
     73             new SmaliCompositeElementType("INSTRUCTION", SmaliInstruction.FACTORY);
     74     public static final SmaliCompositeElementType ANNOTATION_PARAMETER_LIST =
     75             new SmaliCompositeElementType("ANNOTATION_PARAMETER_LIST", SmaliAnnotationParameterList.FACTORY);
     76     public static final SmaliCompositeElementType ANNOTATION_ELEMENT =
     77             new SmaliCompositeElementType("ANNOTATION_ELEMENT", SmaliAnnotationElement.FACTORY);
     78     public static final SmaliCompositeElementType ANNOTATION_ELEMENT_NAME =
     79             new SmaliCompositeElementType("ANNOTATION_ELEMENT_NAME", SmaliAnnotationElementName.FACTORY);
     80     public static final SmaliCompositeElementType FIELD_REFERENCE =
     81             new SmaliCompositeElementType("FIELD_REFERENCE", SmaliFieldReference.FACTORY);
     82     public static final SmaliCompositeElementType METHOD_REFERENCE =
     83             new SmaliCompositeElementType("METHOD_REFERENCE", SmaliMethodReference.FACTORY);
     84     public static final SmaliCompositeElementType METHOD_REFERENCE_PARAM_LIST =
     85             new SmaliCompositeElementType("METHOD_REFERENCE_PARAM_LIST", SmaliMethodReferenceParamList.FACTORY);
     86     public static final SmaliCompositeElementType LABEL =
     87             new SmaliCompositeElementType("LABEL", SmaliLabel.FACTORY);
     88     public static final SmaliCompositeElementType LABEL_REFERENCE =
     89             new SmaliCompositeElementType("LABEL_REFERENCE", SmaliLabelReference.FACTORY);
     90     public static final SmaliCompositeElementType LINE_DEBUG_STATEMENT =
     91             new SmaliCompositeElementType("LINE_DEBUG_STATEMENT", SmaliLineDebugStatement.FACTORY);
     92     public static final SmaliCompositeElementType LOCAL_DEBUG_STATEMENT =
     93             new SmaliCompositeElementType("LOCAL_DEBUG_STATEMENT", SmaliLocalDebugStatement.FACTORY);
     94     public static final SmaliCompositeElementType END_LOCAL_DEBUG_STATEMENT =
     95             new SmaliCompositeElementType("END_LOCAL_DEBUG_STATEMENT", SmaliEndLocalDebugStatement.FACTORY);
     96     public static final SmaliCompositeElementType RESTART_LOCAL_DEBUG_STATEMENT =
     97             new SmaliCompositeElementType("RESTART_LOCAL_DEBUG_STATEMENT", SmaliRestartLocalDebugStatement.FACTORY);
     98     public static final SmaliCompositeElementType PROLOGUE_DEBUG_STATEMENT =
     99             new SmaliCompositeElementType("PROLOGUE_DEBUG_STATEMENT", SmaliPrologueDebugStatement.FACTORY);
    100     public static final SmaliCompositeElementType EPILOGUE_DEBUG_STATEMENT =
    101             new SmaliCompositeElementType("EPILOGUE_DEBUG_STATEMENT", SmaliEpilogueDebugStatement.FACTORY);
    102     public static final SmaliCompositeElementType SOURCE_DEBUG_STATEMENT =
    103             new SmaliCompositeElementType("SOURCE_DEBUG_STATEMENT", SmaliSourceDebugStatement.FACTORY);
    104     public static final SmaliCompositeElementType PRIMITIVE_TYPE =
    105             new SmaliCompositeElementType("PRIMITIVE_TYPE", SmaliPrimitiveTypeElement.FACTORY);
    106     public static final SmaliCompositeElementType CLASS_TYPE =
    107             new SmaliCompositeElementType("CLASS_TYPE", SmaliClassTypeElement.FACTORY);
    108     public static final SmaliCompositeElementType ARRAY_TYPE =
    109             new SmaliCompositeElementType("ARRAY_TYPE", SmaliArrayTypeElement.FACTORY);
    110     public static final SmaliCompositeElementType VOID_TYPE =
    111             new SmaliCompositeElementType("VOID_TYPE", SmaliVoidTypeElement.FACTORY);
    112     public static final SmaliCompositeElementType CATCH_STATEMENT =
    113             new SmaliCompositeElementType("CATCH_STATEMENT", SmaliCatchStatement.FACTORY);
    114     public static final SmaliCompositeElementType CATCH_ALL_STATEMENT =
    115             new SmaliCompositeElementType("CATCH_ALL_STATEMENT", SmaliCatchAllStatement.FACTORY);
    116     public static final SmaliCompositeElementType PACKED_SWITCH_ELEMENT =
    117             new SmaliCompositeElementType("PACKED_SWITCH_ELEMENT", SmaliPackedSwitchElement.FACTORY);
    118     public static final SmaliCompositeElementType SPARSE_SWITCH_ELEMENT =
    119             new SmaliCompositeElementType("SPARSE_SWITCH_ELEMENT", SmaliSparseSwitchElement.FACTORY);
    120     public static final SmaliCompositeElementType ARRAY_DATA_ELEMENT =
    121             new SmaliCompositeElementType("ARRAY_DATA_ELEMENT", SmaliArrayDataElement.FACTORY);
    122 }
    123