55 Commits

Author SHA1 Message Date
Philippe Canal
576ca3ca96 Remove trailing spaces 2014-08-13 16:08:36 +02:00
Vassil Vassilev
e24aca69f6 Implement .T command generating fwd decls. 2014-07-22 15:41:41 +02:00
Vassil Vassilev
56b5dc86dd Obey coding rules and indentation. 2014-06-04 09:20:15 +02:00
manasij7479
024b16df11 Init TagsExtension Module, for extending cling to provide interactive hints
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
2014-06-04 09:20:14 +02:00
Philippe Canal
eb1b61cd1a For backward compatiblity (for example with Proof), re-add support for .include 2014-05-30 16:30:58 +02:00
Philippe Canal
d03d24bb23 Add support for .@ to cancel continuation 2014-05-29 17:04:59 +02:00
Axel Naumann
d736e5d862 Skip trailing space, we never need it. Fixes cling tests. 2014-04-18 00:06:46 +02:00
Axel Naumann
e45cfd1afa Enable parsing of ".L ./dir with space/foo.C" 2014-04-16 17:33:59 +02:00
Timur Pocheptsov
cc6ae43942 .namespace command. 2014-04-14 08:55:03 +02:00
Axel Naumann
93970e8c35 Replace StoredValueRef by Value. 2014-04-01 18:31:58 +02:00
Vassil Vassilev
96319aa30f Implement .U FileName. 2014-03-31 14:03:08 +02:00
Vassil Vassilev
1851604b8c Rename printAST to printDebug. 2014-03-03 15:27:05 +01:00
Vassil Vassilev
f29b09e054 Remove .printIR and replace it with smarter debug class reusing the latest state tracker. 2014-03-03 15:27:04 +01:00
Vassil Vassilev
2073194a6e Trailing blanks, tabs. 2014-02-28 10:36:00 +01:00
Vassil Vassilev
943350a7c2 Implement .stats command printing out statistics about internal ADT 2014-02-28 10:35:59 +01:00
CristinaCristescu
b2997ee67a Adjust to line size limit. 2014-01-15 16:43:57 +01:00
CristinaCristescu
c9ec997188 Redirection special 2>&1 case. 2014-01-15 12:02:04 +01:00
CristinaCristescu
6296b84ab3 Changes to redirection. 2014-01-15 12:02:03 +01:00
CristinaCristescu
0ec0ba48b6 Change redirection from Interpreter to MetaProcessor. 2014-01-15 12:02:03 +01:00
CristinaCristescu
d30b5a0a23 Change flag for redirection.
correct
2014-01-15 12:02:03 +01:00
CristinaCristescu
34dfd69b53 Redirect err. 2014-01-15 12:02:03 +01:00
CristinaCristescu
b4e3a9b6b5 Redirect 2014-01-15 12:02:02 +01:00
CristinaCristescu
df5d7d2289 Redirect syntax. 2014-01-15 12:02:02 +01:00
Axel Naumann
44481ace1e Fix license; remove $Id$ version. 2014-01-07 11:14:04 +01:00
Vassil Vassilev
ab8d7488ed Make .undo [Constant] really taking an optional constant. 2013-10-29 20:19:26 +01:00
Vassil Vassilev
21c8d3c81c Add support for .undo [Number], extend the meaning of the constant token, document. 2013-10-29 20:19:26 +01:00
Vassil Vassilev
a4c14b87e5 Rename interface with more meaningful name. 2013-10-29 20:19:25 +01:00
Axel Naumann
8f9e6ebe81 Use StringRef instead of Path. 2013-09-26 17:54:17 +02:00
Axel Naumann
5c958d7df9 Register result of .L 2013-09-11 15:19:56 +02:00
Jerome Beclin
afcd8a7cca Commit of storeState/compareState that now print lookup table and included files
Implementation of .files moved in the Interpreter.cpp

storeState now calls three functions: dumpAST(), dumpLookup(), printIncludedFiles().
compareState now calls three functions: compareAST(), compareLookup(), compareIncludedFiles().
It's working for the included files and the AST, and it needs a new patch for
being able to dump the lookup tables (we cannot use dumpLookups() for the moment).
2013-09-07 10:41:01 +02:00
Jerome Beclin
ead0f8d091 Implement cling (clang) internal state verification.
There are cases where cling needs to 'rollback' its state to a previous one.
Examples for that are cling's error recovery and code unloading. This can become
easily tricky to implement. One step reducing the complexity is the verification
of the 'interesting' data structures.

Implement .storeState and .compareState commands, which dump the internal compiler
data structures like AST (implemented), included files (in progress) and lookup
tables (unimplemented yet). The information is dumped into a file and then that
file is diff-ed to the one taken with .compareState. If they were identical all
files are deleted otherwise a .diff file with the differences remains for debug.
2013-08-21 14:29:57 +02:00
Timur Pocheptsov
b23e62fe11 .O implemented. 2013-08-13 11:13:53 +02:00
Vassil Vassilev
87a4b6bd63 From Baozeng: Add .printIR meta command, printing the llvm::Module. 2013-06-17 21:00:58 +02:00
Axel Naumann
11e71f5c76 Make result evaluation optional again. 2013-06-10 17:12:50 +02:00
Axel Naumann
80790083ff Remove unused var. 2013-06-07 16:25:22 +02:00
Axel Naumann
8d462963d6 Return whether this is a .x; not wether the .x succeeded. 2013-06-07 15:19:51 +02:00
Axel Naumann
0c1c22f002 Return action result and Value from all interfaces. Force callers to rpovide them, to make them handle errors etc. 2013-06-07 15:19:51 +02:00
Vassil Vassilev
c44b59bab7 Follow the lowStartingCaps.
git-svn-id: http://root.cern.ch/svn/root/trunk@48764 27541ba8-7e3a-0410-8455-c3a389f83636
2013-02-28 10:55:45 +00:00
Vassil Vassilev
d98bece0ed Implement .? (fixes savannah #99730)
git-svn-id: http://root.cern.ch/svn/root/trunk@48300 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-15 10:11:52 +00:00
Timur Pocheptsov
f4b4c78748 .! is back, fix .typedef to process sequence of tokens, containing white-space characters.
git-svn-id: http://root.cern.ch/svn/root/trunk@47962 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-11 09:19:50 +00:00
Vassil Vassilev
dc5e70e317 Store the last value that was returned from execution.
git-svn-id: http://root.cern.ch/svn/root/trunk@47915 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-07 13:02:06 +00:00
Vassil Vassilev
9881b59a06 Get rid of meta processor options and various improvements.
git-svn-id: http://root.cern.ch/svn/root/trunk@47889 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-06 11:47:24 +00:00
Timur Pocheptsov
6a649ea5f4 'Class-name' can contain spaces, like in 'std::vector<int, std::allocator<int> >'
git-svn-id: http://root.cern.ch/svn/root/trunk@47862 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-05 16:36:42 +00:00
Timur Pocheptsov
4bae258b78 Support for 'typedef' command.
git-svn-id: http://root.cern.ch/svn/root/trunk@47851 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-05 13:20:58 +00:00
Vassil Vassilev
5ea5ea8351 Readd support for .g
git-svn-id: http://root.cern.ch/svn/root/trunk@47781 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-02 20:14:02 +00:00
Vassil Vassilev
fd499a33b3 Ugly typo.
git-svn-id: http://root.cern.ch/svn/root/trunk@47780 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-02 19:31:08 +00:00
Vassil Vassilev
953819f92d Remove redundant comment.
git-svn-id: http://root.cern.ch/svn/root/trunk@47777 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-02 19:05:24 +00:00
Vassil Vassilev
a530a63d15 Readd custom meta command support.
git-svn-id: http://root.cern.ch/svn/root/trunk@47776 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-02 19:01:02 +00:00
Vassil Vassilev
d89c749b1f .x is alias of .X
git-svn-id: http://root.cern.ch/svn/root/trunk@47764 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-01 16:48:33 +00:00
Vassil Vassilev
e6b1a83e6a Use small caps for method names.
git-svn-id: http://root.cern.ch/svn/root/trunk@47762 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-01 14:07:57 +00:00