final class org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker
super_class: java.lang.Object
{
private static final java.lang.String ROOT_REFERENCE_TOKEN;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ""
private final java.util.Map<org.apache.avro.SchemaCompatibility$ReaderWriter, org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult> mMemoizeMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/apache/avro/SchemaCompatibility$ReaderWriter;Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$apache$avro$Schema$Type;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/avro/SchemaCompatibility;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.mMemoizeMap:Ljava/util/Map;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/avro/SchemaCompatibility$ReaderWriterCompatibilityChecker;
public org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult getCompatibility(org.apache.avro.Schema, org.apache.avro.Schema);
descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 3
start local 3 1: aload 0
ldc ""
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.getCompatibility:(Ljava/lang/String;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/avro/SchemaCompatibility$ReaderWriterCompatibilityChecker;
0 2 1 reader Lorg/apache/avro/Schema;
0 2 2 writer Lorg/apache/avro/Schema;
1 2 3 location Ljava/util/Deque<Ljava/lang/String;>;
MethodParameters:
Name Flags
reader final
writer final
private org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult getCompatibility(java.lang.String, org.apache.avro.Schema, org.apache.avro.Schema, java.util.Deque<java.lang.String>);
descriptor: (Ljava/lang/String;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
aload 1
invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
1: getstatic org.apache.avro.SchemaCompatibility.LOG:Lorg/slf4j/Logger;
ldc "Checking compatibility of reader {} with writer {}"
aload 2
aload 3
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
2: new org.apache.avro.SchemaCompatibility$ReaderWriter
dup
aload 2
aload 3
invokespecial org.apache.avro.SchemaCompatibility$ReaderWriter.<init>:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;)V
astore 5
start local 5 3: aload 0
getfield org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.mMemoizeMap:Ljava/util/Map;
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
astore 6
start local 6 4: aload 6
ifnull 8
5: aload 6
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.getCompatibility:()Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityType;
getstatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityType.RECURSION_IN_PROGRESS:Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityType;
if_acmpne 11
6: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.compatible:()Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 6
7: goto 11
8: StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriter org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
StackMap stack:
aload 0
getfield org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.mMemoizeMap:Ljava/util/Map;
aload 5
invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.recursionInProgress:()Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 0
aload 2
aload 3
aload 4
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.calculateCompatibility:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 6
10: aload 0
getfield org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.mMemoizeMap:Ljava/util/Map;
aload 5
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
pop
12: aload 6
areturn
end local 6 end local 5 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/apache/avro/SchemaCompatibility$ReaderWriterCompatibilityChecker;
0 13 1 referenceToken Ljava/lang/String;
0 13 2 reader Lorg/apache/avro/Schema;
0 13 3 writer Lorg/apache/avro/Schema;
0 13 4 location Ljava/util/Deque<Ljava/lang/String;>;
3 13 5 pair Lorg/apache/avro/SchemaCompatibility$ReaderWriter;
4 13 6 result Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
Signature: (Ljava/lang/String;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque<Ljava/lang/String;>;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
MethodParameters:
Name Flags
referenceToken
reader final
writer final
location final
private org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult calculateCompatibility(org.apache.avro.Schema, org.apache.avro.Schema, java.util.Deque<java.lang.String>);
descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.$assertionsDisabled:Z
ifne 2
aload 2
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.compatible:()Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
start local 4 3: aload 1
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
if_acmpne 31
4: invokestatic org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.$SWITCH_TABLE$org$apache$avro$Schema$Type:()[I
aload 1
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
iaload
tableswitch { // 1 - 14
1: 14
2: 12
3: 6
4: 9
5: 16
6: 10
7: 5
8: 5
9: 5
10: 5
11: 5
12: 5
13: 5
14: 5
default: 30
}
5: StackMap locals: org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
StackMap stack:
aload 4
areturn
6: StackMap locals:
StackMap stack:
aload 4
7: aload 0
ldc "items"
aload 1
invokevirtual org.apache.avro.Schema.getElementType:()Lorg/apache/avro/Schema;
aload 2
invokevirtual org.apache.avro.Schema.getElementType:()Lorg/apache/avro/Schema;
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.getCompatibility:(Ljava/lang/String;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
8: areturn
9: StackMap locals:
StackMap stack:
aload 4
aload 0
ldc "values"
aload 1
invokevirtual org.apache.avro.Schema.getValueType:()Lorg/apache/avro/Schema;
aload 2
invokevirtual org.apache.avro.Schema.getValueType:()Lorg/apache/avro/Schema;
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.getCompatibility:(Ljava/lang/String;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
10: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.checkSchemaNames:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
11: aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.checkFixedSize:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
12: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.checkSchemaNames:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
13: aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.checkReaderEnumContainsAllWriterEnumSymbols:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
14: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.checkSchemaNames:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
15: aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.checkReaderWriterRecordFields:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
16: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 17: aload 2
invokevirtual org.apache.avro.Schema.getTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 28
StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker org.apache.avro.Schema org.apache.avro.Schema java.util.Deque org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult int top java.util.Iterator
StackMap stack:
18: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.avro.Schema
astore 6
start local 6 19: aload 3
iload 5
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
20: aload 0
aload 1
aload 6
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.getCompatibility:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 8
start local 8 21: aload 8
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.getCompatibility:()Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityType;
getstatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityType.INCOMPATIBLE:Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityType;
if_acmpne 26
22: ldc "reader union lacking writer type: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 9
start local 9 23: aload 4
24: getstatic org.apache.avro.SchemaCompatibility$SchemaIncompatibilityType.MISSING_UNION_BRANCH:Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;
aload 1
aload 2
aload 9
aload 3
invokestatic org.apache.avro.SchemaCompatibility.asList:(Ljava/util/Deque;)Ljava/util/List;
25: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.incompatible:(Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/lang/String;Ljava/util/List;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
end local 9 26: StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker org.apache.avro.Schema org.apache.avro.Schema java.util.Deque org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult int org.apache.avro.Schema java.util.Iterator org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
StackMap stack:
aload 3
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
pop
27: iinc 5 1
end local 8 end local 6 28: StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker org.apache.avro.Schema org.apache.avro.Schema java.util.Deque org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
29: aload 4
areturn
end local 5 30: StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker org.apache.avro.Schema org.apache.avro.Schema java.util.Deque org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
StackMap stack:
new org.apache.avro.AvroRuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Unknown schema type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.avro.AvroRuntimeException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
getstatic org.apache.avro.Schema$Type.UNION:Lorg/apache/avro/Schema$Type;
if_acmpne 37
32: aload 2
invokevirtual org.apache.avro.Schema.getTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 35
StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker org.apache.avro.Schema org.apache.avro.Schema java.util.Deque org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult top java.util.Iterator
StackMap stack:
33: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.avro.Schema
astore 5
start local 5 34: aload 4
aload 0
aload 1
aload 5
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.getCompatibility:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
end local 5 35: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
36: aload 4
areturn
37: StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker org.apache.avro.Schema org.apache.avro.Schema java.util.Deque org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
StackMap stack:
invokestatic org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.$SWITCH_TABLE$org$apache$avro$Schema$Type:()[I
aload 1
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
iaload
tableswitch { // 1 - 14
1: 62
2: 61
3: 58
4: 59
5: 63
6: 60
7: 55
8: 52
9: 40
10: 41
11: 44
12: 48
13: 39
14: 38
default: 73
}
38: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
39: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
40: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
41: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
getstatic org.apache.avro.Schema$Type.INT:Lorg/apache/avro/Schema$Type;
if_acmpne 42
aload 4
goto 43
StackMap locals:
StackMap stack:
42: aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
StackMap locals:
StackMap stack: org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
43: areturn
44: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
getstatic org.apache.avro.Schema$Type.INT:Lorg/apache/avro/Schema$Type;
if_acmpeq 45
aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
getstatic org.apache.avro.Schema$Type.LONG:Lorg/apache/avro/Schema$Type;
if_acmpne 46
StackMap locals:
StackMap stack:
45: aload 4
goto 47
46: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
47: StackMap locals:
StackMap stack: org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
areturn
48: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
getstatic org.apache.avro.Schema$Type.INT:Lorg/apache/avro/Schema$Type;
if_acmpeq 49
aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
getstatic org.apache.avro.Schema$Type.LONG:Lorg/apache/avro/Schema$Type;
if_acmpeq 49
aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
getstatic org.apache.avro.Schema$Type.FLOAT:Lorg/apache/avro/Schema$Type;
if_acmpne 50
49: StackMap locals:
StackMap stack:
aload 4
goto 51
50: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
51: StackMap locals:
StackMap stack: org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
areturn
52: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
getstatic org.apache.avro.Schema$Type.STRING:Lorg/apache/avro/Schema$Type;
if_acmpne 53
aload 4
goto 54
StackMap locals:
StackMap stack:
53: aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
StackMap locals:
StackMap stack: org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
54: areturn
55: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
getstatic org.apache.avro.Schema$Type.BYTES:Lorg/apache/avro/Schema$Type;
if_acmpne 56
aload 4
goto 57
StackMap locals:
StackMap stack:
56: aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
StackMap locals:
StackMap stack: org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
57: areturn
58: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
59: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
60: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
61: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
62: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.typeMismatch:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
63: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.avro.Schema.getTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 68
StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker org.apache.avro.Schema org.apache.avro.Schema java.util.Deque org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult top java.util.Iterator
StackMap stack:
64: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.avro.Schema
astore 5
start local 5 65: aload 0
aload 5
aload 2
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.getCompatibility:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 7
start local 7 66: aload 7
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.getCompatibility:()Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityType;
getstatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityType.COMPATIBLE:Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityType;
if_acmpne 68
67: aload 4
areturn
end local 7 end local 5 68: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 64
69: ldc "reader union lacking writer type: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 5
start local 5 70: aload 4
71: getstatic org.apache.avro.SchemaCompatibility$SchemaIncompatibilityType.MISSING_UNION_BRANCH:Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;
aload 1
aload 2
aload 5
aload 3
invokestatic org.apache.avro.SchemaCompatibility.asList:(Ljava/util/Deque;)Ljava/util/List;
invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.incompatible:(Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/lang/String;Ljava/util/List;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
72: invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
end local 5 73: StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker org.apache.avro.Schema org.apache.avro.Schema java.util.Deque org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
StackMap stack:
new org.apache.avro.AvroRuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Unknown schema type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.avro.AvroRuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 74 0 this Lorg/apache/avro/SchemaCompatibility$ReaderWriterCompatibilityChecker;
0 74 1 reader Lorg/apache/avro/Schema;
0 74 2 writer Lorg/apache/avro/Schema;
0 74 3 location Ljava/util/Deque<Ljava/lang/String;>;
3 74 4 result Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
17 30 5 i I
19 28 6 writerBranch Lorg/apache/avro/Schema;
21 28 8 compatibility Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
23 26 9 message Ljava/lang/String;
34 35 5 s Lorg/apache/avro/Schema;
65 68 5 readerBranch Lorg/apache/avro/Schema;
66 68 7 compatibility Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
70 73 5 message Ljava/lang/String;
Signature: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque<Ljava/lang/String;>;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
MethodParameters:
Name Flags
reader final
writer final
location final
private org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult checkReaderWriterRecordFields(org.apache.avro.Schema, org.apache.avro.Schema, java.util.Deque<java.lang.String>);
descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.compatible:()Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
start local 4 1: aload 3
ldc "fields"
invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
2: aload 1
invokevirtual org.apache.avro.Schema.getFields:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 19
StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker org.apache.avro.Schema org.apache.avro.Schema java.util.Deque org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.avro.Schema$Field
astore 5
start local 5 4: aload 3
aload 5
invokevirtual org.apache.avro.Schema$Field.pos:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
5: aload 2
aload 5
invokestatic org.apache.avro.SchemaCompatibility.lookupWriterField:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema$Field;)Lorg/apache/avro/Schema$Field;
astore 7
start local 7 6: aload 7
ifnonnull 17
7: aload 5
invokevirtual org.apache.avro.Schema$Field.hasDefaultValue:()Z
ifne 18
8: aload 5
invokevirtual org.apache.avro.Schema$Field.schema:()Lorg/apache/avro/Schema;
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
getstatic org.apache.avro.Schema$Type.ENUM:Lorg/apache/avro/Schema$Type;
if_acmpne 11
aload 5
invokevirtual org.apache.avro.Schema$Field.schema:()Lorg/apache/avro/Schema;
invokevirtual org.apache.avro.Schema.getEnumDefault:()Ljava/lang/String;
ifnull 11
9: aload 4
aload 0
ldc "type"
aload 5
invokevirtual org.apache.avro.Schema$Field.schema:()Lorg/apache/avro/Schema;
aload 2
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.getCompatibility:(Ljava/lang/String;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
10: goto 18
11: StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker org.apache.avro.Schema org.apache.avro.Schema java.util.Deque org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult org.apache.avro.Schema$Field java.util.Iterator org.apache.avro.Schema$Field
StackMap stack:
aload 4
12: getstatic org.apache.avro.SchemaCompatibility$SchemaIncompatibilityType.READER_FIELD_MISSING_DEFAULT_VALUE:Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;
13: aload 1
aload 2
aload 5
invokevirtual org.apache.avro.Schema$Field.name:()Ljava/lang/String;
aload 3
invokestatic org.apache.avro.SchemaCompatibility.asList:(Ljava/util/Deque;)Ljava/util/List;
14: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.incompatible:(Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/lang/String;Ljava/util/List;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
15: invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
16: goto 18
17: StackMap locals:
StackMap stack:
aload 4
aload 0
ldc "type"
aload 5
invokevirtual org.apache.avro.Schema$Field.schema:()Lorg/apache/avro/Schema;
aload 7
invokevirtual org.apache.avro.Schema$Field.schema:()Lorg/apache/avro/Schema;
aload 3
invokevirtual org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.getCompatibility:(Ljava/lang/String;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
invokevirtual org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.mergedWith:(Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
18: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
pop
end local 7 end local 5 19: StackMap locals: org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker org.apache.avro.Schema org.apache.avro.Schema java.util.Deque org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
20: aload 3
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
pop
21: 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 22 0 this Lorg/apache/avro/SchemaCompatibility$ReaderWriterCompatibilityChecker;
0 22 1 reader Lorg/apache/avro/Schema;
0 22 2 writer Lorg/apache/avro/Schema;
0 22 3 location Ljava/util/Deque<Ljava/lang/String;>;
1 22 4 result Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
4 19 5 readerField Lorg/apache/avro/Schema$Field;
6 19 7 writerField Lorg/apache/avro/Schema$Field;
Signature: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque<Ljava/lang/String;>;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
MethodParameters:
Name Flags
reader final
writer final
location final
private org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult checkReaderEnumContainsAllWriterEnumSymbols(org.apache.avro.Schema, org.apache.avro.Schema, java.util.Deque<java.lang.String>);
descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.compatible:()Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
start local 4 1: aload 3
ldc "symbols"
invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
2: new java.util.TreeSet
dup
aload 2
invokevirtual org.apache.avro.Schema.getEnumSymbols:()Ljava/util/List;
invokespecial java.util.TreeSet.<init>:(Ljava/util/Collection;)V
astore 5
start local 5 3: aload 5
aload 1
invokevirtual org.apache.avro.Schema.getEnumSymbols:()Ljava/util/List;
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
4: aload 5
invokeinterface java.util.Set.isEmpty:()Z
ifne 12
5: aload 1
invokevirtual org.apache.avro.Schema.getEnumDefault:()Ljava/lang/String;
ifnull 9
aload 1
invokevirtual org.apache.avro.Schema.getEnumSymbols:()Ljava/util/List;
aload 1
invokevirtual org.apache.avro.Schema.getEnumDefault:()Ljava/lang/String;
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 9
6: aload 5
invokeinterface java.util.Set.clear:()V
7: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.compatible:()Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
8: goto 12
9: StackMap locals: org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult java.util.Set
StackMap stack:
getstatic org.apache.avro.SchemaCompatibility$SchemaIncompatibilityType.MISSING_ENUM_SYMBOLS:Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;
aload 1
10: aload 2
aload 5
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 3
invokestatic org.apache.avro.SchemaCompatibility.asList:(Ljava/util/Deque;)Ljava/util/List;
11: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.incompatible:(Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/lang/String;Ljava/util/List;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
12: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
pop
13: aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/avro/SchemaCompatibility$ReaderWriterCompatibilityChecker;
0 14 1 reader Lorg/apache/avro/Schema;
0 14 2 writer Lorg/apache/avro/Schema;
0 14 3 location Ljava/util/Deque<Ljava/lang/String;>;
1 14 4 result Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
3 14 5 symbols Ljava/util/Set<Ljava/lang/String;>;
Signature: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque<Ljava/lang/String;>;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
MethodParameters:
Name Flags
reader final
writer final
location final
private org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult checkFixedSize(org.apache.avro.Schema, org.apache.avro.Schema, java.util.Deque<java.lang.String>);
descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.compatible:()Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
start local 4 1: aload 3
ldc "size"
invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
2: aload 1
invokevirtual org.apache.avro.Schema.getFixedSize:()I
istore 5
start local 5 3: aload 2
invokevirtual org.apache.avro.Schema.getFixedSize:()I
istore 6
start local 6 4: iload 5
iload 6
if_icmpeq 9
5: ldc "expected: %d, found: %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 7
start local 7 6: getstatic org.apache.avro.SchemaCompatibility$SchemaIncompatibilityType.FIXED_SIZE_MISMATCH:Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;
aload 1
aload 2
7: aload 7
aload 3
invokestatic org.apache.avro.SchemaCompatibility.asList:(Ljava/util/Deque;)Ljava/util/List;
8: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.incompatible:(Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/lang/String;Ljava/util/List;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
end local 7 9: StackMap locals: org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult int int
StackMap stack:
aload 3
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
pop
10: aload 4
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/avro/SchemaCompatibility$ReaderWriterCompatibilityChecker;
0 11 1 reader Lorg/apache/avro/Schema;
0 11 2 writer Lorg/apache/avro/Schema;
0 11 3 location Ljava/util/Deque<Ljava/lang/String;>;
1 11 4 result Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
3 11 5 actual I
4 11 6 expected I
6 9 7 message Ljava/lang/String;
Signature: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque<Ljava/lang/String;>;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
MethodParameters:
Name Flags
reader final
writer final
location final
private org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult checkSchemaNames(org.apache.avro.Schema, org.apache.avro.Schema, java.util.Deque<java.lang.String>);
descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.compatible:()Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
start local 4 1: aload 3
ldc "name"
invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
2: aload 1
aload 2
invokestatic org.apache.avro.SchemaCompatibility.schemaNameEquals:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;)Z
ifne 7
3: ldc "expected: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual org.apache.avro.Schema.getFullName:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 5
start local 5 4: getstatic org.apache.avro.SchemaCompatibility$SchemaIncompatibilityType.NAME_MISMATCH:Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;
aload 1
aload 2
5: aload 5
aload 3
invokestatic org.apache.avro.SchemaCompatibility.asList:(Ljava/util/Deque;)Ljava/util/List;
6: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.incompatible:(Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/lang/String;Ljava/util/List;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
astore 4
end local 5 7: StackMap locals: org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult
StackMap stack:
aload 3
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
pop
8: 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 9 0 this Lorg/apache/avro/SchemaCompatibility$ReaderWriterCompatibilityChecker;
0 9 1 reader Lorg/apache/avro/Schema;
0 9 2 writer Lorg/apache/avro/Schema;
0 9 3 location Ljava/util/Deque<Ljava/lang/String;>;
1 9 4 result Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
4 7 5 message Ljava/lang/String;
Signature: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque<Ljava/lang/String;>;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
MethodParameters:
Name Flags
reader final
writer final
location final
private org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult typeMismatch(org.apache.avro.Schema, org.apache.avro.Schema, java.util.Deque<java.lang.String>);
descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "reader type: %s not compatible with writer type: %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
aastore
dup
iconst_1
1: aload 2
invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
aastore
2: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 4
start local 4 3: getstatic org.apache.avro.SchemaCompatibility$SchemaIncompatibilityType.TYPE_MISMATCH:Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;
aload 1
aload 2
aload 4
4: aload 3
invokestatic org.apache.avro.SchemaCompatibility.asList:(Ljava/util/Deque;)Ljava/util/List;
5: invokestatic org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult.incompatible:(Lorg/apache/avro/SchemaCompatibility$SchemaIncompatibilityType;Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/lang/String;Ljava/util/List;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/avro/SchemaCompatibility$ReaderWriterCompatibilityChecker;
0 6 1 reader Lorg/apache/avro/Schema;
0 6 2 writer Lorg/apache/avro/Schema;
0 6 3 location Ljava/util/Deque<Ljava/lang/String;>;
3 6 4 message Ljava/lang/String;
Signature: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Ljava/util/Deque<Ljava/lang/String;>;)Lorg/apache/avro/SchemaCompatibility$SchemaCompatibilityResult;
MethodParameters:
Name Flags
reader final
writer final
location final
static int[] $SWITCH_TABLE$org$apache$avro$Schema$Type();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.$SWITCH_TABLE$org$apache$avro$Schema$Type:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.apache.avro.Schema$Type.values:()[Lorg/apache/avro/Schema$Type;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.apache.avro.Schema$Type.ARRAY:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.apache.avro.Schema$Type.BOOLEAN:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
bipush 13
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.apache.avro.Schema$Type.BYTES:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
bipush 8
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.apache.avro.Schema$Type.DOUBLE:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
bipush 12
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.apache.avro.Schema$Type.ENUM:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
iconst_2
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.apache.avro.Schema$Type.FIXED:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
bipush 6
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.apache.avro.Schema$Type.FLOAT:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
bipush 11
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic org.apache.avro.Schema$Type.INT:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
bipush 9
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic org.apache.avro.Schema$Type.LONG:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
bipush 10
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic org.apache.avro.Schema$Type.MAP:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
iconst_4
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic org.apache.avro.Schema$Type.NULL:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
bipush 14
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic org.apache.avro.Schema$Type.RECORD:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
iconst_1
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic org.apache.avro.Schema$Type.STRING:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
bipush 7
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic org.apache.avro.Schema$Type.UNION:Lorg/apache/avro/Schema$Type;
invokevirtual org.apache.avro.Schema$Type.ordinal:()I
iconst_5
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
dup
putstatic org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker.$SWITCH_TABLE$org$apache$avro$Schema$Type:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
}
SourceFile: "SchemaCompatibility.java"
NestHost: org.apache.avro.SchemaCompatibility
InnerClasses:
public Field = org.apache.avro.Schema$Field of org.apache.avro.Schema
public final Type = org.apache.avro.Schema$Type of org.apache.avro.Schema
private final ReaderWriter = org.apache.avro.SchemaCompatibility$ReaderWriter of org.apache.avro.SchemaCompatibility
private final ReaderWriterCompatibilityChecker = org.apache.avro.SchemaCompatibility$ReaderWriterCompatibilityChecker of org.apache.avro.SchemaCompatibility
public final SchemaCompatibilityResult = org.apache.avro.SchemaCompatibility$SchemaCompatibilityResult of org.apache.avro.SchemaCompatibility
public final SchemaCompatibilityType = org.apache.avro.SchemaCompatibility$SchemaCompatibilityType of org.apache.avro.SchemaCompatibility
public final SchemaIncompatibilityType = org.apache.avro.SchemaCompatibility$SchemaIncompatibilityType of org.apache.avro.SchemaCompatibility