Test suite overhaul for structure types (struct and union) containing structure types and pointers to them.
Added new method overloads for existing methods in Struct.java that are a little easier to use and more idiomatic in addition to the existing methods:
Struct.size() can take in just the Struct type's class like Struct.size(MyStruct.class) in addition to also passing in the Runtime if desired like Struct.size(MyStruct.class, Runtime.getSystemRuntime()). This makes it easier to use for quickly checking the size of a struct without needing to explicitly create a new one, though internally a new one is created using reflection.
Struct.inner() can take in just the Struct type's class like inner(MyInnerStruct.class). This makes it look similar to StructRef which has the same signature in its constructor and the implementation (reflection construction using the default constructor that takes a Runtime argument) was indeed taken from there.
Detailed JavaDoc comments have been added to both the new methods and the old ones
Test suite overhaul for structure types (struct and union) containing structure types and pointers to them.
Added new method overloads for existing methods in Struct.java that are a little easier to use and more idiomatic in addition to the existing methods:
Struct.size()
can take in just the Struct type's class likeStruct.size(MyStruct.class)
in addition to also passing in the Runtime if desired likeStruct.size(MyStruct.class, Runtime.getSystemRuntime())
. This makes it easier to use for quickly checking the size of a struct without needing to explicitly create a new one, though internally a new one is created using reflection.Struct.inner()
can take in just the Struct type's class likeinner(MyInnerStruct.class)
. This makes it look similar toStructRef
which has the same signature in its constructor and the implementation (reflection construction using the default constructor that takes a Runtime argument) was indeed taken from there.Detailed JavaDoc comments have been added to both the new methods and the old ones
This modifies and uses changes from https://github.com/jnr/jnr-ffi/pull/295, merge that one first before this one!