interface com.google.inject.internal.State
  minor version: 0
  major version: 59
  flags: flags: (0x0600) ACC_INTERFACE, ACC_ABSTRACT
  this_class: com.google.inject.internal.State
  super_class: java.lang.Object
{
  public static final com.google.inject.internal.State NONE;
    descriptor: Lcom/google/inject/internal/State;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 45
            new com.google.inject.internal.State$1
            dup
            invokespecial com.google.inject.internal.State$1.<init>:()V
         1: .line 44
            putstatic com.google.inject.internal.State.NONE:Lcom/google/inject/internal/State;
         2: .line 161
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public abstract com.google.inject.internal.State parent();
    descriptor: ()Lcom/google/inject/internal/State;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract <T> com.google.inject.internal.BindingImpl<T> getExplicitBinding(com.google.inject.Key<T>);
    descriptor: (Lcom/google/inject/Key;)Lcom/google/inject/internal/BindingImpl;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lcom/google/inject/Key<TT;>;)Lcom/google/inject/internal/BindingImpl<TT;>;
    MethodParameters:
      Name  Flags
      key   

  public abstract java.util.Map<com.google.inject.Key<?>, com.google.inject.Binding<?>> getExplicitBindingsThisLevel();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Lcom/google/inject/Key<*>;Lcom/google/inject/Binding<*>;>;

  public abstract void putBinding(com.google.inject.Key<?>, com.google.inject.internal.BindingImpl<?>);
    descriptor: (Lcom/google/inject/Key;Lcom/google/inject/internal/BindingImpl;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/google/inject/Key<*>;Lcom/google/inject/internal/BindingImpl<*>;)V
    MethodParameters:
         Name  Flags
      key      
      binding  

  public abstract com.google.inject.spi.ScopeBinding getScopeBinding(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Lcom/google/inject/spi/ScopeBinding;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Lcom/google/inject/spi/ScopeBinding;
    MethodParameters:
                   Name  Flags
      scopingAnnotation  

  public abstract void putScopeBinding(java.lang.Class<? extends java.lang.annotation.Annotation>, com.google.inject.spi.ScopeBinding);
    descriptor: (Ljava/lang/Class;Lcom/google/inject/spi/ScopeBinding;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Lcom/google/inject/spi/ScopeBinding;)V
    MethodParameters:
                Name  Flags
      annotationType  
      scope           

  public abstract void addConverter(com.google.inject.spi.TypeConverterBinding);
    descriptor: (Lcom/google/inject/spi/TypeConverterBinding;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                      Name  Flags
      typeConverterBinding  

  public abstract com.google.inject.spi.TypeConverterBinding getConverter(java.lang.String, com.google.inject.TypeLiteral<?>, com.google.inject.internal.Errors, );
    descriptor: (Ljava/lang/String;Lcom/google/inject/TypeLiteral;Lcom/google/inject/internal/Errors;Ljava/lang/Object;)Lcom/google/inject/spi/TypeConverterBinding;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Lcom/google/inject/TypeLiteral<*>;Lcom/google/inject/internal/Errors;Ljava/lang/Object;)Lcom/google/inject/spi/TypeConverterBinding;
    MethodParameters:
             Name  Flags
      stringValue  
      type         
      errors       
      source       

  public abstract java.lang.Iterable<com.google.inject.spi.TypeConverterBinding> getConvertersThisLevel();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Iterable<Lcom/google/inject/spi/TypeConverterBinding;>;

  public abstract void addMethodAspect(com.google.inject.internal.MethodAspect);
    descriptor: (Lcom/google/inject/internal/MethodAspect;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      methodAspect  

  public abstract com.google.common.collect.ImmutableList<com.google.inject.internal.MethodAspect> getMethodAspects();
    descriptor: ()Lcom/google/common/collect/ImmutableList;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lcom/google/common/collect/ImmutableList<Lcom/google/inject/internal/MethodAspect;>;

  public abstract void addTypeListener(com.google.inject.spi.TypeListenerBinding);
    descriptor: (Lcom/google/inject/spi/TypeListenerBinding;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                     Name  Flags
      typeListenerBinding  

  public abstract java.util.List<com.google.inject.spi.TypeListenerBinding> getTypeListenerBindings();
    descriptor: ()Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/List<Lcom/google/inject/spi/TypeListenerBinding;>;

  public abstract void addProvisionListener(com.google.inject.spi.ProvisionListenerBinding);
    descriptor: (Lcom/google/inject/spi/ProvisionListenerBinding;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                          Name  Flags
      provisionListenerBinding  

  public abstract java.util.List<com.google.inject.spi.ProvisionListenerBinding> getProvisionListenerBindings();
    descriptor: ()Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/List<Lcom/google/inject/spi/ProvisionListenerBinding;>;

  public abstract void addScanner(com.google.inject.spi.ModuleAnnotatedMethodScannerBinding);
    descriptor: (Lcom/google/inject/spi/ModuleAnnotatedMethodScannerBinding;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      scanner  

  public abstract java.util.List<com.google.inject.spi.ModuleAnnotatedMethodScannerBinding> getScannerBindings();
    descriptor: ()Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/List<Lcom/google/inject/spi/ModuleAnnotatedMethodScannerBinding;>;

  public abstract void blacklist(com.google.inject.Key<?>, com.google.inject.internal.State, );
    descriptor: (Lcom/google/inject/Key;Lcom/google/inject/internal/State;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/google/inject/Key<*>;Lcom/google/inject/internal/State;Ljava/lang/Object;)V
    MethodParameters:
        Name  Flags
      key     
      state   
      source  

  public abstract boolean isBlacklisted(com.google.inject.Key<?>);
    descriptor: (Lcom/google/inject/Key;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/google/inject/Key<*>;)Z
    MethodParameters:
      Name  Flags
      key   

  public abstract java.util.Set<java.lang.Object> getSourcesForBlacklistedKey(com.google.inject.Key<?>);
    descriptor: (Lcom/google/inject/Key;)Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/google/inject/Key<*>;)Ljava/util/Set<Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      key   

  public abstract java.lang.Object lock();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, com.google.inject.Scope> getScopes();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Lcom/google/inject/Scope;>;
}
SourceFile: "State.java"
NestMembers:
  com.google.inject.internal.State$1
InnerClasses:
  com.google.inject.internal.State$1