31 #ifndef _QORE_QOREREFLECTION_H 33 #define _QORE_QOREREFLECTION_H 96 DLLEXPORT
bool isAbstract()
const;
99 DLLEXPORT
bool isFinal()
const;
102 DLLEXPORT
bool isStatic()
const;
105 DLLEXPORT ClassAccess getAccess()
const;
108 DLLEXPORT
const char* getAccessString()
const;
121 DLLEXPORT
const QoreTypeInfo* getTypeInfo()
const;
140 DLLEXPORT ClassAccess getAccess()
const;
143 DLLEXPORT
const char* getAccessString()
const;
177 DLLEXPORT
bool isTransient()
const;
203 DLLEXPORT
const char* getName()
const;
212 DLLEXPORT
const QoreTypeInfo* getTypeInfo()
const;
215 DLLEXPORT
QoreValue getReferencedValue()
const;
221 DLLEXPORT ClassAccess getAccess()
const;
228 class QoreExternalFunction {
231 DLLEXPORT
const char* getName()
const;
243 DLLEXPORT
bool isInjected()
const;
246 DLLEXPORT
unsigned numVariants()
const;
256 DLLLOCAL QoreExternalFunction();
259 class QoreExternalFunctionIterator {
261 DLLEXPORT QoreExternalFunctionIterator(
const QoreExternalFunction& f);
263 DLLEXPORT ~QoreExternalFunctionIterator();
265 DLLEXPORT
bool next();
270 class qore_external_function_iterator_private* priv;
273 class QoreExternalMethodFunction :
public QoreExternalFunction {
276 DLLEXPORT
const QoreMethod* getMethod()
const;
279 DLLEXPORT
bool isStatic()
const;
283 DLLLOCAL QoreExternalMethodFunction();
286 class QoreExternalGlobalVar {
289 DLLEXPORT
const char* getName()
const;
298 DLLEXPORT
const QoreTypeInfo* getTypeInfo()
const;
301 DLLEXPORT
QoreValue getReferencedValue()
const;
316 DLLLOCAL QoreExternalGlobalVar();
323 DLLEXPORT
bool qore_type_equal(
const QoreTypeInfo* ti1,
const QoreTypeInfo* ti2);
DLLEXPORT const char * qore_type_get_name(const QoreTypeInfo *ti)
returns the name of the type; the argument may be nullptr meaning no type restrictions ...
DLLEXPORT bool qore_type_has_default_value(const QoreTypeInfo *ti)
returns true if the type has a default value; the argument may be nullptr meaning no type restriction...
external wrapper base class for class normal members
Definition: QoreReflection.h:174
DLLEXPORT const type_vec_t & getParamTypeList() const
returns the parameter types for the variant
external wrapper class for constants
Definition: QoreReflection.h:200
This is the hash or associative list container type in Qore, dynamically allocated only...
Definition: QoreHashNode.h:50
DLLEXPORT bool isBuiltin() const
returns true if the variant is builtin
DLLEXPORT bool qore_type_is_assignable_from(const QoreTypeInfo *ti1, const QoreTypeInfo *ti2)
returns true if ti2's return type is compatible with ti1 input (i.e. ti1 is assignable from ti2) ...
external wrapper base class for class static members
Definition: QoreReflection.h:153
external wrapper class for function and call variants
Definition: QoreReflection.h:38
DLLEXPORT bool isSynchronized() const
returns true if the variant has the synchronized flag set
DLLEXPORT unsigned numParams() const
returns the number of parameters
DLLEXPORT const name_vec_t & getParamNames() const
returns a list of parameter names for the variant
DLLEXPORT bool hasBody() const
returns true if the variant has a function body
external wrapper base class for class and hashdecl members
Definition: QoreReflection.h:118
This is the list container type in Qore, dynamically allocated only, reference counted.
Definition: QoreListNode.h:52
external wrapper base class for class members
Definition: QoreReflection.h:137
DLLEXPORT const QoreExternalProgramLocation * getSourceLocation() const
returns the source location of the variant
DLLEXPORT bool qore_type_is_output_compatible(const QoreTypeInfo *ti1, const QoreTypeInfo *ti2)
returns true if ti2's return type is compatible with ti1's; either argument may be nullptr meaning no...
defines a Qore-language class
Definition: QoreClass.h:239
DLLEXPORT int64 getCodeFlags() const
returns binary-or-combined code flags
The main value class in Qore, designed to be passed by value.
Definition: QoreValue.h:262
supports parsing and executing Qore-language code, reference counted, dynamically-allocated only ...
Definition: QoreProgram.h:126
DLLEXPORT QoreHashNode * qore_type_get_accept_types(const QoreTypeInfo *t)
returns a hash of base types accepted by the type
external wrapper class for method variants
Definition: QoreReflection.h:90
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:46
DLLEXPORT bool isModulePublic() const
returns true if the variant has the module public flag set
DLLEXPORT bool qore_type_is_input_output_compatible(const QoreTypeInfo *ti1, const QoreTypeInfo *ti2)
returns true if the types are compatible with inputs and outputs
std::vector< std::string > name_vec_t
vector of parameter names for parameter lists
Definition: common.h:257
external wrapper class for source code location information
Definition: QoreReflection.h:187
DLLEXPORT const arg_vec_t & getDefaultArgList() const
returns a list of default arguments for the variant
DLLEXPORT qore_type_t qore_type_get_base_type(const QoreTypeInfo *t)
returns the base type code for the type or NT_ALL for those that don't have types ...
long long int64
64bit integer type, cannot use int64_t here since it breaks the API on some 64-bit systems due to equ...
Definition: common.h:260
std::vector< QoreValue > arg_vec_t
vector of value information for default argument lists
Definition: common.h:254
DLLEXPORT QoreHashNode * qore_type_get_return_types(const QoreTypeInfo *t)
returns a hash of base types returned by the type
DLLEXPORT const QoreClass * getClass() const
returns the class for a method variant or nullptr for a normal variant
DLLEXPORT bool qore_type_equal(const QoreTypeInfo *ti1, const QoreTypeInfo *ti2)
returns true if the types are equal; either argument may be nullptr meaning no type restrictions ...
int16_t qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode) ...
Definition: common.h:70
DLLEXPORT const QoreTypeInfo * getReturnTypeInfo() const
returns the return type
DLLEXPORT bool qore_type_can_convert_to_scalar(const QoreTypeInfo *ti)
returns true if the type's value can be converted to a scalar; the argument may be nullptr meaning no...
std::vector< const QoreTypeInfo * > type_vec_t
vector of type information for parameter lists
Definition: common.h:251
a method in a QoreClass
Definition: QoreClass.h:125
DLLEXPORT QoreValue qore_type_assign_value(const QoreTypeInfo *t, const QoreValue value, ExceptionSink *xsink)
processes the given value by the given type and returns the result; a Qore-language exception is thro...
DLLEXPORT QoreValue qore_type_get_default_value(const QoreTypeInfo *ti)
returns the default value of the type (if any); the caller owns any reference returned; the argument ...
DLLEXPORT const char * getSignatureText() const
returns the signature for the variant
DLLEXPORT int64 getDomain() const
returns the functional domain of the variant