using System.Reflection;
using System.Runtime.CompilerServices;

struct A
{
	[MethodImplAttribute(MethodImplOptions.InternalCall)]
	public extern A (float value);
	
	public extern int Foo {
		[MethodImplAttribute(MethodImplOptions.InternalCall)]
		get;
	}
}

struct C
{
	public static int Main ()
	{
		MethodImplAttributes iflags = typeof (A).GetConstructors()[0].GetMethodImplementationFlags ();
		if ((iflags & MethodImplAttributes.InternalCall) == 0)
			return 1;

		iflags = typeof (A).GetProperties ()[0].GetGetMethod ().GetMethodImplementationFlags ();
		if ((iflags & MethodImplAttributes.InternalCall) == 0)
			return 2;
		
		return 0;
	}
}