Example #1
0
BOOL IsEqualType(
    /* [in] */ const CLSModule* module,
    /* [in] */ const TypeDescriptor* descriptor1,
    /* [in] */ const TypeDescriptor* descriptor2)
{
    TypeDescriptor src, dest;

    GetOriginalType(module, descriptor1, &src);
    GetOriginalType(module, descriptor2, &dest);

    _Return (!memcmp(&src, &dest, sizeof(src)));
}
Example #2
0
inline bool MtgCard::operator==(const MtgCard& rhs) {
    return GetLayout() == rhs.GetLayout() &&
            GetManacost() == rhs.GetManacost() &&
            GetCmc() == rhs.GetCmc() &&
            CompareStringList(GetColors(), rhs.GetColors()) &&
            type == rhs.type &&
            CompareStringList(GetSupertypes(), rhs.GetSupertypes()) &&
            CompareStringList(GetTypes(), rhs.GetTypes()) &&
            CompareStringList(GetSubtypes(), rhs.GetSubtypes()) &&
            GetRarity() == rhs.GetRarity() &&
            text == rhs.GetText() &&
            GetFlavor() == rhs.GetFlavor() &&
            GetArtist() == rhs.GetArtist() &&
            GetNumber() == rhs.GetNumber() &&
            GetPower() == rhs.GetPower() &&
            GetToughness() == rhs.GetToughness() &&
            GetLoyalty() == rhs.GetLoyalty() &&
            GetMultiverseid() == rhs.GetMultiverseid() &&
            CompareIntList(GetVariations(), rhs.GetVariations()) &&
            GetImageName() == rhs.GetImageName() &&
            GetWatermark() == rhs.GetWatermark() &&
            GetBorder() == rhs.GetBorder() &&
            IsTimeshifted() == rhs.IsTimeshifted() &&
            GetHand() == rhs.GetHand() &&
            GetLife() == rhs.GetLife() &&
            IsReserved() == rhs.IsReserved() &&
            GetReleasedate() == rhs.GetReleasedate() &&
            IsStarter() == rhs.IsStarter() &&
            CompareStringPairList(GetRulings(), rhs.GetRulings()) &&
            CompareStringPairList(GetForeignNames(), rhs.GetForeignNames()) &&
            GetOriginalText() == rhs.GetOriginalText() &&
            GetOriginalType() == rhs.GetOriginalType() &&
            CompareStringPairList(GetLegalities(), rhs.GetLegalities()) &&
            GetEdition() == rhs.GetEdition();
}
Example #3
0
BOOL TypeConditionValue(PLUBECTX pCtx, ObjectType object, const char *pszDest)
{
    TypeDescriptor *pType, type;
    const char *pszSource;

    switch (object) {
        case Object_Library:
            pszSource = pCtx->m_pLibrary + strlen(pCtx->m_pLibrary);
            while (pszSource != pCtx->m_pLibrary && *(pszSource - 1) != '.') {
                pszSource--;
            }
            return !_stricmp(pszSource, pszDest);
        case Object_Typedef:
            pType = &pCtx->m_pTypedef->mType;
            break;
        case Object_IntfConst:
        {
            if (pCtx->m_pInterfaceConst->mType == TYPE_BOOLEAN)
                return !_stricmp("Boolean", pszDest);
            else if (pCtx->m_pInterfaceConst->mType == TYPE_CHAR32)
                return !_stricmp("Char32", pszDest);
            else if (pCtx->m_pInterfaceConst->mType == TYPE_BYTE)
                return !_stricmp("Byte", pszDest);
            else if (pCtx->m_pInterfaceConst->mType == TYPE_INTEGER16)
                return !_stricmp("Int16", pszDest);
            else if (pCtx->m_pInterfaceConst->mType == TYPE_INTEGER32)
                return !_stricmp("Int32", pszDest);
            else if (pCtx->m_pInterfaceConst->mType == TYPE_INTEGER64)
                return !_stricmp("Int64", pszDest);
            else if (pCtx->m_pInterfaceConst->mType == TYPE_FLOAT)
                return !_stricmp("Float", pszDest);
            else if (pCtx->m_pInterfaceConst->mType == TYPE_DOUBLE)
                return !_stricmp("Double", pszDest);
            else if (pCtx->m_pInterfaceConst->mType == TYPE_STRING)
                return !_stricmp("String", pszDest);
            assert(TRUE == FALSE);
            return FALSE;
        }
        case Object_ClassMethod:
        case Object_IntfMethod:
            pType = &pCtx->m_pMethod->mType;
            break;
        case Object_Param:
            pType = &pCtx->m_pParam->mType;
            break;
        case Object_StcMember:
            pType = &pCtx->m_pStructMember->mType;
            break;
        default:
            assert(TRUE == FALSE);
            return FALSE;
    }

    GetOriginalType(pCtx->m_pModule, pType, &type);
    pszSource = Type2CString(pCtx->m_pModule, &type);

    return !_stricmp(pszSource, pszDest);
}