  | 
  
    Qore Programming Language
    0.9.16
    
   | 
 
 
 
 
Go to the documentation of this file.
   31 #ifndef _QORE_QOREREFLECTION_H 
   33 #define _QORE_QOREREFLECTION_H 
  203     DLLEXPORT 
const char* 
getName() 
const;
 
  233 class QoreExternalFunction {
 
  236     DLLEXPORT 
const char* getName() 
const;
 
  241     DLLEXPORT 
const char* getModuleName() 
const;
 
  244     DLLEXPORT 
const QoreClass* getClass() 
const;
 
  250     DLLEXPORT 
bool isBuiltin() 
const;
 
  253     DLLEXPORT 
bool isInjected() 
const;
 
  256     DLLEXPORT 
unsigned numVariants() 
const;
 
  269     DLLEXPORT 
int64 getDomain() 
const;
 
  276     DLLEXPORT 
int64 getCodeFlags() 
const;
 
  280     DLLLOCAL QoreExternalFunction();
 
  283 class QoreExternalFunctionIterator {
 
  285     DLLEXPORT QoreExternalFunctionIterator(
const QoreExternalFunction& f);
 
  287     DLLEXPORT ~QoreExternalFunctionIterator();
 
  289     DLLEXPORT 
bool next();
 
  294     class qore_external_function_iterator_private* priv;
 
  297 class QoreExternalMethodFunction : 
public QoreExternalFunction {
 
  300     DLLEXPORT 
const QoreMethod* getMethod() 
const;
 
  303     DLLEXPORT 
bool isStatic() 
const;
 
  307     DLLLOCAL QoreExternalMethodFunction();
 
  310 class QoreExternalGlobalVar {
 
  313     DLLEXPORT 
const char* getName() 
const;
 
  316     DLLEXPORT 
bool isModulePublic() 
const;
 
  319     DLLEXPORT 
bool isBuiltin() 
const;
 
  322     DLLEXPORT 
const QoreTypeInfo* getTypeInfo() 
const;
 
  325     DLLEXPORT 
QoreValue getReferencedValue() 
const;
 
  340     DLLLOCAL QoreExternalGlobalVar();
 
  347 DLLEXPORT 
bool qore_type_equal(
const QoreTypeInfo* ti1, 
const QoreTypeInfo* ti2);
 
  
 
DLLEXPORT unsigned numParams() const
returns the number of parameters
 
DLLEXPORT bool isFinal() const
returns true if the method variant is final
 
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...
 
external wrapper base class for class normal members
Definition: QoreReflection.h:174
 
DLLEXPORT bool hasBody() const
returns true if the variant has a function body
 
supports parsing and executing Qore-language code, reference counted, dynamically-allocated only
Definition: QoreProgram.h:126
 
external wrapper class for method variants
Definition: QoreReflection.h:90
 
DLLEXPORT QoreValue getDefaultValue(ExceptionSink *xsink) const
evaluates the initialization expression for the member and returns the referenced value
 
The main value class in Qore, designed to be passed by value.
Definition: QoreValue.h:262
 
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
 
This is the hash or associative list container type in Qore, dynamically allocated only,...
Definition: QoreHashNode.h:50
 
DLLEXPORT QoreValue getValue() const
returns the current value of the member; caller owns an reference returned
 
DLLEXPORT QoreValue getReferencedValue() const
returns the value of the constant; caller owns any reference returned
 
external wrapper base class for class static members
Definition: QoreReflection.h:153
 
const DLLEXPORT char * qore_type_get_name(const QoreTypeInfo *ti)
returns the name of the type; the argument may be nullptr meaning no type restrictions
 
defines a Qore-language class
Definition: QoreClass.h:239
 
DLLEXPORT ClassAccess getAccess() const
returns the access info for the member
 
const DLLEXPORT QoreExternalProgramLocation * getSourceLocation() const
returns the source location of the variant
 
DLLEXPORT bool isBuiltin() const
returns true if the constant is builtin
 
DLLEXPORT bool isModulePublic() const
returns true if the variant has the module public flag set
 
const DLLEXPORT QoreTypeInfo * getTypeInfo() const
returns the type info for the member
 
const DLLEXPORT char * getModuleName() const
returns the module name, if any, otherwise returns nullptr
 
This is the list container type in Qore, dynamically allocated only, reference counted.
Definition: QoreListNode.h:52
 
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
 
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)
 
std::vector< QoreValue > arg_vec_t
vector of value information for default argument lists
Definition: common.h:254
 
const DLLEXPORT QoreTypeInfo * getReturnTypeInfo() const
returns the return type
 
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 class for constants
Definition: QoreReflection.h:200
 
const DLLEXPORT 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
 
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...
 
DLLEXPORT int setValue(const QoreValue val, ExceptionSink *xsink) const
sets the value of the member
 
DLLEXPORT ClassAccess getAccess() const
returns the access info for the member
 
DLLEXPORT bool isAbstract() const
returns true if the method variant is abstract
 
DLLEXPORT bool isTransient() const
returns true if the member is transient (i.e. will not be serialized)
 
const DLLEXPORT char * getSignatureText() const
returns the signature for the variant
 
external wrapper class for source code location information
Definition: QoreReflection.h:187
 
const DLLEXPORT name_vec_t & getParamNames() const
returns a list of parameter names for the 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
 
const DLLEXPORT QoreClass * getClass() const
returns the class for a method variant or nullptr for a normal variant
 
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:48
 
const DLLEXPORT char * getAccessString() const
returns a string for the access info for the member
 
const DLLEXPORT QoreMethod * getMethod() const
returns the method for a method variant
 
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...
 
external wrapper base class for class members
Definition: QoreReflection.h:137
 
DLLEXPORT QoreHashNode * qore_type_get_accept_types(const QoreTypeInfo *t)
returns a hash of base types accepted by the type
 
DLLEXPORT int64 getDomain() const
returns the functional domain of the variant
 
const DLLEXPORT QoreExternalProgramLocation * getSourceLocation() const
returns the source location of the member's declaration
 
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 ...
 
external wrapper base class for class and hashdecl members
Definition: QoreReflection.h:118
 
DLLEXPORT bool isModulePublic() const
returns true if the constant has the module public flag set
 
DLLEXPORT int64 getCodeFlags() const
returns binary-or-combined code flags
 
DLLEXPORT bool isBuiltin() const
returns true if the variant is builtin
 
const DLLEXPORT char * getName() const
returns the constant name
 
const DLLEXPORT char * getAccessString() const
returns a string for the access info for the member
 
DLLEXPORT QoreHashNode * getHash() const
returns a hash of the given source location
 
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
 
const DLLEXPORT type_vec_t & getParamTypeList() const
returns the parameter types for the variant
 
const DLLEXPORT QoreExternalProgramLocation * getSourceLocation() const
returns the source code location of the constant's definition
 
external wrapper class for function and call variants
Definition: QoreReflection.h:38
 
const DLLEXPORT QoreTypeInfo * getTypeInfo() const
returns the type info for the constant
 
DLLEXPORT ClassAccess getAccess() const
returns the access info for the constant
 
std::vector< std::string > name_vec_t
vector of parameter names for parameter lists
Definition: common.h:257
 
int16_t qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode)
Definition: common.h:70
 
DLLEXPORT bool isSynchronized() const
returns true if the variant has the synchronized flag set
 
DLLEXPORT QoreHashNode * qore_type_get_return_types(const QoreTypeInfo *t)
returns a hash of base types returned by the type
 
DLLEXPORT bool isStatic() const
returns true if the method variant is static