IKVM.Internal.RuntimeHelperTypes.GetClassLiteralField C# (CSharp) Method

GetClassLiteralField() static private method

static private GetClassLiteralField ( Type type ) : FieldInfo
type IKVM.Reflection.Type
return FieldInfo
        internal static FieldInfo GetClassLiteralField(Type type)
        {
            Debug.Assert(type != Types.Void);
            if (classLiteralType == null)
            {
            #if STATIC_COMPILER
                classLiteralType = JVM.CoreAssembly.GetType("ikvm.internal.ClassLiteral`1");
            #elif !FIRST_PASS
                classLiteralType = typeof([email protected]<>);
            #endif
            }
            #if !STATIC_COMPILER
            if (!IsTypeBuilder(type))
            {
                return classLiteralType.MakeGenericType(type).GetField("Value", BindingFlags.Public | BindingFlags.Static);
            }
            #endif
            if (classLiteralField == null)
            {
                classLiteralField = classLiteralType.GetField("Value", BindingFlags.Public | BindingFlags.Static);
            }
            #if !NOEMIT
            return TypeBuilder.GetField(classLiteralType.MakeGenericType(type), classLiteralField);
            #else
            return null;
            #endif
        }