/*
 * Copyright (C) 2012 The Android Open Source Project
 *
 * 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.android.jack.ir;

import com.android.jack.backend.dex.annotations.AnnotationMethodDefaultValue;
import com.android.jack.ir.ast.JAbsentArrayDimension;
import com.android.jack.ir.ast.JAddOperation;
import com.android.jack.ir.ast.JAndOperation;
import com.android.jack.ir.ast.JAnnotation;
import com.android.jack.ir.ast.JArrayLength;
import com.android.jack.ir.ast.JArrayRef;
import com.android.jack.ir.ast.JArrayType;
import com.android.jack.ir.ast.JAsgAddOperation;
import com.android.jack.ir.ast.JAsgBitAndOperation;
import com.android.jack.ir.ast.JAsgBitOrOperation;
import com.android.jack.ir.ast.JAsgBitXorOperation;
import com.android.jack.ir.ast.JAsgConcatOperation;
import com.android.jack.ir.ast.JAsgDivOperation;
import com.android.jack.ir.ast.JAsgModOperation;
import com.android.jack.ir.ast.JAsgMulOperation;
import com.android.jack.ir.ast.JAsgOperation;
import com.android.jack.ir.ast.JAsgShlOperation;
import com.android.jack.ir.ast.JAsgShrOperation;
import com.android.jack.ir.ast.JAsgShruOperation;
import com.android.jack.ir.ast.JAsgSubOperation;
import com.android.jack.ir.ast.JAssertStatement;
import com.android.jack.ir.ast.JBitAndOperation;
import com.android.jack.ir.ast.JBitOrOperation;
import com.android.jack.ir.ast.JBitXorOperation;
import com.android.jack.ir.ast.JBlock;
import com.android.jack.ir.ast.JBooleanLiteral;
import com.android.jack.ir.ast.JBreakStatement;
import com.android.jack.ir.ast.JByteLiteral;
import com.android.jack.ir.ast.JCaseStatement;
import com.android.jack.ir.ast.JCatchBlock;
import com.android.jack.ir.ast.JCharLiteral;
import com.android.jack.ir.ast.JClassLiteral;
import com.android.jack.ir.ast.JConcatOperation;
import com.android.jack.ir.ast.JConditionalExpression;
import com.android.jack.ir.ast.JConstructor;
import com.android.jack.ir.ast.JContinueStatement;
import com.android.jack.ir.ast.JDefinedAnnotationType;
import com.android.jack.ir.ast.JDefinedClass;
import com.android.jack.ir.ast.JDefinedEnum;
import com.android.jack.ir.ast.JDefinedInterface;
import com.android.jack.ir.ast.JDivOperation;
import com.android.jack.ir.ast.JDoStatement;
import com.android.jack.ir.ast.JDoubleLiteral;
import com.android.jack.ir.ast.JDynamicCastOperation;
import com.android.jack.ir.ast.JEnumField;
import com.android.jack.ir.ast.JEnumLiteral;
import com.android.jack.ir.ast.JEqOperation;
import com.android.jack.ir.ast.JExpressionStatement;
import com.android.jack.ir.ast.JField;
import com.android.jack.ir.ast.JFieldInitializer;
import com.android.jack.ir.ast.JFieldRef;
import com.android.jack.ir.ast.JFloatLiteral;
import com.android.jack.ir.ast.JForStatement;
import com.android.jack.ir.ast.JGtOperation;
import com.android.jack.ir.ast.JGteOperation;
import com.android.jack.ir.ast.JIfStatement;
import com.android.jack.ir.ast.JInstanceOf;
import com.android.jack.ir.ast.JIntLiteral;
import com.android.jack.ir.ast.JLabel;
import com.android.jack.ir.ast.JLabeledStatement;
import com.android.jack.ir.ast.JLambda;
import com.android.jack.ir.ast.JLocal;
import com.android.jack.ir.ast.JLocalRef;
import com.android.jack.ir.ast.JLongLiteral;
import com.android.jack.ir.ast.JLtOperation;
import com.android.jack.ir.ast.JLteOperation;
import com.android.jack.ir.ast.JMethod;
import com.android.jack.ir.ast.JMethodBody;
import com.android.jack.ir.ast.JMethodCall;
import com.android.jack.ir.ast.JModOperation;
import com.android.jack.ir.ast.JMulOperation;
import com.android.jack.ir.ast.JNativeMethodBody;
import com.android.jack.ir.ast.JNeqOperation;
import com.android.jack.ir.ast.JNewArray;
import com.android.jack.ir.ast.JNewInstance;
import com.android.jack.ir.ast.JNullLiteral;
import com.android.jack.ir.ast.JNullType;
import com.android.jack.ir.ast.JOrOperation;
import com.android.jack.ir.ast.JParameter;
import com.android.jack.ir.ast.JParameterRef;
import com.android.jack.ir.ast.JPhantomAnnotationType;
import com.android.jack.ir.ast.JPhantomClass;
import com.android.jack.ir.ast.JPhantomClassOrInterface;
import com.android.jack.ir.ast.JPhantomEnum;
import com.android.jack.ir.ast.JPhantomInterface;
import com.android.jack.ir.ast.JPostfixDecOperation;
import com.android.jack.ir.ast.JPostfixIncOperation;
import com.android.jack.ir.ast.JPrefixBitNotOperation;
import com.android.jack.ir.ast.JPrefixDecOperation;
import com.android.jack.ir.ast.JPrefixIncOperation;
import com.android.jack.ir.ast.JPrefixNegOperation;
import com.android.jack.ir.ast.JPrefixNotOperation;
import com.android.jack.ir.ast.JPrimitiveType.JBooleanType;
import com.android.jack.ir.ast.JPrimitiveType.JByteType;
import com.android.jack.ir.ast.JPrimitiveType.JCharType;
import com.android.jack.ir.ast.JPrimitiveType.JDoubleType;
import com.android.jack.ir.ast.JPrimitiveType.JFloatType;
import com.android.jack.ir.ast.JPrimitiveType.JIntType;
import com.android.jack.ir.ast.JPrimitiveType.JLongType;
import com.android.jack.ir.ast.JPrimitiveType.JShortType;
import com.android.jack.ir.ast.JPrimitiveType.JVoidType;
import com.android.jack.ir.ast.JReturnStatement;
import com.android.jack.ir.ast.JSession;
import com.android.jack.ir.ast.JShlOperation;
import com.android.jack.ir.ast.JShortLiteral;
import com.android.jack.ir.ast.JShrOperation;
import com.android.jack.ir.ast.JShruOperation;
import com.android.jack.ir.ast.JStringLiteral;
import com.android.jack.ir.ast.JSubOperation;
import com.android.jack.ir.ast.JSwitchStatement;
import com.android.jack.ir.ast.JSynchronizedBlock;
import com.android.jack.ir.ast.JThisRef;
import com.android.jack.ir.ast.JThrowStatement;
import com.android.jack.ir.ast.JTryStatement;
import com.android.jack.ir.ast.JWhileStatement;
import com.android.jack.ir.ast.marker.GenericSignature;
import com.android.jack.ir.ast.marker.SimpleName;
import com.android.jack.ir.ast.marker.ThisRefTypeInfo;
import com.android.jack.ir.ast.marker.ThrownExceptionMarker;
import com.android.jack.transformations.EmptyClinit;
import com.android.jack.transformations.ast.BooleanTestOutsideIf;
import com.android.jack.transformations.ast.ImplicitBoxingAndUnboxing;
import com.android.jack.transformations.ast.ImplicitCast;
import com.android.jack.transformations.ast.InitInNewArray;
import com.android.jack.transformations.ast.JPrimitiveClassLiteral;
import com.android.jack.transformations.ast.MultiDimensionNewArray;
import com.android.jack.transformations.ast.removeinit.FieldInitMethod;
import com.android.jack.transformations.ast.removeinit.FieldInitMethodCall;
import com.android.jack.transformations.ast.switches.UselessSwitches;
import com.android.jack.transformations.cast.SourceCast;
import com.android.jack.transformations.lambda.DefaultBridgeIntoInterface;
import com.android.sched.item.AbstractComponent;
import com.android.sched.item.ComposedOf;
import com.android.sched.item.Description;
import com.android.sched.item.Name;

/**
 * Tag containing all JNodes, tags or markers that represent the Java source.
 */
@Name("Java Source IR")
@Description("All JNodes, tags or markers that represent the Java source.")
@ComposedOf({AnnotationMethodDefaultValue.class,
    BooleanTestOutsideIf.class,
    DefaultBridgeIntoInterface.class,
    EmptyClinit.class,
    FieldInitMethod.class,
    FieldInitMethodCall.class,
    ImplicitBoxingAndUnboxing.class,
    ImplicitCast.class,
    InitInNewArray.class,
    JAbsentArrayDimension.class,
    JAddOperation.class,
    JAndOperation.class,
    JAnnotation.class,
    JAnnotation.RepeatedAnnotation.class,
    JArrayLength.class,
    JArrayRef.class,
    JArrayType.class,
    JArrayType.class,
    JAsgAddOperation.class,
    JAsgBitAndOperation.class,
    JAsgBitOrOperation.class,
    JAsgBitXorOperation.class,
    JAsgConcatOperation.class,
    JAsgDivOperation.class,
    JAsgModOperation.class,
    JAsgMulOperation.class,
    JAsgOperation.class,
    JAsgShlOperation.class,
    JAsgShrOperation.class,
    JAsgShruOperation.class,
    JAsgSubOperation.class,
    JAssertStatement.class,
    JBitAndOperation.class,
    JBitOrOperation.class,
    JBitXorOperation.class,
    JBlock.class,
    JBooleanLiteral.class,
    JBooleanType.class,
    JBreakStatement.class,
    JByteLiteral.class,
    JByteType.class,
    JCaseStatement.class,
    JCatchBlock.class,
    JCharLiteral.class,
    JCharType.class,
    JClassLiteral.class,
    JConcatOperation.class,
    JConditionalExpression.class,
    JConstructor.class,
    JContinueStatement.class,
    JDefinedAnnotationType.class,
    JDefinedClass.class,
    JDefinedEnum.class,
    JDefinedInterface.class,
    JDivOperation.class,
    JDoStatement.class,
    JDoubleLiteral.class,
    JDoubleType.class,
    JDynamicCastOperation.class,
    JEnumField.class,
    JEnumLiteral.class,
    JEqOperation.class,
    JExpressionStatement.class,
    JField.class,
    JFieldInitializer.class,
    JFieldRef.class,
    JFloatLiteral.class,
    JFloatType.class,
    JForStatement.class,
    JGteOperation.class,
    JGtOperation.class,
    JIfStatement.class,
    JInstanceOf.class,
    JIntLiteral.class,
    JIntType.class,
    JLabel.class,
    JLabeledStatement.class,
    JLambda.class,
    JLocal.class,
    JLocalRef.class,
    JLongLiteral.class,
    JLongType.class,
    JLteOperation.class,
    JLtOperation.class,
    JMethod.class,
    JMethodBody.class,
    JMethodCall.class,
    JModOperation.class,
    JMulOperation.class,
    JNativeMethodBody.class,
    JNeqOperation.class,
    JNewArray.class,
    JNewInstance.class,
    JNullLiteral.class,
    JNullType.class,
    JOrOperation.class,
    JParameter.class,
    JParameterRef.class,
    JPhantomAnnotationType.class,
    JPhantomClass.class,
    JPhantomClassOrInterface.class,
    JPhantomEnum.class,
    JPhantomInterface.class,
    JPostfixDecOperation.class,
    JPostfixIncOperation.class,
    JPrefixBitNotOperation.class,
    JPrefixDecOperation.class,
    JPrefixIncOperation.class,
    JPrefixNegOperation.class,
    JPrefixNotOperation.class,
    JPrimitiveClassLiteral.class,
    JSession.class,
    JReturnStatement.class,
    JShlOperation.class,
    JShortLiteral.class,
    JShortType.class,
    JShrOperation.class,
    JShruOperation.class,
    JStringLiteral.class,
    JSubOperation.class,
    JSwitchStatement.class,
    JSwitchStatement.SwitchWithEnum.class,
    JSynchronizedBlock.class,
    JThisRef.class,
    JThrowStatement.class,
    JTryStatement.class,
    JTryStatement.FinallyBlock.class,
    JTryStatement.TryWithResourcesForm.class,
    JVoidType.class,
    JWhileStatement.class,
    MultiDimensionNewArray.class,
    GenericSignature.class,
    SimpleName.class,
    SourceCast.class,
    ThisRefTypeInfo.class,
    ThrownExceptionMarker.class,
    UselessSwitches.class})
public class JavaSourceIr implements AbstractComponent {
}
