final class org.springframework.boot.diagnostics.FailureAnalyzers implements org.springframework.boot.SpringBootExceptionReporter
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.springframework.boot.diagnostics.FailureAnalyzers
super_class: java.lang.Object
{
private static final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.ClassLoader classLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<org.springframework.boot.diagnostics.FailureAnalyzer> analyzers;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/springframework/boot/diagnostics/FailureAnalyzer;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/springframework/boot/diagnostics/FailureAnalyzers;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.springframework.boot.diagnostics.FailureAnalyzers.logger:Lorg/apache/commons/logging/Log;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.springframework.context.ConfigurableApplicationContext);
descriptor: (Lorg/springframework/context/ConfigurableApplicationContext;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokespecial org.springframework.boot.diagnostics.FailureAnalyzers.<init>:(Lorg/springframework/context/ConfigurableApplicationContext;Ljava/lang/ClassLoader;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/boot/diagnostics/FailureAnalyzers;
0 2 1 context Lorg/springframework/context/ConfigurableApplicationContext;
MethodParameters:
Name Flags
context
void <init>(org.springframework.context.ConfigurableApplicationContext, java.lang.ClassLoader);
descriptor: (Lorg/springframework/context/ConfigurableApplicationContext;Ljava/lang/ClassLoader;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
ifnull 2
aload 2
goto 3
StackMap locals: org.springframework.boot.diagnostics.FailureAnalyzers org.springframework.context.ConfigurableApplicationContext java.lang.ClassLoader
StackMap stack: org.springframework.boot.diagnostics.FailureAnalyzers
2: aload 0
aload 1
invokevirtual org.springframework.boot.diagnostics.FailureAnalyzers.getClassLoader:(Lorg/springframework/context/ConfigurableApplicationContext;)Ljava/lang/ClassLoader;
StackMap locals: org.springframework.boot.diagnostics.FailureAnalyzers org.springframework.context.ConfigurableApplicationContext java.lang.ClassLoader
StackMap stack: org.springframework.boot.diagnostics.FailureAnalyzers java.lang.ClassLoader
3: putfield org.springframework.boot.diagnostics.FailureAnalyzers.classLoader:Ljava/lang/ClassLoader;
4: aload 0
aload 0
aload 1
aload 0
getfield org.springframework.boot.diagnostics.FailureAnalyzers.classLoader:Ljava/lang/ClassLoader;
invokevirtual org.springframework.boot.diagnostics.FailureAnalyzers.loadFailureAnalyzers:(Lorg/springframework/context/ConfigurableApplicationContext;Ljava/lang/ClassLoader;)Ljava/util/List;
putfield org.springframework.boot.diagnostics.FailureAnalyzers.analyzers:Ljava/util/List;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/boot/diagnostics/FailureAnalyzers;
0 6 1 context Lorg/springframework/context/ConfigurableApplicationContext;
0 6 2 classLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
context
classLoader
private java.lang.ClassLoader getClassLoader(org.springframework.context.ConfigurableApplicationContext);
descriptor: (Lorg/springframework/context/ConfigurableApplicationContext;)Ljava/lang/ClassLoader;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokeinterface org.springframework.context.ConfigurableApplicationContext.getClassLoader:()Ljava/lang/ClassLoader;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.ClassLoader
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/boot/diagnostics/FailureAnalyzers;
0 3 1 context Lorg/springframework/context/ConfigurableApplicationContext;
MethodParameters:
Name Flags
context
private java.util.List<org.springframework.boot.diagnostics.FailureAnalyzer> loadFailureAnalyzers(org.springframework.context.ConfigurableApplicationContext, java.lang.ClassLoader);
descriptor: (Lorg/springframework/context/ConfigurableApplicationContext;Ljava/lang/ClassLoader;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: ldc Lorg/springframework/boot/diagnostics/FailureAnalyzer;
aload 2
invokestatic org.springframework.core.io.support.SpringFactoriesLoader.loadFactoryNames:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/List;
astore 3
start local 3 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 2: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: org.springframework.boot.diagnostics.FailureAnalyzers org.springframework.context.ConfigurableApplicationContext java.lang.ClassLoader java.util.List java.util.List top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 4: aload 0
aload 1
aload 5
invokevirtual org.springframework.boot.diagnostics.FailureAnalyzers.createAnalyzer:(Lorg/springframework/context/ConfigurableApplicationContext;Ljava/lang/String;)Lorg/springframework/boot/diagnostics/FailureAnalyzer;
astore 7
start local 7 5: aload 7
ifnull 10
6: aload 4
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 7: goto 10
8: StackMap locals: org.springframework.boot.diagnostics.FailureAnalyzers org.springframework.context.ConfigurableApplicationContext java.lang.ClassLoader java.util.List java.util.List java.lang.String java.util.Iterator
StackMap stack: java.lang.Throwable
astore 7
start local 7 9: getstatic org.springframework.boot.diagnostics.FailureAnalyzers.logger:Lorg/apache/commons/logging/Log;
ldc "Failed to load %s"
aload 5
invokestatic org.springframework.core.log.LogMessage.format:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/core/log/LogMessage;
aload 7
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 end local 5 10: StackMap locals: org.springframework.boot.diagnostics.FailureAnalyzers org.springframework.context.ConfigurableApplicationContext java.lang.ClassLoader java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: aload 4
invokestatic org.springframework.core.annotation.AnnotationAwareOrderComparator.sort:(Ljava/util/List;)V
12: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/boot/diagnostics/FailureAnalyzers;
0 13 1 context Lorg/springframework/context/ConfigurableApplicationContext;
0 13 2 classLoader Ljava/lang/ClassLoader;
1 13 3 classNames Ljava/util/List<Ljava/lang/String;>;
2 13 4 analyzers Ljava/util/List<Lorg/springframework/boot/diagnostics/FailureAnalyzer;>;
4 10 5 className Ljava/lang/String;
5 7 7 analyzer Lorg/springframework/boot/diagnostics/FailureAnalyzer;
9 10 7 ex Ljava/lang/Throwable;
Exception table:
from to target type
4 7 8 Class java.lang.Throwable
Signature: (Lorg/springframework/context/ConfigurableApplicationContext;Ljava/lang/ClassLoader;)Ljava/util/List<Lorg/springframework/boot/diagnostics/FailureAnalyzer;>;
MethodParameters:
Name Flags
context
classLoader
private org.springframework.boot.diagnostics.FailureAnalyzer createAnalyzer(org.springframework.context.ConfigurableApplicationContext, java.lang.String);
descriptor: (Lorg/springframework/context/ConfigurableApplicationContext;Ljava/lang/String;)Lorg/springframework/boot/diagnostics/FailureAnalyzer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
getfield org.springframework.boot.diagnostics.FailureAnalyzers.classLoader:Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 3
start local 3 1: aload 3
invokestatic org.springframework.util.ReflectionUtils.makeAccessible:(Ljava/lang/reflect/Constructor;)V
2: aload 3
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.boot.diagnostics.FailureAnalyzer
astore 4
start local 4 3: aload 4
instanceof org.springframework.beans.factory.BeanFactoryAware
ifne 4
aload 4
instanceof org.springframework.context.EnvironmentAware
ifeq 11
4: StackMap locals: java.lang.reflect.Constructor org.springframework.boot.diagnostics.FailureAnalyzer
StackMap stack:
aload 1
ifnonnull 7
5: getstatic org.springframework.boot.diagnostics.FailureAnalyzers.logger:Lorg/apache/commons/logging/Log;
ldc "Skipping %s due to missing context"
aload 2
invokestatic org.springframework.core.log.LogMessage.format:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/core/log/LogMessage;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 4
instanceof org.springframework.beans.factory.BeanFactoryAware
ifeq 9
8: aload 4
checkcast org.springframework.beans.factory.BeanFactoryAware
aload 1
invokeinterface org.springframework.context.ConfigurableApplicationContext.getBeanFactory:()Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
invokeinterface org.springframework.beans.factory.BeanFactoryAware.setBeanFactory:(Lorg/springframework/beans/factory/BeanFactory;)V
9: StackMap locals:
StackMap stack:
aload 4
instanceof org.springframework.context.EnvironmentAware
ifeq 11
10: aload 4
checkcast org.springframework.context.EnvironmentAware
aload 1
invokeinterface org.springframework.context.ConfigurableApplicationContext.getEnvironment:()Lorg/springframework/core/env/ConfigurableEnvironment;
invokeinterface org.springframework.context.EnvironmentAware.setEnvironment:(Lorg/springframework/core/env/Environment;)V
11: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/boot/diagnostics/FailureAnalyzers;
0 12 1 context Lorg/springframework/context/ConfigurableApplicationContext;
0 12 2 className Ljava/lang/String;
1 12 3 constructor Ljava/lang/reflect/Constructor<*>;
3 12 4 analyzer Lorg/springframework/boot/diagnostics/FailureAnalyzer;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
context
className
public boolean reportException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield org.springframework.boot.diagnostics.FailureAnalyzers.analyzers:Ljava/util/List;
invokevirtual org.springframework.boot.diagnostics.FailureAnalyzers.analyze:(Ljava/lang/Throwable;Ljava/util/List;)Lorg/springframework/boot/diagnostics/FailureAnalysis;
astore 2
start local 2 1: aload 0
aload 2
aload 0
getfield org.springframework.boot.diagnostics.FailureAnalyzers.classLoader:Ljava/lang/ClassLoader;
invokevirtual org.springframework.boot.diagnostics.FailureAnalyzers.report:(Lorg/springframework/boot/diagnostics/FailureAnalysis;Ljava/lang/ClassLoader;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/boot/diagnostics/FailureAnalyzers;
0 2 1 failure Ljava/lang/Throwable;
1 2 2 analysis Lorg/springframework/boot/diagnostics/FailureAnalysis;
MethodParameters:
Name Flags
failure
private org.springframework.boot.diagnostics.FailureAnalysis analyze(java.lang.Throwable, java.util.List<org.springframework.boot.diagnostics.FailureAnalyzer>);
descriptor: (Ljava/lang/Throwable;Ljava/util/List;)Lorg/springframework/boot/diagnostics/FailureAnalysis;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: org.springframework.boot.diagnostics.FailureAnalyzers java.lang.Throwable java.util.List top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.boot.diagnostics.FailureAnalyzer
astore 3
start local 3 2: aload 3
aload 1
invokeinterface org.springframework.boot.diagnostics.FailureAnalyzer.analyze:(Ljava/lang/Throwable;)Lorg/springframework/boot/diagnostics/FailureAnalysis;
astore 5
start local 5 3: aload 5
ifnull 8
4: aload 5
5: areturn
end local 5 6: StackMap locals: org.springframework.boot.diagnostics.FailureAnalyzers java.lang.Throwable java.util.List org.springframework.boot.diagnostics.FailureAnalyzer java.util.Iterator
StackMap stack: java.lang.Throwable
astore 5
start local 5 7: getstatic org.springframework.boot.diagnostics.FailureAnalyzers.logger:Lorg/apache/commons/logging/Log;
ldc "FailureAnalyzer %s failed"
aload 3
invokestatic org.springframework.core.log.LogMessage.format:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/core/log/LogMessage;
aload 5
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 5 end local 3 8: StackMap locals: org.springframework.boot.diagnostics.FailureAnalyzers java.lang.Throwable java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
9: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/boot/diagnostics/FailureAnalyzers;
0 10 1 failure Ljava/lang/Throwable;
0 10 2 analyzers Ljava/util/List<Lorg/springframework/boot/diagnostics/FailureAnalyzer;>;
2 8 3 analyzer Lorg/springframework/boot/diagnostics/FailureAnalyzer;
3 6 5 analysis Lorg/springframework/boot/diagnostics/FailureAnalysis;
7 8 5 ex Ljava/lang/Throwable;
Exception table:
from to target type
2 5 6 Class java.lang.Throwable
Signature: (Ljava/lang/Throwable;Ljava/util/List<Lorg/springframework/boot/diagnostics/FailureAnalyzer;>;)Lorg/springframework/boot/diagnostics/FailureAnalysis;
MethodParameters:
Name Flags
failure
analyzers
private boolean report(org.springframework.boot.diagnostics.FailureAnalysis, java.lang.ClassLoader);
descriptor: (Lorg/springframework/boot/diagnostics/FailureAnalysis;Ljava/lang/ClassLoader;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: ldc Lorg/springframework/boot/diagnostics/FailureAnalysisReporter;
1: aload 2
2: invokestatic org.springframework.core.io.support.SpringFactoriesLoader.loadFactories:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/List;
astore 3
start local 3 3: aload 1
ifnull 4
aload 3
invokeinterface java.util.List.isEmpty:()Z
ifeq 5
4: StackMap locals: java.util.List
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 8
StackMap locals: org.springframework.boot.diagnostics.FailureAnalyzers org.springframework.boot.diagnostics.FailureAnalysis java.lang.ClassLoader java.util.List top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.boot.diagnostics.FailureAnalysisReporter
astore 4
start local 4 7: aload 4
aload 1
invokeinterface org.springframework.boot.diagnostics.FailureAnalysisReporter.report:(Lorg/springframework/boot/diagnostics/FailureAnalysis;)V
end local 4 8: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/boot/diagnostics/FailureAnalyzers;
0 10 1 analysis Lorg/springframework/boot/diagnostics/FailureAnalysis;
0 10 2 classLoader Ljava/lang/ClassLoader;
3 10 3 reporters Ljava/util/List<Lorg/springframework/boot/diagnostics/FailureAnalysisReporter;>;
7 8 4 reporter Lorg/springframework/boot/diagnostics/FailureAnalysisReporter;
MethodParameters:
Name Flags
analysis
classLoader
}
SourceFile: "FailureAnalyzers.java"