package com.nativelibs4java.mono.library;
/**
 * This structure is an internal runtime detail: use the mono_signature_*<br>
 * accessors below, because it will go away from the public header.<br>
 * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
 * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
 * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a>, <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
 */
public class MonoMethodSignature extends com.ochafik.lang.jnaerator.runtime.Structure<MonoMethodSignature, MonoMethodSignature.ByValue, MonoMethodSignature.ByReference> {
	@com.ochafik.lang.jnaerator.runtime.Bits(1)
	public byte hasthis;
	@com.ochafik.lang.jnaerator.runtime.Bits(1)
	public byte explicit_this;
	@com.ochafik.lang.jnaerator.runtime.Bits(6)
	public byte call_convention;
	@com.ochafik.lang.jnaerator.runtime.Bits(1)
	public byte pinvoke;
	@com.ochafik.lang.jnaerator.runtime.Bits(23)
	public int ref_count;
	public short param_count;
	public short sentinelpos;
	@com.ochafik.lang.jnaerator.runtime.Bits(30)
	public int generic_param_count;
	@com.ochafik.lang.jnaerator.runtime.Bits(1)
	public byte is_inflated;
	@com.ochafik.lang.jnaerator.runtime.Bits(1)
	public byte has_type_parameters;
	/// C type : MonoType*
	public com.nativelibs4java.mono.library.MonoType.ByReference ret;
	/// C type : MonoType*[1]
	public com.nativelibs4java.mono.library.MonoType.ByReference[] params = new com.nativelibs4java.mono.library.MonoType.ByReference[(1)];
	public MonoMethodSignature() {
		super();
	}
	protected ByReference newByReference() { return new ByReference(); }
	protected ByValue newByValue() { return new ByValue(); }
	protected MonoMethodSignature newInstance() { return new MonoMethodSignature(); }
	public static MonoMethodSignature[] newArray(int arrayLength) {
		return com.ochafik.lang.jnaerator.runtime.Structure.newArray(MonoMethodSignature.class, arrayLength);
	}
	public static class ByReference extends MonoMethodSignature implements com.sun.jna.Structure.ByReference {}
	public static class ByValue extends MonoMethodSignature implements com.sun.jna.Structure.ByValue {}
}
