diff --git a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/MsftVxtManager.java b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/MsftVxtManager.java
index 04a7a7eb3d..8b5e04f0ae 100644
--- a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/MsftVxtManager.java
+++ b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/MsftVxtManager.java
@@ -52,9 +52,9 @@ import mdemangler.typeinfo.*;
* {@link #createVirtualTable(CategoryPath, String, Address, TaskMonitor)} methods demangle
* the strings and created tables within a owner/parentage tree based on the demangled information.
*
- * The {@link #findVbt(ClassID, List)} and {@link #findVft(ClassID, List)} methods attempt
- * to find the VF/VB tables by finding the appropriate node in the tree based upon owner and
- * at-times-mismatched parentage information from the user. This mismatch is not necessarily
+ * The {@link #findVbt(ClassID, List, Integer)} and {@link #findVft(ClassID, List, Integer)} methods
+ * attempt to find the VF/VB tables by finding the appropriate node in the tree based upon owner
+ * and at-times-mismatched parentage information from the user. This mismatch is not necessarily
* the fault of the user, but more due to what parentage is incorporated into the mangled name.
*
* DESIGN of find mechanism
@@ -127,6 +127,12 @@ public class MsftVxtManager extends VxtManager {
private Map> vbtsByOwner;
private Map> vftsByOwner;
+ // A new interim solution using the address order per owner.
+ private Map> vbtByAddressByOwner;
+ private Map> vftByAddressByOwner;
+ private Map> vbtByPtrOrdinalByOwner;
+ private Map> vftByPtrOrdinalByOwner;
+
// Used for locating vft and vbt
// These are explicitly used for storing/retrieving the "program" versions which result from
// locating and parsing the mangled strings for these tables. It is possible that these
@@ -149,6 +155,10 @@ public class MsftVxtManager extends VxtManager {
parentageNodeByMangled = new HashMap<>();
vbtsByOwner = new HashMap<>();
vftsByOwner = new HashMap<>();
+ vbtByAddressByOwner = new HashMap<>();
+ vftByAddressByOwner = new HashMap<>();
+ vbtByPtrOrdinalByOwner = new HashMap<>();
+ vftByPtrOrdinalByOwner = new HashMap<>();
vbtRoot = new ParentageNode(null);
vftRoot = new ParentageNode(null);
vbtsByOwnerParentage = new HashMap<>();
@@ -295,23 +305,63 @@ public class MsftVxtManager extends VxtManager {
* @param parentage the parentage for the desired table. The parentage must start with the
* parent that contains the pointer to the table and should include the ordered lineage from
* that class through all of its decendents to the owner, excluding the owner
+ * @param ordinal ordinal of table for owner as sorted by address
* @return the table
*/
- public VirtualBaseTable findVbt(ClassID owner, List parentage) {
+ public VirtualBaseTable findVbt(ClassID owner, List parentage, Integer ordinal) {
OwnerParentage op = new OwnerParentage(owner, parentage);
VirtualBaseTable vbt = vbtsByOwnerParentage.get(op);
if (vbt != null) {
return vbt;
}
- vbt = searchVbtTree(owner, parentage);
+ vbt = getVbtByAddressOrdinal(owner, ordinal);
if (vbt == null) {
- vbt = new PlaceholderVirtualBaseTable(owner, parentage);
+ vbt = searchVbtTree(owner, parentage);
+ if (vbt == null) {
+ vbt = new PlaceholderVirtualBaseTable(owner, parentage);
+ }
}
vbtsByOwnerParentage.put(op, vbt);
- storeVbt(owner, vbt);
+ storeVbt(owner, ordinal, vbt);
return vbt;
}
+ private VirtualBaseTable getVbtByAddressOrdinal(ClassID owner, Integer ordinal) {
+ if (ordinal == null) {
+ return null;
+ }
+ Map map = vbtByAddressByOwner.get(owner);
+ if (map == null) {
+ return null;
+ }
+ int count = 0;
+ for (Map.Entry entry : map.entrySet()) {
+ if (count == ordinal) {
+ return entry.getValue();
+ }
+ count++;
+ }
+ return null;
+ }
+
+ private VirtualFunctionTable getVftByAddressOrdinal(ClassID owner, Integer ordinal) {
+ if (ordinal == null) {
+ return null;
+ }
+ Map map = vftByAddressByOwner.get(owner);
+ if (map == null) {
+ return null;
+ }
+ int count = 0;
+ for (Map.Entry entry : map.entrySet()) {
+ if (count == ordinal) {
+ return entry.getValue();
+ }
+ count++;
+ }
+ return null;
+ }
+
private VirtualBaseTable searchVbtTree(ClassID owner, List parentage) {
ParentageNode node = findNode(owner, parentage, vbtRoot);
if (node == null) {
@@ -341,20 +391,24 @@ public class MsftVxtManager extends VxtManager {
* @param parentage the parentage for the desired table. The parentage must start with the
* parent that contains the pointer to the table and should include the ordered lineage from
* that class through all of its decendents to the owner, excluding the owner
+ * @param ordinal ordinal of table for owner as sorted by address
* @return the table
*/
- public VirtualFunctionTable findVft(ClassID owner, List parentage) {
+ public VirtualFunctionTable findVft(ClassID owner, List parentage, Integer ordinal) {
OwnerParentage op = new OwnerParentage(owner, parentage);
VirtualFunctionTable vft = vftsByOwnerParentage.get(op);
if (vft != null) {
return vft;
}
- vft = searchVftTree(owner, parentage);
+ vft = getVftByAddressOrdinal(owner, ordinal);
if (vft == null) {
- vft = new PlaceholderVirtualFunctionTable(owner, parentage);
+ vft = searchVftTree(owner, parentage);
+ if (vft == null) {
+ vft = new PlaceholderVirtualFunctionTable(owner, parentage);
+ }
}
vftsByOwnerParentage.put(op, vft);
- storeVft(owner, vft);
+ storeVft(owner, ordinal, vft);
return vft;
}
@@ -463,7 +517,7 @@ public class MsftVxtManager extends VxtManager {
}
node.setVBTable(prvbt);
vbtByAddress.put(address, prvbt);
- storeVbt(owner, prvbt); // temp solution?
+ storeVbt(owner, address, prvbt); // temp solution?
break;
case VFT:
@@ -475,7 +529,7 @@ public class MsftVxtManager extends VxtManager {
}
node.setVFTable(vft);
vftByAddress.put(address, vft);
- storeVft(owner, vft); // temp solution?
+ storeVft(owner, address, vft); // temp solution?
break;
default:
@@ -484,9 +538,8 @@ public class MsftVxtManager extends VxtManager {
return true;
}
- private void storeVbt(ClassID owner, VirtualBaseTable vbt) {
- ClassID own = vbt.getOwner();
- List list = vbtsByOwner.get(own);
+ private void storeVbt(ClassID owner, Address address, VirtualBaseTable vbt) {
+ List list = vbtsByOwner.get(owner);
if (list == null) {
list = new ArrayList<>();
vbtsByOwner.put(owner, list);
@@ -498,9 +551,55 @@ public class MsftVxtManager extends VxtManager {
}
}
list.add(vbt);
+
+ // Part of next interim solution
+ Map map = vbtByAddressByOwner.get(owner);
+ if (map == null) {
+ map = new TreeMap<>();
+ vbtByAddressByOwner.put(owner, map);
+ }
+ if (map.containsKey(address)) {
+ Msg.warn(this, String.format("VBT already exists for owner/address %s/%s",
+ owner.getSymbolPath().toString(), address.toString()));
+ return;
+ }
+ map.put(address, vbt);
+
}
- private void storeVft(ClassID owner, VirtualFunctionTable vft) {
+ private void storeVbt(ClassID owner, Integer ordinal, VirtualBaseTable vbt) {
+ List list = vbtsByOwner.get(owner);
+ if (list == null) {
+ list = new ArrayList<>();
+ vbtsByOwner.put(owner, list);
+ }
+ List parentage = vbt.getParentage();
+ for (VirtualBaseTable table : list) {
+ if (isEqual(table.getParentage(), parentage)) {
+ return; // return without saving
+ }
+ }
+ list.add(vbt);
+
+ // Part of next interim solution
+ if (ordinal == null) {
+ return;
+ }
+ Map map = vbtByPtrOrdinalByOwner.get(owner);
+ if (map == null) {
+ map = new TreeMap<>();
+ vbtByPtrOrdinalByOwner.put(owner, map);
+ }
+ if (map.containsKey(ordinal)) {
+ Msg.warn(this, String.format("VBT already exists for owner/ordinal %s/%d ",
+ owner.getSymbolPath().toString(), ordinal));
+ return;
+ }
+ map.put(ordinal, vbt);
+
+ }
+
+ private void storeVft(ClassID owner, Address address, VirtualFunctionTable vft) {
List list = vftsByOwner.get(owner);
if (list == null) {
list = new ArrayList<>();
@@ -513,6 +612,52 @@ public class MsftVxtManager extends VxtManager {
}
}
list.add(vft);
+
+ // Part of next interim solution
+ Map map = vftByAddressByOwner.get(owner);
+ if (map == null) {
+ map = new TreeMap<>();
+ vftByAddressByOwner.put(owner, map);
+ }
+ if (map.containsKey(address)) {
+ Msg.warn(this, String.format("VFT already exists for owner/address %s/%s",
+ owner.getSymbolPath().toString(), address.toString()));
+ return;
+ }
+ map.put(address, vft);
+
+ }
+
+ private void storeVft(ClassID owner, Integer ordinal, VirtualFunctionTable vft) {
+ List list = vftsByOwner.get(owner);
+ if (list == null) {
+ list = new ArrayList<>();
+ vftsByOwner.put(owner, list);
+ }
+ List parentage = vft.getParentage();
+ for (VirtualFunctionTable table : list) {
+ if (isEqual(table.getParentage(), parentage)) {
+ return; // return without saving
+ }
+ }
+ list.add(vft);
+
+ // Part of next interim solution
+ if (ordinal == null) {
+ return;
+ }
+ Map map = vftByPtrOrdinalByOwner.get(owner);
+ if (map == null) {
+ map = new TreeMap<>();
+ vftByPtrOrdinalByOwner.put(owner, map);
+ }
+ if (map.containsKey(ordinal)) {
+ Msg.warn(this, String.format("VFT already exists for owner/ptrOffset %s/%d",
+ owner.getSymbolPath().toString(), ordinal));
+ return;
+ }
+ map.put(ordinal, vft);
+
}
private boolean isEqual(List parentage1, List parentage2) {
diff --git a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualBaseTable.java b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualBaseTable.java
index 68b8e2cc26..2dfacd4016 100644
--- a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualBaseTable.java
+++ b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualBaseTable.java
@@ -216,10 +216,10 @@ public abstract class VirtualBaseTable implements VBTable {
}
/**
- * Returns the built data type for this vftable for the current entries
+ * Returns the built data type for this vbtable for the current entries
* @param dtm the data type manager
* @param categoryPath category path for the table
- * @return the structure of the vftable
+ * @return the structure of the vbtable
*/
public Structure getLayout(DataTypeManager dtm, CategoryPath categoryPath) {
if (!isBuilt) { // what if we want to rebuild... what should we do?
diff --git a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/CppCompositeType.java b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/CppCompositeType.java
index 4a5d22f1f6..7b20795e06 100644
--- a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/CppCompositeType.java
+++ b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/CppCompositeType.java
@@ -1453,7 +1453,7 @@ public class CppCompositeType {
myVftPtrOffset = vftPtrTypeByOffset.firstKey();
VxtPtrInfo info =
new VxtPtrInfo(myVftPtrOffset, myVftPtrOffset, myId, List.of(myId));
- VirtualFunctionTable myVft = vxtManager.findVft(myId, info.parentage());
+ VirtualFunctionTable myVft = vxtManager.findVft(myId, info.parentage(), 0);
myVft.setPtrOffsetInClass(info.finalOffset());
propagatedSelfBaseVfts.add(info);
finalVftByOffset.put(info.finalOffset(), myVft);
@@ -1490,7 +1490,7 @@ public class CppCompositeType {
Msg.warn(this, "Mismatch vbt location for " + myId);
}
VxtPtrInfo info = new VxtPtrInfo(vbtPtrOffset, vbtPtrOffset, myId, List.of(myId));
- VirtualBaseTable myVbt = vxtManager.findVbt(myId, info.parentage());
+ VirtualBaseTable myVbt = vxtManager.findVbt(myId, info.parentage(), 0);
myVbt.setPtrOffsetInClass(info.finalOffset());
propagatedSelfBaseVbts.add(info);
finalVbtByOffset.put(info.finalOffset(), myVbt);
@@ -1548,7 +1548,8 @@ public class CppCompositeType {
Long finalOffset = info.finalOffset();
VirtualFunctionTable myVft = (VirtualFunctionTable) finalVftByOffset.get(finalOffset);
if (myVft == null) {
- myVft = mvxtManager.findVft(myId, info.parentage());
+ Integer ordinal = getOrdinalOfKey(finalVftByOffset, finalOffset);
+ myVft = mvxtManager.findVft(myId, info.parentage(), ordinal);
if (myVft == null) {
return null;
}
@@ -1556,8 +1557,7 @@ public class CppCompositeType {
}
myVft.setPtrOffsetInClass(finalOffset);
- VirtualFunctionTable parentVft =
- mvxtManager.findVft(parentId, parentParentage);
+ VirtualFunctionTable parentVft = mvxtManager.findVft(parentId, parentParentage, null);
if (parentVft == null) {
// this is an error
@@ -1669,7 +1669,8 @@ public class CppCompositeType {
Long finalOffset = info.finalOffset();
VirtualBaseTable myVbt = (VirtualBaseTable) finalVbtByOffset.get(finalOffset);
if (myVbt == null) {
- myVbt = mvxtManager.findVbt(myId, info.parentage());
+ Integer ordinal = getOrdinalOfKey(finalVbtByOffset, finalOffset);
+ myVbt = mvxtManager.findVbt(myId, info.parentage(), ordinal);
if (myVbt == null) {
return null;
}
@@ -1677,8 +1678,7 @@ public class CppCompositeType {
}
myVbt.setPtrOffsetInClass(finalOffset);
- VirtualBaseTable parentVbt =
- mvxtManager.findVbt(parentId, parentParentage);
+ VirtualBaseTable parentVbt = mvxtManager.findVbt(parentId, parentParentage, null);
if (parentVbt == null) {
// this is an error
return null;
@@ -1693,6 +1693,17 @@ public class CppCompositeType {
return myVbt;
}
+ private Integer getOrdinalOfKey(Map map, Long key) {
+ int index = 0;
+ for (Long offset : finalVftByOffset.keySet()) {
+ if (offset == key) {
+ return index;
+ }
+ index++;
+ }
+ return map.size();
+ }
+
/**
* Provides the Virtual Base Table to be used for placing virtual bases of this class
* @throws PdbException upon unrecognized vft type
@@ -1739,12 +1750,15 @@ public class CppCompositeType {
}
}
}
- long off = selfBaseType.getAlignedLength();
+ int off = selfBaseType.getAlignedLength();
for (VirtualLayoutBaseClass base : reorderedVirtualBases) {
CppCompositeType baseType = base.getBaseClassType();
- addPlaceholderVirtualBaseTableEntry(plvbt, vxtManager, base, off);
+ int basePtrOff = base.getBasePointerOffset();
+ Composite baseComposite = baseType.getComposite();
+ off = DataOrganizationImpl.getAlignedOffset(baseComposite.getAlignment(), off);
+ addPlaceholderVirtualBaseTableEntry(plvbt, vxtManager, base, off - basePtrOff);
if (!baseType.hasZeroBaseSize) {
- off += baseType.getSelfBaseType().getAlignedLength();
+ off += baseType.getSelfBaseType().getLength();
}
}
return plvbt;
diff --git a/Ghidra/Features/PDB/src/test/java/ghidra/app/util/pdb/classtype/MsftVxtManagerTest.java b/Ghidra/Features/PDB/src/test/java/ghidra/app/util/pdb/classtype/MsftVxtManagerTest.java
index 94a6c9021a..0bd6ca0622 100644
--- a/Ghidra/Features/PDB/src/test/java/ghidra/app/util/pdb/classtype/MsftVxtManagerTest.java
+++ b/Ghidra/Features/PDB/src/test/java/ghidra/app/util/pdb/classtype/MsftVxtManagerTest.java
@@ -976,244 +976,244 @@ public class MsftVxtManagerTest extends AbstractGenericTest {
int addressIndex = startVbtAddresses;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(A_ID, List.of());
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(A_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(A_ID, List.of(A_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(A_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(B_ID, List.of());
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(B_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(B_ID, List.of(B_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(B_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(C_ID, List.of());
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(C_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(C_ID, List.of(C_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(C_ID, List.of(C_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(C_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(C_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(C_ID, D_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(C_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(A_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(A_ID, D_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(A_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(B_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(B_ID, D_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(D_ID, List.of(B_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(E_ID, List.of(A_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(E_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(E_ID, List.of(A_ID, E_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(E_ID, List.of(A_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(E_ID, List.of(B_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(E_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(E_ID, List.of(B_ID, E_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(E_ID, List.of(B_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(F_ID, List.of());
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(F_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(F_ID, List.of(F_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(F_ID, List.of(F_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(G_ID, List.of());
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(G_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(G_ID, List.of(F_ID, G_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(G_ID, List.of(F_ID, G_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(H_ID, List.of());
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(H_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(H_ID, List.of(F_ID, H_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(H_ID, List.of(F_ID, H_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(I_ID, List.of(G_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(I_ID, List.of(G_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(I_ID, List.of(F_ID, G_ID, I_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(I_ID, List.of(F_ID, G_ID, I_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(I_ID, List.of(H_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(I_ID, List.of(H_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(I_ID, List.of(F_ID, H_ID, I_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(I_ID, List.of(F_ID, H_ID, I_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(J_ID, List.of(H_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(J_ID, List.of(H_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(J_ID, List.of(J_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(J_ID, List.of(J_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(K_ID, List.of());
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(K_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(K_ID, List.of(J_ID, K_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(K_ID, List.of(J_ID, K_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(L_ID, List.of());
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(L_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(L_ID, List.of(J_ID, K_ID, L_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(L_ID, List.of(J_ID, K_ID, L_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(A_ID, E_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(A_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(A_ID, E_ID, M_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(A_ID, E_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(C_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(C_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(C_ID, D_ID, M_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(C_ID, D_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(A_ID, D_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(A_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(A_ID, D_ID, M_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(A_ID, D_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(B_ID, D_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(B_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(B_ID, D_ID, M_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(B_ID, D_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(G_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(G_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
vbt =
- (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(F_ID, G_ID, I_ID, M_ID));
+ (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(F_ID, G_ID, I_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(H_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(H_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
vbt =
- (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(F_ID, H_ID, I_ID, M_ID));
+ (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(F_ID, H_ID, I_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of());
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
vbt =
- (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(J_ID, K_ID, L_ID, M_ID));
+ (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(J_ID, K_ID, L_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(B_ID, E_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(B_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(B_ID, E_ID, M_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(M_ID, List.of(B_ID, E_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
//===
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O1_ID, List.of(A_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O1_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O1_ID, List.of(A_ID, O1_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O1_ID, List.of(A_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O1_ID, List.of(B_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O1_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O1_ID, List.of(B_ID, O1_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O1_ID, List.of(B_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O2_ID, List.of(A_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O2_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O2_ID, List.of(A_ID, O2_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O2_ID, List.of(A_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O2_ID, List.of(B_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O2_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O2_ID, List.of(B_ID, O2_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O2_ID, List.of(B_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O3_ID, List.of(A_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O3_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O3_ID, List.of(A_ID, O3_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O3_ID, List.of(A_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O3_ID, List.of(B_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O3_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O3_ID, List.of(B_ID, O3_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O3_ID, List.of(B_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O4_ID, List.of(A_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O4_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O4_ID, List.of(A_ID, O4_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O4_ID, List.of(A_ID, O4_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O4_ID, List.of(B_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O4_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O4_ID, List.of(B_ID, O4_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O4_ID, List.of(B_ID, O4_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
//==
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O1_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O1_ID, O_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O1_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O1_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O1_ID, O_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O1_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O2_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O2_ID, O_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O2_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O2_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O2_ID, O_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O2_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O3_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O3_ID, O_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O3_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O3_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O3_ID, O_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(B_ID, O3_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O4_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O4_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
- vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O4_ID, O_ID));
+ vbt = (ProgramVirtualBaseTable) mVxtManager32.findVbt(O_ID, List.of(A_ID, O4_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vbt.getAddress());
addressIndex++;
@@ -1236,21 +1236,21 @@ public class MsftVxtManagerTest extends AbstractGenericTest {
int addressIndex = startVftAddresses + 1; // skip one for first meta
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A1_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A1_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A1_ID, List.of(A1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A1_ID, List.of(A1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A2_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A2_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A2_ID, List.of(A2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A2_ID, List.of(A2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of(A_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
@@ -1261,530 +1261,530 @@ public class MsftVxtManagerTest extends AbstractGenericTest {
function.getName().equals(ANS_A_fa_1.getName());
// End of spot-check
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of(A1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of(A1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of(A1_ID, A_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of(A1_ID, A_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of(A2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of(A2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of(A2_ID, A_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(A_ID, List.of(A2_ID, A_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B1_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B1_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B1_ID, List.of(B1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B1_ID, List.of(B1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B2_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B2_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B2_ID, List.of(B2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B2_ID, List.of(B2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of(B_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of(B1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of(B1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of(B1_ID, B_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of(B1_ID, B_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of(B2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of(B2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of(B2_ID, B_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(B_ID, List.of(B2_ID, B_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
// Second is same query as first for this one
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(C_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(C_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(C_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(C_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(A1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(A1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(A1_ID, C_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(A1_ID, C_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(A2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(A2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(A2_ID, C_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(A2_ID, C_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(B1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(B1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(B1_ID, C_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(B1_ID, C_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(B2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(B2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(B2_ID, C_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(C_ID, List.of(B2_ID, C_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(C_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(C_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(C_ID, D_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(C_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A_ID, D_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B_ID, D_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A1_ID, A_ID, D_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A1_ID, A_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A2_ID, A_ID, D_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(A2_ID, A_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B1_ID, B_ID, D_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B1_ID, B_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B2_ID, B_ID, D_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(D_ID, List.of(B2_ID, B_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A_ID, E_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A1_ID, A_ID, E_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A1_ID, A_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A2_ID, A_ID, E_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(A2_ID, A_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B1_ID, B_ID, E_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B1_ID, B_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B2_ID, B_ID, E_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B2_ID, B_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B_ID, E_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(E_ID, List.of(B_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(F_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(F_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(F_ID, List.of(A1_ID, F_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(F_ID, List.of(A1_ID, F_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(G_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(G_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(G_ID, List.of(A1_ID, F_ID, G_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(G_ID, List.of(A1_ID, F_ID, G_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(H_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(H_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(H_ID, List.of(A1_ID, F_ID, H_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(H_ID, List.of(A1_ID, F_ID, H_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(I_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(I_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(I_ID,
- List.of(A1_ID, F_ID, G_ID, I_ID));
+ List.of(A1_ID, F_ID, G_ID, I_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(J_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(J_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(J_ID, List.of(A1_ID, J_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(J_ID, List.of(A1_ID, J_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(K_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(K_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(K_ID, List.of(A1_ID, J_ID, K_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(K_ID, List.of(A1_ID, J_ID, K_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(L_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(L_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(L_ID,
- List.of(A1_ID, J_ID, K_ID, L_ID));
+ List.of(A1_ID, J_ID, K_ID, L_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(N1_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(N1_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(N1_ID, List.of(A1_ID, F_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(N1_ID, List.of(A1_ID, F_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(N2_ID, List.of());
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(N2_ID, List.of(), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(N2_ID, List.of(A1_ID, F_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(N2_ID, List.of(A1_ID, F_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
//==
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A_ID, E_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A_ID, E_ID, M_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A_ID, E_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(C_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(C_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(C_ID, D_ID, M_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(C_ID, D_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A_ID, D_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A_ID, D_ID, M_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A_ID, D_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B_ID, D_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B_ID, D_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B_ID, D_ID, M_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B_ID, D_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(N1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(N1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(N1_ID, M_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(N1_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID,
- List.of(A1_ID, A_ID, E_ID, M_ID));
+ List.of(A1_ID, A_ID, E_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(A2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID,
- List.of(A2_ID, A_ID, E_ID, M_ID));
+ List.of(A2_ID, A_ID, E_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID,
- List.of(B1_ID, B_ID, E_ID, M_ID));
+ List.of(B1_ID, B_ID, E_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID,
- List.of(B2_ID, B_ID, E_ID, M_ID));
+ List.of(B2_ID, B_ID, E_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B_ID, E_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B_ID, E_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B_ID, E_ID, M_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(B_ID, E_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(N2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(N2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(N2_ID, M_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(M_ID, List.of(N2_ID, M_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
//==
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A_ID, O1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B_ID, O1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A1_ID, A_ID, O1_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A1_ID, A_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A2_ID, A_ID, O1_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(A2_ID, A_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B1_ID, B_ID, O1_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B1_ID, B_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B2_ID, B_ID, O1_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O1_ID, List.of(B2_ID, B_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
//==
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A_ID, O2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A1_ID, A_ID, O2_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A1_ID, A_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A2_ID, A_ID, O2_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(A2_ID, A_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B1_ID, B_ID, O2_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B1_ID, B_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B2_ID, B_ID, O2_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B2_ID, B_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B_ID, O2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O2_ID, List.of(B_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
//==
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A_ID, O3_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B_ID, O3_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A1_ID, A_ID, O3_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A1_ID, A_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A2_ID, A_ID, O3_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(A2_ID, A_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B1_ID, B_ID, O3_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B1_ID, B_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B2_ID, B_ID, O3_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O3_ID, List.of(B2_ID, B_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
//==
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A_ID, O4_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A_ID, O4_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A1_ID, A_ID, O4_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A1_ID, A_ID, O4_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A2_ID, A_ID, O4_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(A2_ID, A_ID, O4_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B1_ID, B_ID, O4_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B1_ID, B_ID, O4_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
- (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B2_ID, B_ID, O4_ID));
+ (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B2_ID, B_ID, O4_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B_ID, O4_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O4_ID, List.of(B_ID, O4_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
//==
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O1_ID, O_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O1_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O1_ID, O_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O1_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O2_ID, O_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O2_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
(ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID,
- List.of(A1_ID, A_ID, O1_ID, O_ID));
+ List.of(A1_ID, A_ID, O1_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
(ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID,
- List.of(A2_ID, A_ID, O1_ID, O_ID));
+ List.of(A2_ID, A_ID, O1_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B1_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B1_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
(ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID,
- List.of(B1_ID, B_ID, O1_ID, O_ID));
+ List.of(B1_ID, B_ID, O1_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
vft =
(ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID,
- List.of(B2_ID, B_ID, O1_ID, O_ID));
+ List.of(B2_ID, B_ID, O1_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O2_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O2_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O2_ID, O_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O2_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O3_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O3_ID, O_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O3_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O3_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O3_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O3_ID, O_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(B_ID, O3_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O4_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O4_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
- vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O4_ID, O_ID));
+ vft = (ProgramVirtualFunctionTable) mVxtManager32.findVft(O_ID, List.of(A_ID, O4_ID, O_ID), null);
assertEquals(addresses32.get(addressIndex), vft.getAddress());
addressIndex += 2;