// 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/long_double.java
// @PrimitiveConversion("long double")
// public class long_double extends Primitive
// {
// 	private final double value;
// 
// 	public long_double(final double value)
// 	{
// 		this.value = value;
// 	}
// }


import com.stormmq.java2c.model.primitives.char_;
import com.stormmq.java2c.model.primitives.long_double;
import com.stormmq.java2c.model.variables.unsigned;
import org.jetbrains.annotations.NotNull;
package com.stormmq.java2c.samples2;


public interface AnInterface
{
	/*

		addJava("boolean", "_Bool");
		addJava("byte", "int8_t");
		addJava("short", "int16_t");
		addJava("int", "int32_t");
		addJava("long", "int64_t");
		addJava("char", "uint16_t");
		addJava("float", "float");
		addJava("double", "double");
	 */

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdbool.h>
			extern const _Bool com_stormmq_java2c_samples2_AnInterface_boolLiteral;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdbool.h>
			const _Bool com_stormmq_java2c_samples2_AnInterface_boolLiteral = true;
	 */
	boolean boolLiteral = true;

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdint.h>
			extern const int8_t com_stormmq_java2c_samples2_AnInterface_int8Literal;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdint.h>
			const int8_t com_stormmq_java2c_samples2_AnInterface_int8Literal = INT8_C(10);
	 */
	byte int8Literal = (byte) 10; // TODO: test non-cast and see if that's also literal

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdint.h>
			extern const uint8_t com_stormmq_java2c_samples2_AnInterface_uint8Literal;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdint.h>
			const uint8_t com_stormmq_java2c_samples2_AnInterface_uint8Literal = UINT8_C(11);
	 */
	@unsigned byte uint8Literal = (byte) 11;

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdint.h>
			extern const int16_t com_stormmq_java2c_samples2_AnInterface_int16Literal;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdint.h>
			const int16_t com_stormmq_java2c_samples2_AnInterface_int16Literal = INT16_C(20);
	 */
	short int16Literal = (short) 20;

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdint.h>
			extern const uint16_t com_stormmq_java2c_samples2_AnInterface_uint16Literal;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdint.h>
			const uint16_t com_stormmq_java2c_samples2_AnInterface_uint16Literal = UINT16_C(21);
	 */
	char uint16Literal = (char) 21;

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdint.h>
			extern const int32_t com_stormmq_java2c_samples2_AnInterface_int32Literal;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdint.h>
			const int32_t com_stormmq_java2c_samples2_AnInterface_int32Literal = INT32_C(30);
	 */
// 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/long_double.java
// @PrimitiveConversion("long double")
// public class long_double extends Primitive
// {
// 	private final double value;
// 
// 	public long_double(final double value)
// 	{
// 		this.value = value;
// 	}
// }


// Path: source/samples2/com/stormmq/java2c/samples2/AnInterface.java
import com.stormmq.java2c.model.primitives.char_;
import com.stormmq.java2c.model.primitives.long_double;
import com.stormmq.java2c.model.variables.unsigned;
import org.jetbrains.annotations.NotNull;

package com.stormmq.java2c.samples2;


public interface AnInterface
{
	/*

		addJava("boolean", "_Bool");
		addJava("byte", "int8_t");
		addJava("short", "int16_t");
		addJava("int", "int32_t");
		addJava("long", "int64_t");
		addJava("char", "uint16_t");
		addJava("float", "float");
		addJava("double", "double");
	 */

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdbool.h>
			extern const _Bool com_stormmq_java2c_samples2_AnInterface_boolLiteral;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdbool.h>
			const _Bool com_stormmq_java2c_samples2_AnInterface_boolLiteral = true;
	 */
	boolean boolLiteral = true;

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdint.h>
			extern const int8_t com_stormmq_java2c_samples2_AnInterface_int8Literal;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdint.h>
			const int8_t com_stormmq_java2c_samples2_AnInterface_int8Literal = INT8_C(10);
	 */
	byte int8Literal = (byte) 10; // TODO: test non-cast and see if that's also literal

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdint.h>
			extern const uint8_t com_stormmq_java2c_samples2_AnInterface_uint8Literal;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdint.h>
			const uint8_t com_stormmq_java2c_samples2_AnInterface_uint8Literal = UINT8_C(11);
	 */
	@unsigned byte uint8Literal = (byte) 11;

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdint.h>
			extern const int16_t com_stormmq_java2c_samples2_AnInterface_int16Literal;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdint.h>
			const int16_t com_stormmq_java2c_samples2_AnInterface_int16Literal = INT16_C(20);
	 */
	short int16Literal = (short) 20;

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdint.h>
			extern const uint16_t com_stormmq_java2c_samples2_AnInterface_uint16Literal;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdint.h>
			const uint16_t com_stormmq_java2c_samples2_AnInterface_uint16Literal = UINT16_C(21);
	 */
	char uint16Literal = (char) 21;

	/*
		com_stormmq_java2c_samples2_AnInterface.h:
			#include <stdint.h>
			extern const int32_t com_stormmq_java2c_samples2_AnInterface_int32Literal;

		com_stormmq_java2c_samples2_AnInterface.c:
			#include <stdint.h>
			const int32_t com_stormmq_java2c_samples2_AnInterface_int32Literal = INT32_C(30);
	 */
	int int32Literal = 30;