- Enclosing interface:
- CLinker.VaList
public static interface CLinker.VaList.Builder
A builder interface used to construct a C
va_list.
Unless otherwise specified, passing a null argument, or an array argument containing one or more null
elements to a method in this class causes a NullPointerException to be thrown.
- API Note:
- In the future, if the Java language permits,
CLinker.VaList.Buildermay become asealedinterface, which would prohibit subclassing except by explicitly permitted types.
-
Method Summary
Modifier and TypeMethodDescriptionvargFromAddress(ValueLayout layout, Addressable value)Adds a native value represented as aMemoryAddressto the Cva_listbeing constructed.vargFromDouble(ValueLayout layout, double value)Adds a native value represented as adoubleto the Cva_listbeing constructed.vargFromInt(ValueLayout layout, int value)Adds a native value represented as anintto the Cva_listbeing constructed.vargFromLong(ValueLayout layout, long value)Adds a native value represented as alongto the Cva_listbeing constructed.vargFromSegment(GroupLayout layout, MemorySegment value)Adds a native value represented as aMemorySegmentto the Cva_listbeing constructed.
-
Method Details
-
vargFromInt
Adds a native value represented as anintto the Cva_listbeing constructed.- Parameters:
layout- the native layout of the value.value- the value, represented as anint.- Returns:
- this builder.
- Throws:
IllegalArgumentException- if the given memory layout is not compatible withint
-
vargFromLong
Adds a native value represented as alongto the Cva_listbeing constructed.- Parameters:
layout- the native layout of the value.value- the value, represented as along.- Returns:
- this builder.
- Throws:
IllegalArgumentException- if the given memory layout is not compatible withlong
-
vargFromDouble
Adds a native value represented as adoubleto the Cva_listbeing constructed.- Parameters:
layout- the native layout of the value.value- the value, represented as adouble.- Returns:
- this builder.
- Throws:
IllegalArgumentException- if the given memory layout is not compatible withdouble
-
vargFromAddress
Adds a native value represented as aMemoryAddressto the Cva_listbeing constructed.- Parameters:
layout- the native layout of the value.value- the value, represented as aAddressable.- Returns:
- this builder.
- Throws:
IllegalArgumentException- if the given memory layout is not compatible withMemoryAddress
-
vargFromSegment
Adds a native value represented as aMemorySegmentto the Cva_listbeing constructed.- Parameters:
layout- the native layout of the value.value- the value, represented as aMemorySegment.- Returns:
- this builder.
- Throws:
IllegalArgumentException- if the given memory layout is not compatible withMemorySegment
-