Public Types |
enum | unique_base { ub_not_found,
ub_found,
ub_multiple
} |
Public Member Functions |
| CsEntityTypeRef () |
| ~CsEntityTypeRef () |
void | clear_without_delete () |
void | delete_entities () |
CsEntityTypeRef | clone () const |
void | replace_generic_parameters (CsEntity *parent, cs_generic_param_type generic_type, unsigned n_arguments, const CsEntityTypeRef *arguments) |
void | replace_generic_parameters (CsDisplay &display, CsEntity *parent, cs_generic_param_type generic_type, unsigned n_arguments, const CsEntityTypeRef *arguments, CsTypeArgumentList *tal) |
bool | is_contains_generic_parameters (cs_generic_param_type generic_type) const |
void | get_used_method_type_parameters (CsEntity *parent, byte method_type_parameters[]) const |
bool | is_contains_dynamic () const |
void | replace_dynamic_to_object () |
bool | isOutputUnsafe () const |
bool | isInputUnsafe () const |
void | delete_value () |
bool | operator< (const CsEntityTypeRef &rhs) const |
bool | operator== (const CsEntityTypeRef &rhs) const |
void | clear () |
bool | equal (const CsEntityTypeRef &rhs) const |
| Returns true if types are equal.
|
bool | equal (const CsEntityTypeRef &rhs, equal_option option) const |
bool | equalWithAnonymousTypes (const CsEntityTypeRef &rhs) const |
cs_inferred_type | equalInferred (const CsEntityTypeRef &rhs, CsEntityTypeRef *method_type_arguments) const |
bool | isUnknown () const |
| Returns true if the type is unknown (undefined).
|
bool | isVoid () const |
| Returns true if the type is void.
|
bool | isBoolean () const |
| Returns true if the type is boolean.
|
bool | isChar () const |
| Returns true if the type is char.
|
bool | isInt8 () const |
| Returns true if the type is sbyte.
|
bool | isUInt8 () const |
| Returns true if the type is byte.
|
bool | isInt16 () const |
| Returns true if the type is short.
|
bool | isUInt16 () const |
| Returns true if the type is ushort.
|
bool | isInt32 () const |
| Returns true if the type is int.
|
bool | isUInt32 () const |
| Returns true if the type is uint.
|
bool | isInt64 () const |
| Returns true if the type is long.
|
bool | isUInt64 () const |
| Returns true if the type is ulong.
|
bool | isFloat32 () const |
| Returns true if the type is float.
|
bool | isFloat64 () const |
| Returns true if the type is double.
|
bool | isDecimal () const |
| Returns true if the type is decimal.
|
bool | isEnum () const |
| Returns true if the type is enum.
|
bool | isEnumOrNullableEnum () const |
| Returns true if the type is enum or enum?.
|
bool | isEnumCompatibleIntegerType () const |
bool | isEnumCompatibleNullableIntegerType () const |
bool | isValueType () const |
| Returns true if the type is value type.
|
bool | isVoidOrValueType () const |
| Returns true if the type is void or value type.
|
bool | isReferenceType () const |
| Returns true if the type is reference type.
|
bool | isClass () const |
| Returns true if the type is class.
|
bool | isInterface () const |
| Returns true if the type is interface.
|
bool | isDelegate () const |
| Returns true if the type is delegate.
|
bool | isClassOrInterface () const |
| Returns true if the type is class or interface.
|
bool | isClassOrValueType () const |
| Returns true if the type is class or value-type.
|
bool | isClassOrValueTypeOrDelegate () const |
| Returns true if the type is class, value-type or delegate.
|
bool | isArray () const |
| Returns true if the type is array.
|
bool | isOneDimensionalArray () const |
| Returns true if the type is one dimensional array.
|
bool | isNull () const |
| Returns true if the type is null literal.
|
bool | isAnonymousFunction () const |
| Returns true if the type is anonymous function.
|
bool | isGenericParam () const |
| Returns true if the type is class, value-type or delegate.
|
bool | isGeneric () const |
| Returns true if the type is generic.
|
void | setConstantExpression () |
| Set constant expression flag.
|
void | clearConstantExpression () |
| Clear constant expression flag.
|
bool | isConstantExpression () const |
| Returns true if type is constant expression.
|
void | setZero () |
| Set zero flag.
|
bool | isZero () const |
| Returns true if type is zero literal.
|
void | setNullable () |
| Set nullable type flag.
|
bool | isNullable () const |
| Returns true if the type is nullable.
|
void | setSZArray () |
| Set ELEMENT_TYPE_SZARRAY flag.
|
bool | isSZArray () const |
| Returns ELEMENT_TYPE_SZARRAY flag.
|
void | setModopt () |
| Set modopt flag.
|
bool | isModopt () const |
| Returns true if the type has ELEMENT_TYPE_CMOD_OPT prefix.
|
void | setDynamic () |
| Set dynamic type.
|
void | clearDynamic () |
| Reset dynamic type.
|
bool | isDynamic () const |
| Returns type is dynamic.
|
void | setDynamic (const bool *traverseFlags, int &index) |
| Set dynamic type.
|
bool | isAnonymousType () const |
| Returns true if the type is anonymous type.
|
void | setImplicitlyTyped () |
| Set anonymous type.
|
bool | isImplicitlyTyped () const |
| Returns true if the type is anonymous type.
|
void | setExpressionTree () |
| Set expression tree flag.
|
bool | isExpressionTree () const |
| Returns true if the type is expression tree.
|
bool | isCsSimpleEmbeddedType () const |
| Returns true if the type is simple embedded type, including decimal.
|
CsEntityType * | getNonNullableType () const |
| Returns Nonnulable type from nullable type.
|
CsEntityDelegate * | getDelegate () const |
| Returns delegate entity from delegate or expression tree type.
|
const CsEntityTypeRef * | getEnumUnderlyingType () const |
void | getDelegateArguments (int &n_arguments, CsEntityTypeRef *&arguments) const |
| Returns delegate generic parameter arguments from delegate or expression tree type.
|
bool | isUnmanagedType () const |
| Returns true if the type is unmanaged.
|
bool | isUnsafe () const |
| Returns true if the type is unsafe.
|
CsEntityType * | getType () const |
| Returns direct or indirect type.
|
const CsEntityTypeRef & | getNonNullable () const |
const TCHAR * | getNameAsString (CsEntity::entity_name_options &options) const |
Static Public Member Functions |
static bool | isBaseDerived (const CsEntityTypeRef &base, const CsEntityTypeRef &derived) |
| Returns true if base derived from derived type.
|
static bool | isBaseDerived (const CsEntityTypeRef &base, const CsEntityTypeRef &derived, equal_option option) |
static cs_inferred_type | isIdentifyOrBaseDerivedInferred (const CsEntityTypeRef &base, const CsEntityTypeRef &derived, CsEntityTypeRef *method_type_arguments) |
static unique_base | findUniqueBase (CsEntityType *base_type, CsEntityTypeRef *derived_typeref, CsEntityTypeRef *&unique_typeref) |
Public Attributes |
cs_entity_type | type: 8 |
| Entity type specifier enumeration.
|
cs_entity_type_transitive_flag | transitive_flag: 8 |
| Transitive flags.
|
cs_entity_type_nontransitive_flag | nontransitive_flag: 8 |
| Non-Transitive flags.
|
cs_entity_special_type | special_type: 8 |
| Special type.
|
union { |
CsEntity * entity |
CsEntityTypeRef * type |
CsEntityArraySpecifier * array_specifier |
CsEntityMethodSpecifier * method_specifier |
CsEntityInstanceSpecifier * instance_specifier |
} | u |
| Union.
|
Private Member Functions |
size_t | add_name_to_buffer (CsEntity::entity_name_options &options, size_t position) const |
Static Private Member Functions |
static bool | isBaseDerived2 (const CsEntityTypeRef &base, const CsEntityTypeRef &derived) |
static bool | isBaseDerived2 (const CsEntityTypeRef &base, const CsEntityTypeRef &derived, equal_option option) |
static unique_base | internal_findUniqueBase (CsEntityType *base_type, CsEntityTypeRef *derived_typeref, CsEntityTypeRef *&unique_typeref) |
Static Private Attributes |
static set< const CsEntityType * > * | recursive_types_ |
Friends |
struct | CsEntityArraySpecifier |
struct | CsEntityMethodSpecifier |
struct | CsEntityInstanceSpecifier |
Entity type specifier.