public class jdk.jfr.internal.Type implements java.lang.Comparable<jdk.jfr.internal.Type>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.jfr.internal.Type
  super_class: java.lang.Object
{
  public static final java.lang.String SUPER_TYPE_ANNOTATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String SUPER_TYPE_SETTING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String SUPER_TYPE_EVENT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String EVENT_NAME_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jdk."

  public static final java.lang.String TYPES_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jdk.types."

  public static final java.lang.String SETTINGS_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jdk.settings."

  private static final java.util.Map<jdk.jfr.internal.Type, java.lang.Class<?>> knownTypes;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljdk/jfr/internal/Type;Ljava/lang/Class<*>;>;

  static final jdk.jfr.internal.Type BOOLEAN;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.jfr.internal.Type CHAR;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.jfr.internal.Type FLOAT;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.jfr.internal.Type DOUBLE;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.jfr.internal.Type BYTE;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.jfr.internal.Type SHORT;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.jfr.internal.Type INT;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.jfr.internal.Type LONG;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.jfr.internal.Type CLASS;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.jfr.internal.Type STRING;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.jfr.internal.Type THREAD;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.jfr.internal.Type STACK_TRACE;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private final jdk.jfr.internal.AnnotationConstruct annos;
    descriptor: Ljdk/jfr/internal/AnnotationConstruct;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String superType;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.List<jdk.jfr.ValueDescriptor> fields;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;

  private java.lang.Boolean simpleType;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private boolean remove;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private long id;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 49
            ldc Ljava/lang/annotation/Annotation;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putstatic jdk.jfr.internal.Type.SUPER_TYPE_ANNOTATION:Ljava/lang/String;
         1: .line 50
            ldc Ljdk/jfr/SettingControl;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putstatic jdk.jfr.internal.Type.SUPER_TYPE_SETTING:Ljava/lang/String;
         2: .line 51
            ldc Ljdk/jfr/Event;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putstatic jdk.jfr.internal.Type.SUPER_TYPE_EVENT:Ljava/lang/String;
         3: .line 60
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putstatic jdk.jfr.internal.Type.knownTypes:Ljava/util/Map;
         4: .line 61
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.BOOLEAN:Ljdk/jfr/internal/Type;
         5: .line 62
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.CHAR:Ljdk/jfr/internal/Type;
         6: .line 63
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.FLOAT:Ljdk/jfr/internal/Type;
         7: .line 64
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.DOUBLE:Ljdk/jfr/internal/Type;
         8: .line 65
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.BYTE:Ljdk/jfr/internal/Type;
         9: .line 66
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.SHORT:Ljdk/jfr/internal/Type;
        10: .line 67
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.INT:Ljdk/jfr/internal/Type;
        11: .line 68
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.LONG:Ljdk/jfr/internal/Type;
        12: .line 69
            ldc Ljava/lang/Class;
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.CLASS:Ljdk/jfr/internal/Type;
        13: .line 70
            ldc Ljava/lang/String;
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.STRING:Ljdk/jfr/internal/Type;
        14: .line 71
            ldc Ljava/lang/Thread;
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.THREAD:Ljdk/jfr/internal/Type;
        15: .line 72
            ldc "jdk.types.StackTrace"
            aconst_null
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/String;Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.Type.STACK_TRACE:Ljdk/jfr/internal/Type;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static jdk.jfr.internal.Type createKnownType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/jfr/internal/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 75
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 0 /* clazz */
            invokestatic jdk.jfr.internal.Type.createKnownType:(Ljava/lang/String;Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljdk/jfr/internal/Type;
    MethodParameters:
       Name  Flags
      clazz  

  private static jdk.jfr.internal.Type createKnownType(java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljdk/jfr/internal/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.Class clazz
         0: .line 79
            invokestatic jdk.jfr.internal.JVM.getJVM:()Ljdk/jfr/internal/JVM;
            aload 0 /* name */
            invokevirtual jdk.jfr.internal.JVM.getTypeId:(Ljava/lang/String;)J
            lstore 2 /* id */
        start local 2 // long id
         1: .line 80
            new jdk.jfr.internal.Type
            dup
            aload 0 /* name */
            aconst_null
            lload 2 /* id */
            invokespecial jdk.jfr.internal.Type.<init>:(Ljava/lang/String;Ljava/lang/String;J)V
            astore 4 /* t */
        start local 4 // jdk.jfr.internal.Type t
         2: .line 81
            getstatic jdk.jfr.internal.Type.knownTypes:Ljava/util/Map;
            aload 4 /* t */
            aload 1 /* clazz */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 82
            aload 4 /* t */
            areturn
        end local 4 // jdk.jfr.internal.Type t
        end local 2 // long id
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   name  Ljava/lang/String;
            0    4     1  clazz  Ljava/lang/Class<*>;
            1    4     2     id  J
            2    4     4      t  Ljdk/jfr/internal/Type;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;)Ljdk/jfr/internal/Type;
    MethodParameters:
       Name  Flags
      name   
      clazz  

  public void <init>(java.lang.String, java.lang.String, long);
    descriptor: (Ljava/lang/String;Ljava/lang/String;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // java.lang.String javaTypeName
        start local 2 // java.lang.String superType
        start local 3 // long typeId
         0: .line 102
            aload 0 /* this */
            aload 1 /* javaTypeName */
            aload 2 /* superType */
            lload 3 /* typeId */
            aconst_null
            invokespecial jdk.jfr.internal.Type.<init>:(Ljava/lang/String;Ljava/lang/String;JLjava/lang/Boolean;)V
         1: .line 103
            return
        end local 3 // long typeId
        end local 2 // java.lang.String superType
        end local 1 // java.lang.String javaTypeName
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/jfr/internal/Type;
            0    2     1  javaTypeName  Ljava/lang/String;
            0    2     2     superType  Ljava/lang/String;
            0    2     3        typeId  J
    MethodParameters:
              Name  Flags
      javaTypeName  
      superType     
      typeId        

  void <init>(java.lang.String, java.lang.String, long, java.lang.Boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;JLjava/lang/Boolean;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // java.lang.String javaTypeName
        start local 2 // java.lang.String superType
        start local 3 // long typeId
        start local 5 // java.lang.Boolean simpleType
         0: .line 105
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 85
            aload 0 /* this */
            new jdk.jfr.internal.AnnotationConstruct
            dup
            invokespecial jdk.jfr.internal.AnnotationConstruct.<init>:()V
            putfield jdk.jfr.internal.Type.annos:Ljdk/jfr/internal/AnnotationConstruct;
         2: .line 88
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.jfr.internal.Type.fields:Ljava/util/List;
         3: .line 90
            aload 0 /* this */
            iconst_1
            putfield jdk.jfr.internal.Type.remove:Z
         4: .line 106
            aload 1 /* javaTypeName */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 108
            aload 1 /* javaTypeName */
            invokestatic jdk.jfr.internal.Type.isValidJavaIdentifier:(Ljava/lang/String;)Z
            ifne 7
         6: .line 109
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* javaTypeName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not a valid Java identifier"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 111
      StackMap locals: jdk.jfr.internal.Type java.lang.String java.lang.String long java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            aload 2 /* superType */
            putfield jdk.jfr.internal.Type.superType:Ljava/lang/String;
         8: .line 112
            aload 0 /* this */
            aload 1 /* javaTypeName */
            putfield jdk.jfr.internal.Type.name:Ljava/lang/String;
         9: .line 113
            aload 0 /* this */
            lload 3 /* typeId */
            putfield jdk.jfr.internal.Type.id:J
        10: .line 114
            aload 0 /* this */
            aload 5 /* simpleType */
            putfield jdk.jfr.internal.Type.simpleType:Ljava/lang/Boolean;
        11: .line 115
            return
        end local 5 // java.lang.Boolean simpleType
        end local 3 // long typeId
        end local 2 // java.lang.String superType
        end local 1 // java.lang.String javaTypeName
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Ljdk/jfr/internal/Type;
            0   12     1  javaTypeName  Ljava/lang/String;
            0   12     2     superType  Ljava/lang/String;
            0   12     3        typeId  J
            0   12     5    simpleType  Ljava/lang/Boolean;
    MethodParameters:
              Name  Flags
      javaTypeName  
      superType     
      typeId        
      simpleType    

  static boolean isDefinedByJVM(long);
    descriptor: (J)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long id
         0: .line 118
            lload 0 /* id */
            ldc 500
            lcmp
            ifge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long id
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    id  J
    MethodParameters:
      Name  Flags
      id    

  public static long getTypeId(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 122
            aload 0 /* clazz */
            invokestatic jdk.jfr.internal.Type.getKnownType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            astore 1 /* type */
        start local 1 // jdk.jfr.internal.Type type
         1: .line 123
            aload 1 /* type */
            ifnonnull 2
            invokestatic jdk.jfr.internal.JVM.getJVM:()Ljdk/jfr/internal/JVM;
            aload 0 /* clazz */
            invokevirtual jdk.jfr.internal.JVM.getTypeId:(Ljava/lang/Class;)J
            goto 3
      StackMap locals: jdk.jfr.internal.Type
      StackMap stack:
         2: aload 1 /* type */
            invokevirtual jdk.jfr.internal.Type.getId:()J
      StackMap locals:
      StackMap stack: long
         3: lreturn
        end local 1 // jdk.jfr.internal.Type type
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  clazz  Ljava/lang/Class<*>;
            1    4     1   type  Ljdk/jfr/internal/Type;
    Signature: (Ljava/lang/Class<*>;)J
    MethodParameters:
       Name  Flags
      clazz  

  static java.util.Collection<jdk.jfr.internal.Type> getKnownTypes();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 127
            getstatic jdk.jfr.internal.Type.knownTypes:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Collection<Ljdk/jfr/internal/Type;>;

  public static boolean isValidJavaIdentifier(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String identifier
         0: .line 131
            aload 0 /* identifier */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 132
            iconst_0
            ireturn
         2: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* identifier */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
            ifne 4
         3: .line 135
            iconst_0
            ireturn
         4: .line 137
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         5: goto 11
         6: .line 138
      StackMap locals: int
      StackMap stack:
            aload 0 /* identifier */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c */
        start local 2 // char c
         7: .line 139
            iload 2 /* c */
            bipush 46
            if_icmpeq 10
         8: .line 140
            iload 2 /* c */
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifne 10
         9: .line 141
            iconst_0
            ireturn
        end local 2 // char c
        10: .line 137
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 1 /* i */
            aload 0 /* identifier */
            invokevirtual java.lang.String.length:()I
            if_icmplt 6
        end local 1 // int i
        12: .line 145
            iconst_1
            ireturn
        end local 0 // java.lang.String identifier
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0  identifier  Ljava/lang/String;
            5   12     1           i  I
            7   10     2           c  C
    MethodParameters:
            Name  Flags
      identifier  

  public static boolean isValidJavaFieldType(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.String name
         0: .line 149
            getstatic jdk.jfr.internal.Type.knownTypes:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         2: .line 150
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 3 /* clazz */
        start local 3 // java.lang.Class clazz
         3: .line 151
            aload 3 /* clazz */
            ifnull 5
            aload 0 /* name */
            aload 3 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 152
            iconst_1
            ireturn
        end local 3 // java.lang.Class clazz
        end local 1 // java.util.Map$Entry entry
         5: .line 149
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 155
            iconst_0
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   name  Ljava/lang/String;
            2    5     1  entry  Ljava/util/Map$Entry<Ljdk/jfr/internal/Type;Ljava/lang/Class<*>;>;
            3    5     3  clazz  Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  public static jdk.jfr.internal.Type getKnownType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jfr/internal/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String typeName
         0: .line 159
            getstatic jdk.jfr.internal.Type.knownTypes:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.internal.Type
            astore 1 /* type */
        start local 1 // jdk.jfr.internal.Type type
         2: .line 160
            aload 1 /* type */
            invokevirtual jdk.jfr.internal.Type.getName:()Ljava/lang/String;
            aload 0 /* typeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 161
            aload 1 /* type */
            areturn
        end local 1 // jdk.jfr.internal.Type type
         4: .line 159
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 164
            aconst_null
            areturn
        end local 0 // java.lang.String typeName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  typeName  Ljava/lang/String;
            2    4     1      type  Ljdk/jfr/internal/Type;
    MethodParameters:
          Name  Flags
      typeName  

  static boolean isKnownType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class type
         0: .line 168
            aload 0 /* type */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 2
         1: .line 169
            iconst_1
            ireturn
         2: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            ldc Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 3
            aload 0 /* type */
            ldc Ljava/lang/Thread;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 3
            aload 0 /* type */
            ldc Ljava/lang/String;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 172
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 174
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      type  

  public static jdk.jfr.internal.Type getKnownType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/jfr/internal/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 178
            getstatic jdk.jfr.internal.Type.knownTypes:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: java.lang.Class top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         2: .line 179
            aload 0 /* clazz */
            ifnull 4
            aload 0 /* clazz */
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 180
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast jdk.jfr.internal.Type
            areturn
        end local 1 // java.util.Map$Entry entry
         4: .line 178
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 183
            aconst_null
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  clazz  Ljava/lang/Class<*>;
            2    4     1  entry  Ljava/util/Map$Entry<Ljdk/jfr/internal/Type;Ljava/lang/Class<*>;>;
    Signature: (Ljava/lang/Class<*>;)Ljdk/jfr/internal/Type;
    MethodParameters:
       Name  Flags
      clazz  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 187
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.name:Ljava/lang/String;
            areturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/Type;

  public java.lang.String getLogName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 191
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.getId:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/Type;

  public jdk.jfr.ValueDescriptor getField(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jfr/ValueDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // java.lang.String name
         0: .line 195
            aload 1 /* name */
            ldc "."
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* dotIndex */
        start local 2 // int dotIndex
         1: .line 196
            iload 2 /* dotIndex */
            ifle 8
         2: .line 197
            aload 1 /* name */
            iconst_0
            iload 2 /* dotIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* pre */
        start local 3 // java.lang.String pre
         3: .line 198
            aload 1 /* name */
            iload 2 /* dotIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* post */
        start local 4 // java.lang.String post
         4: .line 199
            aload 0 /* this */
            aload 3 /* pre */
            invokevirtual jdk.jfr.internal.Type.getField:(Ljava/lang/String;)Ljdk/jfr/ValueDescriptor;
            astore 5 /* subField */
        start local 5 // jdk.jfr.ValueDescriptor subField
         5: .line 200
            aload 5 /* subField */
            ifnull 13
         6: .line 201
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 5 /* subField */
            invokevirtual jdk.jfr.internal.PrivateAccess.getType:(Ljava/lang/Object;)Ljdk/jfr/internal/Type;
            astore 6 /* type */
        start local 6 // jdk.jfr.internal.Type type
         7: .line 202
            aload 6 /* type */
            aload 4 /* post */
            invokevirtual jdk.jfr.internal.Type.getField:(Ljava/lang/String;)Ljdk/jfr/ValueDescriptor;
            areturn
        end local 6 // jdk.jfr.internal.Type type
        end local 5 // jdk.jfr.ValueDescriptor subField
        end local 4 // java.lang.String post
        end local 3 // java.lang.String pre
         8: .line 205
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.getFields:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: jdk.jfr.internal.Type java.lang.String int top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.ValueDescriptor
            astore 3 /* v */
        start local 3 // jdk.jfr.ValueDescriptor v
        10: .line 206
            aload 1 /* name */
            aload 3 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 207
            aload 3 /* v */
            areturn
        end local 3 // jdk.jfr.ValueDescriptor v
        12: .line 205
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 211
      StackMap locals: jdk.jfr.internal.Type java.lang.String int
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int dotIndex
        end local 1 // java.lang.String name
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Ljdk/jfr/internal/Type;
            0   14     1      name  Ljava/lang/String;
            1   14     2  dotIndex  I
            3    8     3       pre  Ljava/lang/String;
            4    8     4      post  Ljava/lang/String;
            5    8     5  subField  Ljdk/jfr/ValueDescriptor;
            7    8     6      type  Ljdk/jfr/internal/Type;
           10   12     3         v  Ljdk/jfr/ValueDescriptor;
    MethodParameters:
      Name  Flags
      name  

  public java.util.List<jdk.jfr.ValueDescriptor> getFields();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 215
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.fields:Ljava/util/List;
            instanceof java.util.ArrayList
            ifeq 3
         1: .line 216
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.fields:Ljava/util/List;
            checkcast java.util.ArrayList
            invokevirtual java.util.ArrayList.trimToSize:()V
         2: .line 217
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.fields:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield jdk.jfr.internal.Type.fields:Ljava/util/List;
         3: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.fields:Ljava/util/List;
            areturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jfr/internal/Type;
    Signature: ()Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;

  public boolean isSimpleType();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 223
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.simpleType:Ljava/lang/Boolean;
            ifnonnull 2
         1: .line 224
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.calculateSimpleType:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.jfr.internal.Type.simpleType:Ljava/lang/Boolean;
         2: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.simpleType:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jfr/internal/Type;

  private boolean calculateSimpleType();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 230
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.fields:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpeq 2
         1: .line 231
            iconst_0
            ireturn
         2: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.superType:Ljava/lang/String;
            ifnonnull 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jfr/internal/Type;

  public boolean isDefinedByJVM();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 238
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.id:J
            ldc 500
            lcmp
            ifge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/Type;

  public void add(jdk.jfr.ValueDescriptor);
    descriptor: (Ljdk/jfr/ValueDescriptor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // jdk.jfr.ValueDescriptor valueDescriptor
         0: .line 242
            aload 1 /* valueDescriptor */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 243
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.fields:Ljava/util/List;
            aload 1 /* valueDescriptor */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 244
            return
        end local 1 // jdk.jfr.ValueDescriptor valueDescriptor
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Ljdk/jfr/internal/Type;
            0    3     1  valueDescriptor  Ljdk/jfr/ValueDescriptor;
    MethodParameters:
                 Name  Flags
      valueDescriptor  

  public int indexOf(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // java.lang.String name
         0: .line 247
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 248
      StackMap locals: int
      StackMap stack:
            aload 1 /* name */
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.fields:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.jfr.ValueDescriptor
            invokevirtual jdk.jfr.ValueDescriptor.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 249
            iload 2 /* i */
            ireturn
         4: .line 247
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.fields:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 2
        end local 2 // int i
         6: .line 252
            iconst_m1
            ireturn
        end local 1 // java.lang.String name
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/jfr/internal/Type;
            0    7     1  name  Ljava/lang/String;
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      name  

  void trimFields();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 256
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.getFields:()Ljava/util/List;
            pop
         1: .line 257
            return
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/Type;

  void setAnnotations(java.util.List<jdk.jfr.AnnotationElement>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // java.util.List annotations
         0: .line 260
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.annos:Ljdk/jfr/internal/AnnotationConstruct;
            aload 1 /* annotations */
            invokevirtual jdk.jfr.internal.AnnotationConstruct.setAnnotationElements:(Ljava/util/List;)V
         1: .line 261
            return
        end local 1 // java.util.List annotations
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljdk/jfr/internal/Type;
            0    2     1  annotations  Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
    Signature: (Ljava/util/List<Ljdk/jfr/AnnotationElement;>;)V
    MethodParameters:
             Name  Flags
      annotations  

  public java.lang.String getSuperType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 264
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.superType:Ljava/lang/String;
            areturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/Type;

  public long getId();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 268
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.id:J
            lreturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/Type;

  public java.lang.String getLabel();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 272
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.annos:Ljdk/jfr/internal/AnnotationConstruct;
            invokevirtual jdk.jfr.internal.AnnotationConstruct.getLabel:()Ljava/lang/String;
            areturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/Type;

  public java.util.List<jdk.jfr.AnnotationElement> getAnnotationElements();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 276
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.annos:Ljdk/jfr/internal/AnnotationConstruct;
            invokevirtual jdk.jfr.internal.AnnotationConstruct.getUnmodifiableAnnotationElements:()Ljava/util/List;
            areturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/Type;
    Signature: ()Ljava/util/List<Ljdk/jfr/AnnotationElement;>;

  public <T> T getAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // java.lang.Class clazz
         0: .line 280
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.annos:Ljdk/jfr/internal/AnnotationConstruct;
            aload 1 /* clazz */
            invokevirtual jdk.jfr.internal.AnnotationConstruct.getAnnotation:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/jfr/internal/Type;
            0    1     1  clazz  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)TT;
    MethodParameters:
       Name  Flags
      clazz  

  public java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 284
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.annos:Ljdk/jfr/internal/AnnotationConstruct;
            invokevirtual jdk.jfr.internal.AnnotationConstruct.getDescription:()Ljava/lang/String;
            areturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/Type;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 289
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.id:J
            invokestatic java.lang.Long.hashCode:(J)I
            ireturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/Type;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // java.lang.Object object
         0: .line 294
            aload 1 /* object */
            instanceof jdk.jfr.internal.Type
            ifeq 4
         1: .line 295
            aload 1 /* object */
            checkcast jdk.jfr.internal.Type
            astore 2 /* that */
        start local 2 // jdk.jfr.internal.Type that
         2: .line 296
            aload 2 /* that */
            getfield jdk.jfr.internal.Type.id:J
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.id:J
            lcmp
            ifne 3
            iconst_1
            ireturn
      StackMap locals: jdk.jfr.internal.Type
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // jdk.jfr.internal.Type that
         4: .line 298
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object object
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/jfr/internal/Type;
            0    5     1  object  Ljava/lang/Object;
            2    4     2    that  Ljdk/jfr/internal/Type;
    MethodParameters:
        Name  Flags
      object  

  public int compareTo(jdk.jfr.internal.Type);
    descriptor: (Ljdk/jfr/internal/Type;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // jdk.jfr.internal.Type that
         0: .line 303
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.id:J
            aload 1 /* that */
            getfield jdk.jfr.internal.Type.id:J
            invokestatic java.lang.Long.compare:(JJ)I
            ireturn
        end local 1 // jdk.jfr.internal.Type that
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/Type;
            0    1     1  that  Ljdk/jfr/internal/Type;
    MethodParameters:
      Name  Flags
      that  

  void log(java.lang.String, jdk.jfr.internal.LogTag, jdk.jfr.internal.LogLevel);
    descriptor: (Ljava/lang/String;Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // java.lang.String action
        start local 2 // jdk.jfr.internal.LogTag logTag
        start local 3 // jdk.jfr.internal.LogLevel level
         0: .line 307
            aload 2 /* logTag */
            aload 3 /* level */
            invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
            ifeq 11
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.isSimpleType:()Z
            ifne 11
         1: .line 308
            aload 2 /* logTag */
            getstatic jdk.jfr.internal.LogLevel.TRACE:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            aload 1 /* action */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.typeText:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.getLogName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
         2: .line 309
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.getFields:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: jdk.jfr.internal.Type java.lang.String jdk.jfr.internal.LogTag jdk.jfr.internal.LogLevel top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.ValueDescriptor
            astore 4 /* v */
        start local 4 // jdk.jfr.ValueDescriptor v
         4: .line 310
            aload 4 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.isArray:()Z
            ifeq 5
            ldc "[]"
            goto 6
      StackMap locals: jdk.jfr.internal.Type java.lang.String jdk.jfr.internal.LogTag jdk.jfr.internal.LogLevel jdk.jfr.ValueDescriptor java.util.Iterator
      StackMap stack:
         5: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         6: astore 6 /* array */
        start local 6 // java.lang.String array
         7: .line 311
            aload 2 /* logTag */
            getstatic jdk.jfr.internal.LogLevel.TRACE:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.getTypeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* array */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        end local 6 // java.lang.String array
        end local 4 // jdk.jfr.ValueDescriptor v
         8: .line 309
      StackMap locals: jdk.jfr.internal.Type java.lang.String jdk.jfr.internal.LogTag jdk.jfr.internal.LogLevel top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 313
            aload 2 /* logTag */
            getstatic jdk.jfr.internal.LogLevel.TRACE:Ljdk/jfr/internal/LogLevel;
            ldc "}"
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        10: .line 314
            goto 13
        11: .line 315
      StackMap locals: jdk.jfr.internal.Type java.lang.String jdk.jfr.internal.LogTag jdk.jfr.internal.LogLevel
      StackMap stack:
            aload 2 /* logTag */
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
            ifeq 13
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.isSimpleType:()Z
            ifne 13
        12: .line 316
            aload 2 /* logTag */
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            aload 1 /* action */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.typeText:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.getLogName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        13: .line 319
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.jfr.internal.LogLevel level
        end local 2 // jdk.jfr.internal.LogTag logTag
        end local 1 // java.lang.String action
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Ljdk/jfr/internal/Type;
            0   14     1  action  Ljava/lang/String;
            0   14     2  logTag  Ljdk/jfr/internal/LogTag;
            0   14     3   level  Ljdk/jfr/internal/LogLevel;
            4    8     4       v  Ljdk/jfr/ValueDescriptor;
            7    8     6   array  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      action  
      logTag  
      level   

  private java.lang.String typeText();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 322
            aload 0 /* this */
            instanceof jdk.jfr.internal.PlatformEventType
            ifeq 2
         1: .line 323
            ldc "event type"
            areturn
         2: .line 325
      StackMap locals:
      StackMap stack:
            getstatic jdk.jfr.internal.Type.SUPER_TYPE_SETTING:Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.superType:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 326
            ldc "setting type"
            areturn
         4: .line 328
      StackMap locals:
      StackMap stack:
            getstatic jdk.jfr.internal.Type.SUPER_TYPE_ANNOTATION:Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.superType:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 329
            ldc "annotation type"
            areturn
         6: .line 331
      StackMap locals:
      StackMap stack:
            ldc "type"
            areturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/jfr/internal/Type;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 336
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 337
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.getLogName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 338
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.getFields:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 9
         3: .line 339
            aload 1 /* sb */
            ldc " {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 340
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.Type.getFields:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: jdk.jfr.internal.Type java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.ValueDescriptor
            astore 2 /* td */
        start local 2 // jdk.jfr.ValueDescriptor td
         6: .line 341
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  type="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* td */
            invokevirtual jdk.jfr.ValueDescriptor.getTypeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* td */
            invokevirtual jdk.jfr.ValueDescriptor.getTypeId:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ") name="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* td */
            invokevirtual jdk.jfr.ValueDescriptor.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // jdk.jfr.ValueDescriptor td
         7: .line 340
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 343
            aload 1 /* sb */
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 345
      StackMap locals: jdk.jfr.internal.Type java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljdk/jfr/internal/Type;
            1   10     1    sb  Ljava/lang/StringBuilder;
            6    7     2    td  Ljdk/jfr/ValueDescriptor;

  public void setRemove(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // boolean remove
         0: .line 349
            aload 0 /* this */
            iload 1 /* remove */
            putfield jdk.jfr.internal.Type.remove:Z
         1: .line 350
            return
        end local 1 // boolean remove
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/jfr/internal/Type;
            0    2     1  remove  Z
    MethodParameters:
        Name  Flags
      remove  

  public boolean getRemove();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.Type this
         0: .line 353
            aload 0 /* this */
            getfield jdk.jfr.internal.Type.remove:Z
            ireturn
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/Type;

  public void setId(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.jfr.internal.Type this
        start local 1 // long id
         0: .line 357
            aload 0 /* this */
            lload 1 /* id */
            putfield jdk.jfr.internal.Type.id:J
         1: .line 358
            return
        end local 1 // long id
        end local 0 // jdk.jfr.internal.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/Type;
            0    2     1    id  J
    MethodParameters:
      Name  Flags
      id    

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast jdk.jfr.internal.Type
            invokevirtual jdk.jfr.internal.Type.compareTo:(Ljdk/jfr/internal/Type;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Ljdk/jfr/internal/Type;>;
SourceFile: "Type.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map