16 Commits

Author SHA1 Message Date
Vassil Vassilev
4fd8ccc00d Rollback the transaction if there is an error occurred in one of the transformers.
git-svn-id: http://root.cern.ch/svn/root/trunk@46826 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-26 12:56:49 +00:00
Vassil Vassilev
b07eb9a4ec Move begin/end source file in commitCurrentTransaction to make sure that we
get relevant diagnostics from the transformers.
Fixes the text diagnostic printer bug #98434.


git-svn-id: http://root.cern.ch/svn/root/trunk@46822 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-26 10:08:00 +00:00
Vassil Vassilev
cbd2ae5bac Keep just the head and the tail of the single-linked list.
git-svn-id: http://root.cern.ch/svn/root/trunk@46683 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-19 14:17:20 +00:00
Vassil Vassilev
da3a51f5f8 Make the transaction class single list.
git-svn-id: http://root.cern.ch/svn/root/trunk@46676 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-19 13:29:03 +00:00
Vassil Vassilev
3fa63ae560 Make certain tests from the testsuite happy.
The issue was assert in codegen where the DeclRefExpr was built after the
declaration was extracted.


git-svn-id: http://root.cern.ch/svn/root/trunk@46671 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-19 10:46:53 +00:00
Vassil Vassilev
1c2df25cdd Remove the / because the FileManager thinks it is a directory prefix and asserts
that the directory doesn't exist in its cache.
Bring us one step further in importing AST nodes.


git-svn-id: http://root.cern.ch/svn/root/trunk@46564 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-16 12:50:21 +00:00
Vassil Vassilev
c5a8df6c88 Prepare cling for fixing bug #98146. In principle the bug could be fixed in 10
seconds, but I don't like where EvaluateInternal is going.
At first place it shouldn't do any smart guessing what the transformers would do.
Second it shouldn't try to attach expression evaluation (storing the result in 
cling::Value) while preparing for value printing.

To sum up:
* Simplify the old craft in EvaluateInternal
  - Move the value printing logic into the value printer transformer. 
  - Move the expression evaluation login (mainly coming through the 
Interpreter::evaluate interface) into separate transformer.
* Attach the new transformer to the list of transformers (the size of it was 
increased as well.)
* Add new compilation option switch that the new transformer will react on.
* Turn on the switch where necessary.
* Simplify value printer logic. Now everything is at one place, which makes it
simpler and easier to debug.
* Make IncrementalParser::Parse to take compilation options' reference instead of
constructing it's own.
* As consequence of the new implementation - two bugs in the testsuite were 
uncovered. Propose a fix for them.
* Improve documentation.
* TODO: There is some code duplication, which will be factored out soon.


git-svn-id: http://root.cern.ch/svn/root/trunk@46549 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-15 13:42:09 +00:00
Vassil Vassilev
fce967cd7d Coverity #46995
git-svn-id: http://root.cern.ch/svn/root/trunk@46538 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-14 15:23:14 +00:00
Vassil Vassilev
9d654b26f9 No need to enable/disable, check for enabled/disabled callback. Either they are
there and we use them or not.


git-svn-id: http://root.cern.ch/svn/root/trunk@46440 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-10 14:50:45 +00:00
Vassil Vassilev
238b375d09 Don't enable/disable incremental processing every time we parse. Just set it once and forever.
git-svn-id: http://root.cern.ch/svn/root/trunk@46315 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-04 13:09:52 +00:00
Vassil Vassilev
397efb6340 Include the transaction where needed (caused by the forward declares in prev commit.)
git-svn-id: http://root.cern.ch/svn/root/trunk@46265 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-02 10:34:22 +00:00
Vassil Vassilev
e087402f78 * Implement interpreter callbacks, which the Interpreter owns.
* Implement new callback functions - on transaction committed and transaction unloaded.
* Publish the Transaction class so that it can be visible by TCintWithCling.
* Publish the CompilationOptions needed by Transaction.
* Fix the references of Transaction and CompilationOptions.
* Forward declare where possible.
* Add missing keywords.
* Improve include style.


git-svn-id: http://root.cern.ch/svn/root/trunk@46264 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-02 10:30:25 +00:00
Axel Naumann
a6c25495ce Spelling
git-svn-id: http://root.cern.ch/svn/root/trunk@46141 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-24 13:52:52 +00:00
Vassil Vassilev
7c08e8c678 Get rid of interpreter pointer in one of the transformers.
git-svn-id: http://root.cern.ch/svn/root/trunk@46017 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-18 13:13:22 +00:00
Vassil Vassilev
f2d691971f Get rid of interpreter pointer in one of the transformers. More to follow.
git-svn-id: http://root.cern.ch/svn/root/trunk@46016 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-18 12:46:30 +00:00
Axel Naumann
05ba8a3a07 Move cling from cint/ to interpreter/ (Will add a "we have moved" readme to cint/cling.)
git-svn-id: http://root.cern.ch/svn/root/trunk@45844 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-05 09:37:39 +00:00