package java.lang.annotation {
import java.lang.Class__;
import java.lang.Enum;
import java.lang.JavaArray;
import java.lang.System;
public class ElementType extends java.lang.Enum {
  private static var _ANNOTATION_TYPE : java.lang.annotation.ElementType;
  public static function get ANNOTATION_TYPE() : java.lang.annotation.ElementType {
    if (_ANNOTATION_TYPE=== null) {
      _ANNOTATION_TYPE = new ElementType("ANNOTATION_TYPE", 0);
    }
    return _ANNOTATION_TYPE;
  }
  private static var _CONSTRUCTOR : ElementType;
  public static function get CONSTRUCTOR() : ElementType {
    if (_CONSTRUCTOR=== null) {
      _CONSTRUCTOR = new ElementType("CONSTRUCTOR", 1);
    }
    return _CONSTRUCTOR;
  }
  private static var _FIELD : ElementType;
  public static function get FIELD() : ElementType {
    if (_FIELD=== null) {
      _FIELD = new ElementType("FIELD", 2);
    }
    return _FIELD;
  }
  private static var _LOCAL_VARIABLE : ElementType;
  public static function get LOCAL_VARIABLE() : ElementType {
    if (_LOCAL_VARIABLE=== null) {
      _LOCAL_VARIABLE = new ElementType("LOCAL_VARIABLE", 3);
    }
    return _LOCAL_VARIABLE;
  }
  private static var _METHOD : ElementType;
  public static function get METHOD() : ElementType {
    if (_METHOD=== null) {
      _METHOD = new ElementType("METHOD", 4);
    }
    return _METHOD;
  }
  private static var _PACKAGE : ElementType;
  public static function get PACKAGE() : ElementType {
    if (_PACKAGE=== null) {
      _PACKAGE = new ElementType("PACKAGE", 5);
    }
    return _PACKAGE;
  }
  private static var _PARAMETER : ElementType;
  public static function get PARAMETER() : ElementType {
    if (_PARAMETER=== null) {
      _PARAMETER = new ElementType("PARAMETER", 6);
    }
    return _PARAMETER;
  }
  private static var _TYPE : ElementType;
  public static function get TYPE() : ElementType {
    if (_TYPE=== null) {
      _TYPE = new ElementType("TYPE", 7);
    }
    return _TYPE;
  }
  private static var ENUM$VALUES: JavaArray;
  function ElementType(arg0: String, arg1: int) {
    super(arg0, arg1);
    return;
  }
  public static function values(): JavaArray {
    if (ENUM$VALUES === null) {
      var tab : JavaArray = new JavaArray("[Ljava/lang/annotation/ElementType;").lengths(8);
      tab[0] = ANNOTATION_TYPE;
      tab[1] = CONSTRUCTOR;
      tab[2] = FIELD;
      tab[3] = LOCAL_VARIABLE;
      tab[4] = METHOD;
      tab[5] = PACKAGE;
      tab[6] = PARAMETER;
      tab[7] = TYPE;
      ENUM$VALUES = tab;
    }
    var length: int = ENUM$VALUES.length;
    var tab2 : JavaArray = new JavaArray("[Ljava/lang/annotation/ElementType;").lengths(8);
    System.arraycopy__Ljava_lang_Object_2ILjava_lang_Object_2II(ENUM$VALUES, 0, tab2, 0, length);
    return tab2;
  }
  public static function valueOf(arg0: String): ElementType {
    return java.lang.annotation.ElementType(Enum.valueOf__Ljava_lang_Class_2Ljava_lang_String_2(Class__.forName__Ljava_lang_String_2("java.lang.annotation.ElementType"), arg0));
  }
}
}
