IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
AutoloadCallback: Implementing InterpreterCallbacks to attach the module to cling
The main focus is on overriding LookupObject so that the information about
lookup failures are obtained from clang.
The type of the name is not taken into consideration for now.
TagManager: To manage and lookup information from various sorts of tag files.
Currently a TagManager object is owned by the callback system.
This may change in future.
Wrapper: As a base class for handling particular types of tagfiles.
The TagManager maintains a container of Wrappers.
CtagsFileWrapper: Implementing a wrapper for ctags.
This class is responsible for generating a tagfile from a given path or list of files.
It also performs lookups in the file generated by it.
And a few simple file system utils to complement llvm::sys::fs and path utilities
Dump cling::Value within setNoAlloc routines because this is its lifespan,
otherwise gets deleted if nobody requested it. I.e it was created only for
value printing purposes.
Dump cling::Value outside setWithAlloc because the actual value is not put inside
until the call to ::new finishes, thus we need to do it outside, i.e in EvaluateInternal.
Switch on the ValueExtraction synthesizer even when 'just' value printing. We
depend on it. Must be factored out properly in one class.
Stop attaching the value printing template magic, which didn't work in some cases.
Update the ref file, because now there is better type information.
Adapt the user-defined printout functions (TDatime).
GetPartiallyDesaguredType now desugar template alias
but does not yet properly propagate the opaque typedef
and thus:
template <typename T> using myvector = std::vector<T>;
myvector<Double32_t> vd32d;
template<class T> using ptr = T*;
ptr<Double32_t> p3;
Both currently result in the Double32_t being ignored.
The partial desugaring (part of normalization) now strips a typedef
even when it original from std and points to compiler details (__gnu_cxx, etc.).
The cost of this convenience was the fact the same entity could have different
'name' and thus different class even-though they were supposed to be strictly
equivalent. i.e. depending on the way to get to the class it could be name
vector<int*>::iterator or __gnu_cxx::iterator<int*> or std::iterator<int*>.
This different from the case where we have a strictly bidirectional equivalent
between the class and its unique typedef (yes, we are talking about you std::string).
This also different from the case where there is a semantic difference between
the two possible name. I.e. where an opaque typedef is used. For example,
vector<Double32_t> and vector<double> and where the 'way' to get to the type[name]
is relevant.