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!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
New state in Interpreter (AutoloadingStateInfo) containing a map.
AutoloadingTransform adapted to push required decls into this map.
AutoloadCallback adapted to be called when a file is included (but before being parsed)
(done by enabling PPCallbacks and overriding InclusionDirective method)
m_PPCallbacks changed from OwningPtr to a normal pointer as an workaround for double free bug.
Default template arguments as a POC example usage of this pileline.
Test:
AutoForwarding.C now passes because of this commit.
Extra:
Re-enabled the printing of class template default arguments when generating fwd declarations.
Forward declprinter now looks up the SourceManager for file name instead of directly printing the Argument.
Consists of:
ForwardDeclPrinter, adapted from clang::DeclPrinter
Interpterer::GenerateAutoloadingMap for invoking the functionality
It has hardcoded checks to prevent ForwardDeclPrinter from visiting decls from
standard library files. This restriction will be lifted after the
issues specifyed in the tests are fixed.
Test cases for code which FowrardDeclPrinter can not deal with properly
VisitCompoundStmt correctly substitutes the child Stmts. When calling Visit()
on a Stmt, this substitution needs to be carried out by the caller: only
it knows what target type to request. This fixes the issue for if statements
which do not fall back to VisitStmt() because of the conditional being of bool
type. In principle we are still missing do / while statements, too - again due
to the conditional part.
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
The cling::Value is initialized to be invalid then the value extraction changes it or not. If we do not have an available copy constructor for objects the value stays invalid.