Commit Graph

1431 Commits

Author SHA1 Message Date
Anirudha Bose
b88a6a83c8 Prettify result of the meta command ".help"
Wraps the help text to standard 80 characters wide.
We use this output in cling.pod to generate man page, making this a
requirement.
2014-06-18 09:23:00 +02:00
CristinaCristescu
aaff0628ca Value extraction checking for deleted copy ctor (ROOT-6385).
During the value extraction the copy constructor availability check must ensure the copy ctor was not deleted.
2014-06-17 14:41:28 +02:00
Axel Naumann
a6bb239088 Try to fix const-cast warning. 2014-06-15 10:04:02 +02:00
CristinaCristescu
4cf130675f Fix const array of char*. (ROOT-5607). 2014-06-14 09:53:03 +02:00
CristinaCristescu
8702488331 Stream array elements need deferencing only not all streams of ptr. 2014-06-14 09:53:03 +02:00
CristinaCristescu
e36c4e937e Print an element of type ptr within an array. (ROOT-5607). 2014-06-14 09:53:02 +02:00
Axel Naumann
cea02a82e7 From Vassil: substitute then / else (ROOT-6345).
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.
2014-06-13 11:11:57 +02:00
Vassil Vassilev
a57c866b3d Silence a warning. 2014-06-13 09:19:57 +02:00
Vassil Vassilev
bcc98f7101 Put AutoloadingVisitor.cpp in cmake. 2014-06-10 16:34:59 +02:00
manasij7479
f9f829c48e autoloading visitor 2014-06-10 15:24:01 +02:00
manasij7479
983abbe17b split out failing stl test 2014-06-10 15:24:01 +02:00
manasij7479
297d005617 other fixes 2014-06-10 15:24:01 +02:00
manasij7479
db964bfcfc purged ctags code and moved autoloading into interpreter 2014-06-10 15:24:01 +02:00
Vassil Vassilev
f5250400d4 Remove the junk I accidentally committed. 2014-06-05 17:38:59 +02:00
Vassil Vassilev
2c16f39465 Align up the comment properly. 2014-06-04 12:12:14 +02:00
Vassil Vassilev
21d9481ce0 Clang diagnostics cause havoc, disable until understood. 2014-06-04 12:06:03 +02:00
manasij7479
ebc1309b5f initial code for new approach
(cherry picked from commit fa2b32bd9281f61fd36ff1987041a9a7607ab5e7)
2014-06-04 10:06:03 +02:00
Vassil Vassilev
cd3259b39a Improve implementation of ctags. 2014-06-04 09:20:15 +02:00
manasij7479
6d1d81309d const ness updates in base class, etc 2014-06-04 09:20:15 +02:00
Vassil Vassilev
56b5dc86dd Obey coding rules and indentation. 2014-06-04 09:20:15 +02:00
Vassil Vassilev
08c26eb004 Obey coding styles 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
Vassil Vassilev
86c66f2b73 Remove useless error msg. 2014-06-04 09:20:09 +02:00
Vassil Vassilev
213141cb5c Use the more user-friendly clang diagnostics engine to produce execution errors. 2014-06-04 09:20:09 +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
63de420f9c Add missing transaction in Interpreter::StateDebuggerRAII::~StateDebuggerRAII
This prevents .printDebug from crashing.  However it is still more verbose
than expected.
2014-05-29 18:02:55 +02:00
Philippe Canal
0df6d7ee38 Add missing transaction in Interpreter::StateDebuggerRAII::StateDebuggerRAII
This prevents .printDebug from crashing.  However it is still more verbose
than expected.
2014-05-29 17:33:59 +02:00
Philippe Canal
d03d24bb23 Add support for .@ to cancel continuation 2014-05-29 17:04:59 +02:00
Axel Naumann
b91c987027 Fix value printing for functions. Needs test! 2014-05-28 18:09:57 +02:00
Vassil Vassilev
e173faa960 If we don't have the information about the type of the RHS report an and exit. 2014-05-28 12:11:57 +02:00
Axel Naumann
a9ad9a8c02 Wrap using decl/def that are followed by code (ROOT-6153). 2014-05-27 12:17:12 +02:00
CristinaCristescu
5d4115482f Value extraction: not a record decl we have copy ctor by default. 2014-05-26 18:30:58 +02:00
CristinaCristescu
832390bc7b Correct line alignment. 2014-05-26 18:30:58 +02:00
CristinaCristescu
980133d65e Value extraction setting void types.
In the case the type is void we have to reset the maybe different object type pushed on the stack before the assesment of the desugared type.
2014-05-26 18:30:57 +02:00
CristinaCristescu
d85eba73ee Default cling::Value set to invalid.
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.
2014-05-26 18:30:57 +02:00
CristinaCristescu
e41ba01959 ValueExtractionSynthesizer: check for the existance and accessibility of copy constructor. (ROOT-6185). 2014-05-26 18:30:56 +02:00
Axel Naumann
39ed28c03e Void has no address. 2014-05-26 17:37:57 +02:00
Vassil Vassilev
ee9fc709ab We don't need the ValuePrinter.h 2014-05-21 18:11:58 +02:00
Vassil Vassilev
d03ba0fb9f Reduce cling's runtime overhead. 2014-05-21 18:11:58 +02:00
Vassil Vassilev
b563268f19 Typo. 2014-05-21 18:11:58 +02:00
Vassil Vassilev
b855d1111c Use proper indents. 2014-05-21 18:11:58 +02:00
Vassil Vassilev
0d05ab5145 Remove unused function. 2014-05-21 18:11:57 +02:00
Vassil Vassilev
168a59dbf9 Try to print the fully qualified name if possible. 2014-05-21 15:39:55 +02:00
Bertrand Bellenot
94dd34f0bd Another '.' to metaString replacement 2014-05-21 15:13:56 +02:00
Bertrand Bellenot
04e8f11529 Use the metaString variable instead of .(dot), since in cling one can override the '.' with something else (thanks Vassil for the feedback) 2014-05-21 15:05:57 +02:00
Bertrand Bellenot
a7000c871c Improve the cling .help output (Jira #ROOT-5844) 2014-05-21 14:26:59 +02:00
Vassil Vassilev
d44612a63c Add a filename to the unnamed macro handling. Fixes ROOT-4760. 2014-05-21 12:44:57 +02:00
Vassil Vassilev
de3809bb51 Rely on the expr kind, instead of some compiler generated exprs which can be missing. 2014-05-21 09:36:56 +02:00
Vassil Vassilev
51b55438a1 Before proceeding to call the special user-specific function check for the right overload.
This implementation is a bit cumbersome, but the key advantage is that we do not
create AST nodes on the heap. We create some nodes which will help the overload
candidate selector to do the selection. After it returned true/false (there is/isn't
proper function to call) we free all the used memory and proceed in calling the
user defined function.
2014-05-20 13:54:58 +02:00
Vassil Vassilev
7b9f839ef5 Get the ptr type of a non reference type, in order to meet the special printValue/Type function convention. 2014-05-20 13:54:57 +02:00