public abstract class javafx.scene.control.skin.VirtualContainerBase<C extends javafx.scene.control.Control, I extends javafx.scene.control.IndexedCell> extends javafx.scene.control.SkinBase<C>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: javafx.scene.control.skin.VirtualContainerBase
super_class: javafx.scene.control.SkinBase
{
private boolean itemCountDirty;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final javafx.scene.control.skin.VirtualFlow<I> flow;
descriptor: Ljavafx/scene/control/skin/VirtualFlow;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljavafx/scene/control/skin/VirtualFlow<TI;>;
private javafx.event.EventHandler<? super javafx.scene.control.ScrollToEvent<java.lang.Integer>> scrollToEventHandler;
descriptor: Ljavafx/event/EventHandler;
flags: (0x0002) ACC_PRIVATE
Signature: Ljavafx/event/EventHandler<-Ljavafx/scene/control/ScrollToEvent<Ljava/lang/Integer;>;>;
public void <init>();
descriptor: (Ljavafx/scene/control/Control;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial javafx.scene.control.SkinBase.<init>:(Ljavafx/scene/control/Control;)V
1: aload 0
aload 0
invokevirtual javafx.scene.control.skin.VirtualContainerBase.createVirtualFlow:()Ljavafx/scene/control/skin/VirtualFlow;
putfield javafx.scene.control.skin.VirtualContainerBase.flow:Ljavafx/scene/control/skin/VirtualFlow;
2: aload 0
aload 0
invokedynamic handle(Ljavafx/scene/control/skin/VirtualContainerBase;)Ljavafx/event/EventHandler;
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:
(Ljavafx/event/Event;)V
javafx/scene/control/skin/VirtualContainerBase.lambda$0(Ljavafx/scene/control/ScrollToEvent;)V (7)
(Ljavafx/scene/control/ScrollToEvent;)V
putfield javafx.scene.control.skin.VirtualContainerBase.scrollToEventHandler:Ljavafx/event/EventHandler;
3: aload 1
invokestatic javafx.scene.control.ScrollToEvent.scrollToTopIndex:()Ljavafx/event/EventType;
aload 0
getfield javafx.scene.control.skin.VirtualContainerBase.scrollToEventHandler:Ljavafx/event/EventHandler;
invokevirtual javafx.scene.control.Control.addEventHandler:(Ljavafx/event/EventType;Ljavafx/event/EventHandler;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavafx/scene/control/skin/VirtualContainerBase<TC;TI;>;
0 5 1 control TC;
Signature: (TC;)V
MethodParameters:
Name Flags
control final
protected abstract int getItemCount();
descriptor: ()I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected abstract void updateItemCount();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected javafx.scene.control.skin.VirtualFlow<I> createVirtualFlow();
descriptor: ()Ljavafx/scene/control/skin/VirtualFlow;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new javafx.scene.control.skin.VirtualFlow
dup
invokespecial javafx.scene.control.skin.VirtualFlow.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavafx/scene/control/skin/VirtualContainerBase<TC;TI;>;
Signature: ()Ljavafx/scene/control/skin/VirtualFlow<TI;>;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual javafx.scene.control.skin.VirtualContainerBase.getSkinnable:()Ljavafx/scene/control/Control;
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual javafx.scene.control.skin.VirtualContainerBase.getSkinnable:()Ljavafx/scene/control/Control;
invokestatic javafx.scene.control.ScrollToEvent.scrollToTopIndex:()Ljavafx/event/EventType;
aload 0
getfield javafx.scene.control.skin.VirtualContainerBase.scrollToEventHandler:Ljavafx/event/EventHandler;
invokevirtual javafx.scene.control.Control.removeEventHandler:(Ljavafx/event/EventType;Ljavafx/event/EventHandler;)V
2: aload 0
invokespecial javafx.scene.control.SkinBase.dispose:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavafx/scene/control/skin/VirtualContainerBase<TC;TI;>;
protected final javafx.scene.control.skin.VirtualFlow<I> getVirtualFlow();
descriptor: ()Ljavafx/scene/control/skin/VirtualFlow;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.control.skin.VirtualContainerBase.flow:Ljavafx/scene/control/skin/VirtualFlow;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavafx/scene/control/skin/VirtualContainerBase<TC;TI;>;
Signature: ()Ljavafx/scene/control/skin/VirtualFlow<TI;>;
protected final void markItemCountDirty();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield javafx.scene.control.skin.VirtualContainerBase.itemCountDirty:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavafx/scene/control/skin/VirtualContainerBase<TC;TI;>;
protected void layoutChildren(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=9, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: aload 0
invokevirtual javafx.scene.control.skin.VirtualContainerBase.checkState:()V
1: return
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavafx/scene/control/skin/VirtualContainerBase<TC;TI;>;
0 2 1 x D
0 2 3 y D
0 2 5 w D
0 2 7 h D
MethodParameters:
Name Flags
x
y
w
h
double getMaxCellWidth(int);
descriptor: (I)D
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javafx.scene.control.skin.VirtualContainerBase.snappedLeftInset:()D
aload 0
getfield javafx.scene.control.skin.VirtualContainerBase.flow:Ljavafx/scene/control/skin/VirtualFlow;
iload 1
invokevirtual javafx.scene.control.skin.VirtualFlow.getMaxCellWidth:(I)D
dadd
aload 0
invokevirtual javafx.scene.control.skin.VirtualContainerBase.snappedRightInset:()D
dadd
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavafx/scene/control/skin/VirtualContainerBase<TC;TI;>;
0 1 1 rowsToCount I
MethodParameters:
Name Flags
rowsToCount
double getVirtualFlowPreferredHeight(int);
descriptor: (I)D
flags: (0x0000)
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: dconst_1
dstore 2
start local 2 1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: double int
StackMap stack:
dload 2
aload 0
getfield javafx.scene.control.skin.VirtualContainerBase.flow:Ljavafx/scene/control/skin/VirtualFlow;
iload 4
invokevirtual javafx.scene.control.skin.VirtualFlow.getCellLength:(I)D
dadd
dstore 2
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 1
if_icmpge 6
iload 4
aload 0
invokevirtual javafx.scene.control.skin.VirtualContainerBase.getItemCount:()I
if_icmplt 3
end local 4 6: StackMap locals:
StackMap stack:
dload 2
aload 0
invokevirtual javafx.scene.control.skin.VirtualContainerBase.snappedTopInset:()D
dadd
aload 0
invokevirtual javafx.scene.control.skin.VirtualContainerBase.snappedBottomInset:()D
dadd
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavafx/scene/control/skin/VirtualContainerBase<TC;TI;>;
0 7 1 rows I
1 7 2 height D
2 6 4 i I
MethodParameters:
Name Flags
rows
void checkState();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.control.skin.VirtualContainerBase.itemCountDirty:Z
ifeq 3
1: aload 0
invokevirtual javafx.scene.control.skin.VirtualContainerBase.updateItemCount:()V
2: aload 0
iconst_0
putfield javafx.scene.control.skin.VirtualContainerBase.itemCountDirty:Z
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavafx/scene/control/skin/VirtualContainerBase<TC;TI;>;
void requestRebuildCells();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.control.skin.VirtualContainerBase.flow:Ljavafx/scene/control/skin/VirtualFlow;
invokevirtual javafx.scene.control.skin.VirtualFlow.rebuildCells:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavafx/scene/control/skin/VirtualContainerBase<TC;TI;>;
private void lambda$0(javafx.scene.control.ScrollToEvent);
descriptor: (Ljavafx/scene/control/ScrollToEvent;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javafx.scene.control.skin.VirtualContainerBase.itemCountDirty:Z
ifeq 3
1: aload 0
invokevirtual javafx.scene.control.skin.VirtualContainerBase.updateItemCount:()V
2: aload 0
iconst_0
putfield javafx.scene.control.skin.VirtualContainerBase.itemCountDirty:Z
3: StackMap locals:
StackMap stack:
aload 0
getfield javafx.scene.control.skin.VirtualContainerBase.flow:Ljavafx/scene/control/skin/VirtualFlow;
aload 1
invokevirtual javafx.scene.control.ScrollToEvent.getScrollTarget:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokevirtual javafx.scene.control.skin.VirtualFlow.scrollToTop:(I)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavafx/scene/control/skin/VirtualContainerBase<TC;TI;>;
0 5 1 event Ljavafx/scene/control/ScrollToEvent<Ljava/lang/Integer;>;
}
Signature: <C:Ljavafx/scene/control/Control;I:Ljavafx/scene/control/IndexedCell;>Ljavafx/scene/control/SkinBase<TC;>;
SourceFile: "VirtualContainerBase.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles