24 #ifndef _QORE_QORETYPE_H
26 #define _QORE_QORETYPE_H
40 DLLEXPORT
extern QoreNumberNode* ZeroNumber, * InfinityNumber, * NaNumber, * piNumber;
42 DLLEXPORT
extern QoreString NothingTypeString, NullTypeString, TrueString,
43 FalseString, EmptyHashString, EmptyListString;
46 DLLEXPORT
extern const QoreTypeInfo* anyTypeInfo,
59 *runTimeClosureTypeInfo,
60 *callReferenceTypeInfo,
62 *userReferenceTypeInfo,
74 *bigIntOrFloatTypeInfo,
76 *bigIntOrNothingTypeInfo,
77 *floatOrNothingTypeInfo,
78 *numberOrNothingTypeInfo,
79 *stringOrNothingTypeInfo,
80 *boolOrNothingTypeInfo,
81 *binaryOrNothingTypeInfo,
82 *objectOrNothingTypeInfo,
83 *dateOrNothingTypeInfo,
84 *hashOrNothingTypeInfo,
85 *listOrNothingTypeInfo,
86 *nullOrNothingTypeInfo,
87 *codeOrNothingTypeInfo,
88 *dataOrNothingTypeInfo,
90 *softBigIntOrNothingTypeInfo,
91 *softFloatOrNothingTypeInfo,
92 *softNumberOrNothingTypeInfo,
93 *softBoolOrNothingTypeInfo,
94 *softStringOrNothingTypeInfo,
95 *softDateOrNothingTypeInfo,
96 *softListOrNothingTypeInfo,
97 *timeoutOrNothingTypeInfo;
153 enum qore_type_result_e {
163 class ExternalTypeInfo;
169 friend class ExternalTypeInfo;
172 ExternalTypeInfo* typeInfo;
182 DLLEXPORT QoreTypeInfoHelper(
const char* n_tname);
184 DLLEXPORT QoreTypeInfoHelper(
qore_type_t id,
const char* n_tname);
202 DLLEXPORT
int doAcceptError(
bool priv_error,
bool obj,
int param_num,
const char* param_name,
AbstractQoreNode* n,
ExceptionSink* xsink)
const;
221 DLLEXPORT
int testObjectClassAccess(
const QoreObject *obj,
const QoreClass *classtoaccess);
223 DLLEXPORT
const QoreClass *typeInfoGetUniqueReturnClass(
const QoreTypeInfo* typeInfo);
224 DLLEXPORT
bool typeInfoHasType(
const QoreTypeInfo* typeInfo);
225 DLLEXPORT
const char* typeInfoGetName(
const QoreTypeInfo* typeInfo);
226 DLLEXPORT qore_type_result_e typeInfoAcceptsType(
const QoreTypeInfo* typeInfo,
const QoreTypeInfo* otherTypeInfo);
227 DLLEXPORT qore_type_result_e typeInfoReturnsType(
const QoreTypeInfo* typeInfo,
const QoreTypeInfo* otherTypeInfo);
229 #endif // _QORE_QORETYPE_H