public interface io.micronaut.context.MessageSource
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.micronaut.context.MessageSource
  super_class: java.lang.Object
{
  public static final io.micronaut.context.MessageSource EMPTY;
    descriptor: Lio/micronaut/context/MessageSource;
    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 43
            new io.micronaut.context.MessageSource$1
            dup
            invokespecial io.micronaut.context.MessageSource$1.<init>:()V
            putstatic io.micronaut.context.MessageSource.EMPTY:Lio/micronaut/context/MessageSource;
         1: .line 55
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.Optional<java.lang.String> getMessage(java.lang.String, io.micronaut.context.MessageSource$MessageContext);
    descriptor: (Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.micronaut.context.MessageSource this
        start local 1 // java.lang.String code
        start local 2 // io.micronaut.context.MessageSource$MessageContext context
         0: .line 64
            aload 0 /* this */
            aload 1 /* code */
            aload 2 /* context */
            invokeinterface io.micronaut.context.MessageSource.getRawMessage:(Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/util/Optional;
            astore 3 /* rawMessage */
        start local 3 // java.util.Optional rawMessage
         1: .line 65
            aload 3 /* rawMessage */
            aload 0 /* this */
            aload 2 /* context */
            invokedynamic apply(Lio/micronaut/context/MessageSource;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/micronaut/context/MessageSource.lambda$0(Lio/micronaut/context/MessageSource$MessageContext;Ljava/lang/String;)Ljava/lang/String; (7 itf)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            areturn
        end local 3 // java.util.Optional rawMessage
        end local 2 // io.micronaut.context.MessageSource$MessageContext context
        end local 1 // java.lang.String code
        end local 0 // io.micronaut.context.MessageSource this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/micronaut/context/MessageSource;
            0    2     1        code  Ljava/lang/String;
            0    2     2     context  Lio/micronaut/context/MessageSource$MessageContext;
            1    2     3  rawMessage  Ljava/util/Optional<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/util/Optional<Ljava/lang/String;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
         Name  Flags
      code     
      context  

  public java.lang.String getMessage(java.lang.String, io.micronaut.context.MessageSource$MessageContext, java.lang.String);
    descriptor: (Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.micronaut.context.MessageSource this
        start local 1 // java.lang.String code
        start local 2 // io.micronaut.context.MessageSource$MessageContext context
        start local 3 // java.lang.String defaultMessage
         0: .line 76
            ldc "defaultMessage"
            aload 3 /* defaultMessage */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 77
            aload 0 /* this */
            aload 1 /* code */
            aload 2 /* context */
            aload 3 /* defaultMessage */
            invokeinterface io.micronaut.context.MessageSource.getRawMessage:(Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* rawMessage */
        start local 4 // java.lang.String rawMessage
         2: .line 78
            aload 0 /* this */
            aload 4 /* rawMessage */
            aload 2 /* context */
            invokeinterface io.micronaut.context.MessageSource.interpolate:(Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/lang/String;
            areturn
        end local 4 // java.lang.String rawMessage
        end local 3 // java.lang.String defaultMessage
        end local 2 // io.micronaut.context.MessageSource$MessageContext context
        end local 1 // java.lang.String code
        end local 0 // io.micronaut.context.MessageSource this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/micronaut/context/MessageSource;
            0    3     1            code  Ljava/lang/String;
            0    3     2         context  Lio/micronaut/context/MessageSource$MessageContext;
            0    3     3  defaultMessage  Ljava/lang/String;
            2    3     4      rawMessage  Ljava/lang/String;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      code            
      context         
      defaultMessage  

  public abstract java.util.Optional<java.lang.String> getRawMessage(java.lang.String, io.micronaut.context.MessageSource$MessageContext);
    descriptor: (Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/util/Optional<Ljava/lang/String;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
         Name  Flags
      code     
      context  

  public java.lang.String getRawMessage(java.lang.String, io.micronaut.context.MessageSource$MessageContext, java.lang.String);
    descriptor: (Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.micronaut.context.MessageSource this
        start local 1 // java.lang.String code
        start local 2 // io.micronaut.context.MessageSource$MessageContext context
        start local 3 // java.lang.String defaultMessage
         0: .line 97
            ldc "defaultMessage"
            aload 3 /* defaultMessage */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 98
            aload 0 /* this */
            aload 1 /* code */
            aload 2 /* context */
            invokeinterface io.micronaut.context.MessageSource.getRawMessage:(Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/util/Optional;
            aload 3 /* defaultMessage */
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 3 // java.lang.String defaultMessage
        end local 2 // io.micronaut.context.MessageSource$MessageContext context
        end local 1 // java.lang.String code
        end local 0 // io.micronaut.context.MessageSource this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/micronaut/context/MessageSource;
            0    2     1            code  Ljava/lang/String;
            0    2     2         context  Lio/micronaut/context/MessageSource$MessageContext;
            0    2     3  defaultMessage  Ljava/lang/String;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      code            
      context         
      defaultMessage  

  public abstract java.lang.String interpolate(java.lang.String, io.micronaut.context.MessageSource$MessageContext);
    descriptor: (Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
          Name  Flags
      template  
      context   

  public java.lang.String getRequiredMessage(java.lang.String, io.micronaut.context.MessageSource$MessageContext);
    descriptor: (Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.micronaut.context.MessageSource this
        start local 1 // java.lang.String code
        start local 2 // io.micronaut.context.MessageSource$MessageContext context
         0: .line 119
            aload 0 /* this */
            aload 1 /* code */
            aload 2 /* context */
            invokeinterface io.micronaut.context.MessageSource.getMessage:(Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/util/Optional;
            aload 1 /* code */
            invokedynamic get(Ljava/lang/String;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  io/micronaut/context/MessageSource.lambda$1(Ljava/lang/String;)Lio/micronaut/context/exceptions/NoSuchMessageException; (6 itf)
                  ()Lio/micronaut/context/exceptions/NoSuchMessageException;
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 2 // io.micronaut.context.MessageSource$MessageContext context
        end local 1 // java.lang.String code
        end local 0 // io.micronaut.context.MessageSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/micronaut/context/MessageSource;
            0    1     1     code  Ljava/lang/String;
            0    1     2  context  Lio/micronaut/context/MessageSource$MessageContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
         Name  Flags
      code     
      context  

  public java.lang.String getRequiredRawMessage(java.lang.String, io.micronaut.context.MessageSource$MessageContext);
    descriptor: (Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.micronaut.context.MessageSource this
        start local 1 // java.lang.String code
        start local 2 // io.micronaut.context.MessageSource$MessageContext context
         0: .line 133
            aload 0 /* this */
            aload 1 /* code */
            aload 2 /* context */
            invokeinterface io.micronaut.context.MessageSource.getRawMessage:(Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/util/Optional;
            aload 1 /* code */
            invokedynamic get(Ljava/lang/String;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  io/micronaut/context/MessageSource.lambda$2(Ljava/lang/String;)Lio/micronaut/context/exceptions/NoSuchMessageException; (6 itf)
                  ()Lio/micronaut/context/exceptions/NoSuchMessageException;
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 2 // io.micronaut.context.MessageSource$MessageContext context
        end local 1 // java.lang.String code
        end local 0 // io.micronaut.context.MessageSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/micronaut/context/MessageSource;
            0    1     1     code  Ljava/lang/String;
            0    1     2  context  Lio/micronaut/context/MessageSource$MessageContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
         Name  Flags
      code     
      context  

  private java.lang.String lambda$0(io.micronaut.context.MessageSource$MessageContext, java.lang.String);
    descriptor: (Lio/micronaut/context/MessageSource$MessageContext;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.micronaut.context.MessageSource this
        start local 2 // java.lang.String message
         0: .line 65
            aload 0 /* this */
            aload 2 /* message */
            aload 1
            invokeinterface io.micronaut.context.MessageSource.interpolate:(Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String message
        end local 0 // io.micronaut.context.MessageSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/micronaut/context/MessageSource;
            0    1     2  message  Ljava/lang/String;

  private static io.micronaut.context.exceptions.NoSuchMessageException lambda$1(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/micronaut/context/exceptions/NoSuchMessageException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 120
            new io.micronaut.context.exceptions.NoSuchMessageException
            dup
            aload 0
            invokespecial io.micronaut.context.exceptions.NoSuchMessageException.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static io.micronaut.context.exceptions.NoSuchMessageException lambda$2(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/micronaut/context/exceptions/NoSuchMessageException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 134
            new io.micronaut.context.exceptions.NoSuchMessageException
            dup
            aload 0
            invokespecial io.micronaut.context.exceptions.NoSuchMessageException.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "MessageSource.java"
NestMembers:
  io.micronaut.context.MessageSource$1  io.micronaut.context.MessageSource$MessageContext  io.micronaut.context.MessageSource$MessageContext$1
InnerClasses:
  io.micronaut.context.MessageSource$1
  public abstract MessageContext = io.micronaut.context.MessageSource$MessageContext of io.micronaut.context.MessageSource
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
    RuntimeVisibleAnnotations: 
      javax.inject.Singleton()
      io.micronaut.core.annotation.Indexed(value = Lio/micronaut/context/MessageSource;)