Public Member Functions | |
| tbaseConvergence (baseObj &obj, baseFunc &func, onConverge closure) | |
| nbool | converge () override |
| baseFunc & | getFunc () |
| const baseFunc & | getFunc () const BY_CONST_FUNC(getFunc()) |
| baseObj & | getObj () |
| const baseObj & | getObj () const BY_CONST_FUNC(getObj()) |
Public Member Functions inherited from by::baseConvergence | |
| virtual nbool | convergeWithoutFrame ()=0 |
Public Member Functions inherited from by::instance | |
| instance (id newId) | |
| instance (const me &rhs) | |
| me & | operator= (const me &rhs)=default |
| void * | operator new (size_t sz) noexcept |
| void | operator delete (void *pt, size_t sz) noexcept |
| virtual id | getId () const |
| virtual nbool | isHeap () const |
| Checks if this instance is allocated on the heap. | |
| const life * | getBindTag () const |
| Returns a pointer to the associated life object for reference counting. | |
Public Member Functions inherited from by::typeProvidable | |
| nbool | operator== (const me &rhs) const |
| nbool | operator!= (const me &rhs) const |
| virtual const type & | getType () const =0 |
| nbool | isSub (const type &it) const |
| nbool | isSub (const type *it) const BY_SIDE_FUNC(isSub) |
| nbool | isSub (const me &it) const |
| nbool | isSub (const me *it) const BY_SIDE_FUNC(isSub) |
| nbool | isSuper (const type &it) const |
| nbool | isSuper (const type *it) const BY_SIDE_FUNC(isSuper) |
| nbool | isSuper (const me &it) const |
| nbool | isSuper (const me *it) const BY_SIDE_FUNC(isSuper) |
| template<typename T > | |
| nint | isSub () const |
| template<typename T > | |
| nint | isSuper () const |
| template<typename T > | |
| T * | cast () |
| template<typename T > | |
| const T * | cast () const BY_CONST_FUNC(cast< T >()) virtual void *cast(const type &to) |
| Safe cast to target type using type hierarchy information. | |
| const void * | cast (const type &to) const BY_CONST_FUNC(cast(to)) void *cast(const type *it) BY_SIDE_FUNC(cast) |
Public Member Functions inherited from by::clonable | |
| virtual me * | clone () const =0 |
| virtual me * | cloneDeep () const |
| virtual void | onCloneDeep (const me &from) |
Protected Types | |
| using | onConverge = typename ConvergenceClosure<T>::is |
Protected Member Functions | |
| onConverge | _getClosure () |
Protected Member Functions inherited from by::instance | |
| nbool | _setId (id new1) |
Additional Inherited Members | |
Static Public Member Functions inherited from by::instance | |
| static vault & | getVault () |
Static Protected Member Functions inherited from by::instance | |
| static instancer * | _getMgr () |
|
inlineoverridevirtual |
converge type to real obj type. parser registered all obj in some obj. and expander is now visiting all object's sub nodes while interaction frames. in spite of that, infer()origin has been failed. which means, the origin, actually getExpr holding for a name, is refering variable not expanded yet.
I need to replace 'getExpr(<name>)' type to proper real origin obj. if I don't do that, before on every try to access parameters or return type of a func, user must interacts proper scope of it to the frame. it's very tedious and redundant job.
this requests of type convergence will be done when expand() done successfully.
Implements by::baseConvergence.