// Path: source/model/com/stormmq/java2c/model/Struct.java
// public abstract class Struct extends Root
// {
// 	protected Struct()
// 	{
// 	}
// }
// 
// Path: source/model/com/stormmq/java2c/model/primitives/char_.java
// @PrimitiveConversion("char")
// public class char_ extends Primitive
// {
// 	private final byte value;
// 
// 	// In practice, this is a a signed char on Linux for x86, and unsigned for PowerPC and ARM
// 	// Determined by ABI. The options -funsigned-char and -fsigned-char change the default.
// 	// It is probably most sensible to only use char for strings, and avoid its use everywhere else.
// 	// And, in using this value, to go 'the Java way' and treat it as signed (certainly, we're less likely to screw up).
// 	public char_(final byte value)
// 	{
// 		this.value = value;
// 	}
// }
// 
// Path: source/model/com/stormmq/java2c/model/primitives/signed_int.java
// @PrimitiveConversion("signed int")
// public class signed_int extends Primitive
// {
// 	private final short value;
// 
// 	// Technically, can be 16-bit, but in practice this is no longer true; it's 32-bit on 32-bit and 64-bit Linux
// 	public signed_int(final short value)
// 	{
// 		this.value = value;
// 	}
// 
// 	@NotNull
// 	public static signed_int literal(final short literal)
// 	{
// 		return new signed_int(literal);
// 	}
// }


import com.stormmq.java2c.model.primitives.Pointer;
import com.stormmq.java2c.model.Struct;
import com.stormmq.java2c.model.functions.*;
import com.stormmq.java2c.model.primitives.char_;
import com.stormmq.java2c.model.primitives.signed_int;
import com.stormmq.java2c.model.variables.unsigned;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import static com.stormmq.java2c.model.functions.FormatArgArchetype.printf;
import static com.stormmq.java2c.model.functions.Inlining.Force;
import static com.stormmq.java2c.model.functions.Purity.Constant;

	@Override
	@inline(Force)
	@flatten
	@hot
	public int hashCode()
	{
		return index;
	}

	@pure(Constant)
	@cold
	public static int divideByTwo(final int value)
	{
		return value / 2;
	}

	@Deprecated
	private void printHello()
	{
	}

	@SuppressWarnings("UnusedDeclaration")
	private static void notUsed(@NotNull @sentinel final Object... varargs)
	{
	}

	// In this case, because c_signed_int is a primitive, we do not generate an __attribute__((returns_nonnull))
	// Nor do we generate __attribute__((nonnull(varargs))) for varargs
	@NotNull
// Path: source/model/com/stormmq/java2c/model/Struct.java
// public abstract class Struct extends Root
// {
// 	protected Struct()
// 	{
// 	}
// }
// 
// Path: source/model/com/stormmq/java2c/model/primitives/char_.java
// @PrimitiveConversion("char")
// public class char_ extends Primitive
// {
// 	private final byte value;
// 
// 	// In practice, this is a a signed char on Linux for x86, and unsigned for PowerPC and ARM
// 	// Determined by ABI. The options -funsigned-char and -fsigned-char change the default.
// 	// It is probably most sensible to only use char for strings, and avoid its use everywhere else.
// 	// And, in using this value, to go 'the Java way' and treat it as signed (certainly, we're less likely to screw up).
// 	public char_(final byte value)
// 	{
// 		this.value = value;
// 	}
// }
// 
// Path: source/model/com/stormmq/java2c/model/primitives/signed_int.java
// @PrimitiveConversion("signed int")
// public class signed_int extends Primitive
// {
// 	private final short value;
// 
// 	// Technically, can be 16-bit, but in practice this is no longer true; it's 32-bit on 32-bit and 64-bit Linux
// 	public signed_int(final short value)
// 	{
// 		this.value = value;
// 	}
// 
// 	@NotNull
// 	public static signed_int literal(final short literal)
// 	{
// 		return new signed_int(literal);
// 	}
// }


// Path: source/samples/com/stormmq/java2c/samples/Single.java
import com.stormmq.java2c.model.primitives.Pointer;
import com.stormmq.java2c.model.Struct;
import com.stormmq.java2c.model.functions.*;
import com.stormmq.java2c.model.primitives.char_;
import com.stormmq.java2c.model.primitives.signed_int;
import com.stormmq.java2c.model.variables.unsigned;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import static com.stormmq.java2c.model.functions.FormatArgArchetype.printf;
import static com.stormmq.java2c.model.functions.Inlining.Force;
import static com.stormmq.java2c.model.functions.Purity.Constant;


	@Override
	@inline(Force)
	@flatten
	@hot
	public int hashCode()
	{
		return index;
	}

	@pure(Constant)
	@cold
	public static int divideByTwo(final int value)
	{
		return value / 2;
	}

	@Deprecated
	private void printHello()
	{
	}

	@SuppressWarnings("UnusedDeclaration")
	private static void notUsed(@NotNull @sentinel final Object... varargs)
	{
	}

	// In this case, because c_signed_int is a primitive, we do not generate an __attribute__((returns_nonnull))
	// Nor do we generate __attribute__((nonnull(varargs))) for varargs
	@NotNull
	private static signed_int myPrintf(@NotNull final Pointer<signed_int> something, @NotNull @format_arg final Pointer<char_> my_format, @NotNull @format(printf) Object... varargs)