summaryrefslogtreecommitdiff
path: root/src/vm/clsload.hpp
diff options
context:
space:
mode:
authorFadi Hanna <fadim@microsoft.com>2016-03-30 09:27:04 -0700
committerFadi Hanna <fadim@microsoft.com>2016-03-30 09:27:04 -0700
commita62cb372fb7edf1cf7d7b783bfa653f58dc68a7a (patch)
tree12ed7553b05ad5ead85c984f68d9128d255e931e /src/vm/clsload.hpp
parent72f6c4e1d552474f80b1814288eeb79e09e5760f (diff)
downloadcoreclr-a62cb372fb7edf1cf7d7b783bfa653f58dc68a7a.tar.gz
coreclr-a62cb372fb7edf1cf7d7b783bfa653f58dc68a7a.tar.bz2
coreclr-a62cb372fb7edf1cf7d7b783bfa653f58dc68a7a.zip
Fixing contracts violations, and adding missing contracts to some APIs.
Changing native format reader failure mode to fail fast instead of throwing and exception. [tfs-changeset: 1591477]
Diffstat (limited to 'src/vm/clsload.hpp')
-rw-r--r--src/vm/clsload.hpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/vm/clsload.hpp b/src/vm/clsload.hpp
index ca561a8049..e2705ae2e4 100644
--- a/src/vm/clsload.hpp
+++ b/src/vm/clsload.hpp
@@ -87,18 +87,24 @@ public:
const HashedTypeEntry& SetClassHashBasedEntryValue(EEClassHashEntry_t * pClassHashEntry)
{
+ LIMITED_METHOD_CONTRACT;
+
m_EntryType = EntryType::IsHashedClassEntry;
m_pClassHashEntry = dac_cast<PTR_EEClassHashEntry>(pClassHashEntry);
return *this;
}
EEClassHashEntry_t * GetClassHashBasedEntryValue()
{
+ LIMITED_METHOD_CONTRACT;
+
_ASSERT(m_EntryType == EntryType::IsHashedClassEntry);
return m_pClassHashEntry;
}
const HashedTypeEntry& SetTokenBasedEntryValue(mdTypeDef typeToken, Module * pModule)
{
+ LIMITED_METHOD_CONTRACT;
+
m_EntryType = EntryType::IsHashedTokenEntry;
m_TokenAndModulePair.m_TypeToken = typeToken;
m_TokenAndModulePair.m_pModule = pModule;
@@ -106,6 +112,8 @@ public:
}
const TokenTypeEntry& GetTokenBasedEntryValue()
{
+ LIMITED_METHOD_CONTRACT;
+
_ASSERT(m_EntryType == EntryType::IsHashedTokenEntry);
return m_TokenAndModulePair;
}