Commit Graph

191 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
Anirudha Bose
d42f77918d Help POD understand line breaks.
Begin lines with a space which have a '\n' character.
This is only done for the text which will be a part of cling.pod.
2014-06-18 15:17:03 +02:00
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
manasij7479
db964bfcfc purged ctags code and moved autoloading into interpreter 2014-06-10 15:24:01 +02:00
Vassil Vassilev
cd3259b39a Improve implementation of ctags. 2014-06-04 09:20:15 +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
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
66faddd2db Style. 2014-05-20 10:40:57 +02:00
Vassil Vassilev
37f64ff956 Typo. 2014-05-19 16:27:54 +02:00
Vassil Vassilev
729d8da586 Inconsistently to named macros with return stmts we don't print the result of unnamed macros. 2014-05-19 16:05:57 +02:00
Vassil Vassilev
e587158b03 Add the Interpreter* to the cling::Value. We can afford it, because its actual size is 24 and it anyway gets aligned to 32 (except on a few old washing machines). 2014-05-18 18:08:58 +02:00
Philippe Canal
94219bdc83 Work-around transaction unload not informing MetaSema.
When a file is unloaded its entry should be removed from MetaSema::m_WaterMarks.
At the moment the corresponding callback is not implemented.

Instead, we also record the relation <Transaction*,Entry*>, so that upon
MetaSema requesting an unload, we can clean-out the corresponding data
from m_WaterMarks.

In addition, to catch the case where the target transaction (unloadPoint)
is not longer present we issue an error and do not unload anything.
2014-04-29 03:46:59 +02:00
CristinaCristescu
bd47ead006 Multiple line of leading comments. (ROOT-5930 and ROOT-4791). 2014-04-23 15:47:55 +02:00
CristinaCristescu
d0a4c2c819 Unanamed macros not detecting leading and trailing comments. (ROOT-5930 and ROOT-4791). 2014-04-23 15:47:55 +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
a1bf77d47a If we cannot find the canonical file, try to load the original one. 2014-04-16 17:33:59 +02:00
Axel Naumann
e45cfd1afa Enable parsing of ".L ./dir with space/foo.C" 2014-04-16 17:33:59 +02:00
Vassil Vassilev
ebad01a510 Simplify and extend the dynamic library manager.
Now it provides an interface which can lookup library names. It can unload a
library and the implementation of loading and resolving a library name is much
simpler.

The extensions are greatly used by the unloading facilities in cling its users.
2014-04-14 09:09:00 +02:00
Vassil Vassilev
5b49009ec8 Use the canonical paths to the files/libraries to unload. 2014-04-14 09:09:00 +02:00
Vassil Vassilev
c44b4a3803 Move the restore point before the actual unload, i.e exclusive restore point.
Thus we can handle the cases where libraries are loaded. That case is tricky
because during library's static initialization, header parsing might occur (resulting
in more decls that need to be unloaded). With the exclusive restore point, we
will undo everything up to it, which implicitly will unload the library and
it's friends.
2014-04-14 09:08:59 +02:00
Timur Pocheptsov
035f23752b Clean up. 2014-04-14 09:08:59 +02:00
Timur Pocheptsov
cc6ae43942 .namespace command. 2014-04-14 08:55:03 +02:00
Vassil Vassilev
da8237fb86 Use comparison not assignment. 2014-04-09 11:18:59 +02:00
Vassil Vassilev
d49c03b10c Files that are .x-ed must be unloadable too. Simplify. 2014-04-09 09:27:08 +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
Timur Pocheptsov
3115300308 Protect against recursive definitions (for example,
data members of a type we're already priting - either static data member or "cross-references").
2014-03-21 11:24:58 +01:00
Axel Naumann
d7ca5b7759 Use new libdep syntax; parameterize target libs to link. 2014-03-08 18:47:09 +01: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
Axel Naumann
9b678f2829 Allow updating of the MetaProcessor's output stream, to redirect a meta command. 2014-02-25 14:18:01 +01:00
Axel Naumann
a7c08683ae Decl iteration can trigger deserialization; use PushTransactionRAII. 2014-02-20 17:12:58 +01:00
Vassil Vassilev
c992cf3047 Implement reloading on .L
We keep the FileEntry -> Transaction mapping so that next time there is .L
we can figure out that it was already loaded and unload it and reload it again.
2014-02-20 10:36:10 +01:00
Vassil Vassilev
a25c6b5ce5 Blanks. 2014-02-20 10:36:09 +01:00
Bertrand Bellenot
c70ddac80a Silent compilation warnings on Windows 2014-02-19 14:55:00 +01:00
Axel Naumann
789648df2d Add switch for lookup diags; enable it for gDebug>5 (ROOT-6070, ROOT-6044).
Use enum to avoid ambiguities between consecutive bollean args.
Use less default args to avoid Type* -> bool conversion.
2014-02-19 08:39:58 +01:00
Bertrand Bellenot
b9838091fd Fix compilation on Windows 2014-02-03 14:08:56 +01:00
CristinaCristescu
383911dc6a Tab completion, stacked redirection, unredirect to pipe, platform independence.
Tab completion works using the changed (but ROOT 5 compatible) syntax .> A.txt.
.> now uses dup2() that exists on Windows, too, instead of ttyname().
Tnis enables unredirection even during root > out.txt - which did not work in ROOT5.
Multiple ".> X.txt" can be stacked; ".>" unredirects back to the previous one on the stack.
2014-01-24 16:36:59 +01:00
CristinaCristescu
1465ec4d8a Warning and error fix.
(cherry picked from commit 9eb5a29d7c6d6430fb70a76f19b9a0e6d259da62)
2014-01-15 17:10:54 +01:00
CristinaCristescu
b2997ee67a Adjust to line size limit. 2014-01-15 16:43:57 +01:00
Axel Naumann
f9b047d85f Use the portable FILE. 2014-01-15 14:14:55 +01:00