summaryrefslogtreecommitdiff
path: root/src/vm/class.inl
blob: a4c8276476f4d179b6272585a53c800fec7ab147 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
//
// File: CLASS.INL
//


//

//
// ============================================================================

#ifndef _CLASS_INL_
#define _CLASS_INL_
#include "constrainedexecutionregion.h"
//***************************************************************************************
inline PTR_MethodDescChunk EEClass::GetChunks()
{
    LIMITED_METHOD_DAC_CONTRACT;
    return m_pChunks.GetValueMaybeNull(PTR_HOST_MEMBER_TADDR(EEClass, this, m_pChunks));
}

//***************************************************************************************
inline DWORD EEClass::SomeMethodsRequireInheritanceCheck()
{
    return (m_VMFlags & VMFLAG_METHODS_REQUIRE_INHERITANCE_CHECKS);
}

//***************************************************************************************
inline void EEClass::SetSomeMethodsRequireInheritanceCheck()
{
    m_VMFlags = m_VMFlags | VMFLAG_METHODS_REQUIRE_INHERITANCE_CHECKS;
}

//*******************************************************************************
#ifndef DACCESS_COMPILE 
// Set default values for optional fields.
inline void EEClassOptionalFields::Init()
{
    LIMITED_METHOD_CONTRACT;
    m_pDictLayout = NULL;
    m_pVarianceInfo = NULL;
#ifdef FEATURE_COMINTEROP
    m_pSparseVTableMap = NULL;
    m_pCoClassForIntf = TypeHandle();
#ifdef FEATURE_COMINTEROP_UNMANAGED_ACTIVATION
    m_pClassFactory = NULL;
#endif // FEATURE_COMINTEROP_UNMANAGED_ACTIVATION
    m_WinRTRedirectedTypeIndex = WinMDAdapter::RedirectedTypeIndex_Invalid;
#endif // FEATURE_COMINTEROP
    m_cbModuleDynamicID = MODULE_NON_DYNAMIC_STATICS;
    m_dwReliabilityContract = RC_NULL;
    m_SecProps = 0;
#if defined(UNIX_AMD64_ABI) && defined(FEATURE_UNIX_AMD64_STRUCT_PASSING)
    m_numberEightBytes = 0;
#endif // UNIX_AMD64_ABI && FEATURE_UNIX_AMD64_STRUCT_PASSING    
}
#endif // !DACCESS_COMPILE

#endif  // _CLASS_INL_