[root] / trunk / core / meta / src / TFunction.cxx Repository:
ViewVC logotype

Log of /trunk/core/meta/src/TFunction.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 48992 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 28 15:26:26 2013 UTC (21 months, 3 weeks ago) by rdm
File length: 7201 byte(s)
Diff to previous 48770
From Lifeng Sun:
The attached patchset fixes a bunch of typo in the source:
0001-succes-success.patch
0002-preceed-preced.patch
0003-informations-information.patch
0004-childs-children.patch
0005-avaliable-available.patch
0006-writeable-writable.patch
0007-comand-command.patch
0008-unkown-unknown.patch
0009-wierd-weird.patch
0010-wheter-whether.patch
0011-unecessary-unnecessary.patch
0012-splitted-split.patch
0013-registerd-registered.patch
0014-recieve-receive.patch
0015-processsing-processing.patch
0016-ouput-output.patch
0017-mutiple-multiple.patch
0018-lenght-length.patch
0019-interupted-interrupted.patch
0020-independant-independent.patch
0021-inconsistant-inconsistent.patch
0022-expresion-expression.patch
0023-explicitely-explicitly.patch
0024-enviroment-environment.patch
0025-deafult-default.patch
0026-continous-continuous.patch
0027-completly-completely.patch
0028-commited-committed.patch
0029-choosen-chosen.patch
0030-backgroud-background.patch
0031-auxilliary-auxiliary.patch
0032-authentification-authentication.patch
0033-appropiate-appropriate.patch
0034-an-other-another.patch
0035-environement-environment.patch
0036-targetting-targeting.patch
0037-suppported-supported.patch
0038-paramater-parameter.patch

Revision 48770 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 28 18:56:35 2013 UTC (22 months, 3 weeks ago) by pcanal
File length: 7202 byte(s)
Diff to previous 48043
Add routines to get the desugared type for the return type of a method
and for its arguments.  Namely:
  TFunction::GetReturnTypeNormalizedName
  TMethodArg::GetTypeNormalizedName

Those routines are similar to routines that are named using the words
'TrueName' but have a clarified definition and have a different signature.

A normalized name is defined as:

The name of the type as accessible from the global scope to which 
a 'using namespace std;' has been applied to and with:
  - all typedefs desugared except for Double32_t, Float16_t, [U]Long64_t, 
    std::string and any typedef that is declared within the std namespace
    and points to an entity also declared with std (hence hiding the std library
    implementation 'details').
  - default template parameters removed for STL collections and added for any
    other class templates instances.
  - Fully qualified both itself and all of its component, except that, at least
    for moment, all 'std::' are stripped.

These routines have the signature:

   std::string GetReturnTypeNormalizedName() const;

They do not return 'const char*' to avoid having to have a static buffer
holding the information or recording the information as part of the object.

They do not return TString to avoid the tempting (and compilable) 'const char
*str = method->Get...();' which would lead to inadvertent use of 'destroyed'
memory.

They do return std::string as in C++11, thanks to the move constructor, will no
longer be expansive to return.

If those routines becomes/are very time critical in C++03, we will then either
add a similar routines returning const char* (for example GetTrueTypeName) or a
similar routines taking the output string as an argument by reference.

Revision 48043 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 14 12:20:32 2012 UTC (2 years, 1 month ago) by rdm
File length: 6638 byte(s)
Diff to previous 24077
change gCint -> gCling (and not the generic gInterpreter as we'll stay for a
while with cling ;-) ).

Revision 24077 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 31 19:39:09 2008 UTC (6 years, 7 months ago) by brun
File length: 6619 byte(s)
Diff to previous 22961
Extend the TInterpreter class to support the CINT API used so far by ROOT.
The concrete implementation of the class is in TCint.
The new functions are essentially interfaces to the existing CINT C++ classes
like G__ClassInfo, G__CallFunc, G__DataMemberInfo, G__MethodInfo, G__TypeInfo
and G__TypedefInfo. Most of these functions will call the Reflex interface
once the CINT/Reflex interface will be available later this year.
All direct calls to CINT are replaced by calls like gCint->ClassInfo_xxx where gCint
points to the TCint implementation.
The existing calls to TCint via gInterpreter are kept because on Windows
gInterpreter does not call directly TCint, but instead call TWin32InterpreterProxy
that in turns call TCint.
On Linux and Mac, gInterpreter and gCint are equivalent.

Once the transformation using gCint will be completed, it will be possible
to specify at startup time which version of CINT (CINT or CINT7) by loading
dynamically TCint or TCint7.--This line, and those below, will be ignored--

M    core/meta/src/TStreamerElement.cxx
M    core/meta/src/TCint.cxx
M    core/meta/src/TGlobal.cxx
M    core/meta/src/TBaseClass.cxx
M    core/meta/src/TDataMember.cxx
M    core/meta/src/TInterpreter.cxx
M    core/meta/src/TClass.cxx
M    core/meta/src/TMethodArg.cxx
M    core/meta/src/TDataType.cxx
M    core/meta/src/TMethodCall.cxx
M    core/meta/src/TIsAProxy.cxx
M    core/meta/src/TMethod.cxx
M    core/meta/src/TFunction.cxx
M    core/meta/inc/TClass.h
M    core/meta/inc/TDictionary.h
M    core/meta/inc/TMethodArg.h
M    core/meta/inc/TDataType.h
M    core/meta/inc/TMethodCall.h
M    core/meta/inc/TMethod.h
M    core/meta/inc/TFunction.h
M    core/meta/inc/TCint.h
M    core/meta/inc/TGlobal.h
M    core/meta/inc/TBaseClass.h
M    core/meta/inc/TDataMember.h
M    core/meta/inc/TInterpreter.h
M    core/thread/src/TThread.cxx
M    core/base/src/TVirtualFitter.cxx
M    core/base/src/TStorage.cxx
M    core/base/src/TQConnection.cxx
M    core/base/src/TROOT.cxx
M    core/base/src/TSystem.cxx
M    core/base/src/TQObject.cxx
M    core/rint/src/TRint.cxx
M    core/rint/src/TTabCom.cxx
M    math/foam/src/TFoam.cxx
M    math/minuit2/src/TFitterMinuit.cxx
M    math/mathcore/src/FunctorCint.cxx
M    math/minuit/src/TMinuit.cxx
M    tree/tree/src/TTree.cxx
M    tree/tree/src/TSelectorCint.cxx
M    tree/tree/src/TSelector.cxx
M    tree/tree/inc/TSelectorCint.h
M    roofit/roofitcore/src/RooGenCategory.cxx
M    roofit/roofitcore/src/RooWorkspace.cxx
M    hist/hist/src/TF1.cxx
M    gui/guibuilder/src/TGuiBldDragManager.cxx
M    net/alien/inc/TAlienSystem.h

Revision 22961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 3 13:32:57 2008 UTC (6 years, 9 months ago) by rdm
File length: 7158 byte(s)
Diff to previous 20882
move the directories:
  base clib cont meta metautils newdelete pcre rint thread unix utils
  winnt zip
under the new core meta directory.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/meta/src/TFunction.cxx
File length: 7158 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/meta/src/TFunction.cxx
File length: 7158 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/meta/src/TFunction.cxx
File length: 7212 byte(s)
Diff to previous 18999
remove :$ from tag line

Revision 18999 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 11 14:50:31 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/meta/src/TFunction.cxx
File length: 7222 byte(s)
Diff to previous 13258
From Axel:
remove a work-around that is not needed anymore after a recent fix in
CINT. TFunction's default arguments are now wrong for const char* - they
are surrounded by an extra pair of "". See the symptom at e.g.
http://root.cern.ch/root/html/TRootBrowser in
TRootBrowser::TRootBrowser(TBrowser* b = 0, const char* title = ""ROOT
Browser"", UInt_t width = 800, UInt_t height = 500).

Revision 13258 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 16 20:11:59 2005 UTC (9 years, 2 months ago) by pcanal
Original Path: trunk/meta/src/TFunction.cxx
File length: 7378 byte(s)
Diff to previous 11986
White spaces and comments update

Revision 11986 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 7 16:18:32 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/meta/src/TFunction.cxx
File length: 7381 byte(s)
Diff to previous 7030
From Axel Naumann:
this patch fixes the problem with function signatures and
missing const char* default args.

Revision 7030 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 4 20:07:42 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/meta/src/TFunction.cxx
File length: 7410 byte(s)
Diff to previous 6720
from Philippe:

The current implementation of TROOT::GetGlobalFunction had the side effect of creating the byte code for ALL the cint
global function (even if they crash cint but are never used :)).
Also the current code was different for Windows and Unix.

This provides an implementation that is the same on all platform and does not provokes the cint compilation.

Also it now fully relies on TFunction::GetMangledName which is now cached.  The fact that it is not cached was also
causing problems when the file was reload.

Revision 6720 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 13 16:21:21 2003 UTC (11 years, 7 months ago) by rdm
Original Path: trunk/meta/src/TFunction.cxx
File length: 6848 byte(s)
Diff to previous 6716
fix some memory leaks in the assignment operators.

Revision 6716 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 13 06:55:48 2003 UTC (11 years, 7 months ago) by brun
Original Path: trunk/meta/src/TFunction.cxx
File length: 6634 byte(s)
Diff to previous 5664
iFrom Philippe
new constructors/operators added

Revision 5664 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 26 10:24:09 2002 UTC (12 years, 2 months ago) by brun
Original Path: trunk/meta/src/TFunction.cxx
File length: 5783 byte(s)
Diff to previous 4935
TDictionary derives now from TNamed instead of TObject.
This change simplifies all the meta classes avoiding duplication
of functions GetName, GetTitle, Compare, Hash.
This also removes some coupling with CINT.

Revision 4935 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 16 14:01:20 2002 UTC (12 years, 6 months ago) by rdm
Original Path: trunk/meta/src/TFunction.cxx
File length: 6646 byte(s)
Diff to previous 4776
reformatting of some code not according to the conventions.

Revision 4776 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 26 08:04:00 2002 UTC (12 years, 7 months ago) by brun
Original Path: trunk/meta/src/TFunction.cxx
File length: 6401 byte(s)
Diff to previous 3862
Patch from Axel Naumann to support mangled method names in TFunction.
This will allow eg. unique html anchors for overloaded functions.

Revision 3862 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 4 21:21:24 2002 UTC (12 years, 11 months ago) by rdm
Original Path: trunk/meta/src/TFunction.cxx
File length: 6067 byte(s)
Diff to previous 3858
usual problem with strstr() returning const char*.

Revision 3858 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 4 08:21:50 2002 UTC (12 years, 11 months ago) by brun
Original Path: trunk/meta/src/TFunction.cxx
File length: 6060 byte(s)
Diff to previous 3690
In function TFunction::CreateSignature add the missing " to the default
arguments of type char*.

Revision 3690 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 17 12:14:09 2002 UTC (13 years ago) by rdm
Original Path: trunk/meta/src/TFunction.cxx
File length: 5909 byte(s)
Diff to previous 3688
need (void*) cast in return of InterfaceMethod().

Revision 3688 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 16 21:13:38 2002 UTC (13 years ago) by brun
Original Path: trunk/meta/src/TFunction.cxx
File length: 5906 byte(s)
Diff to previous 1205
iThis patch by Philippe ensures that TClass::GetMethod returns something sensible
even if the class is interpreted.

Revision 1205 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 13 15:13:57 2000 UTC (14 years, 1 month ago) by brun
Original Path: trunk/meta/src/TFunction.cxx
File length: 5661 byte(s)
Diff to previous 3
      W A R N I N G   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     ==================================================================
A very long list of changes in this pre-release of version 3.00.
We have modified the signature of many functions (in particular TObject)
to introduce more constness in the system.
You must change your code if your class derives from TObject and uses
one of the modified functions such as ls, Print, Compare, Hash, etc.
The modified functions in TObject have the following signature:
   virtual TObject    *Clone() const;
   virtual Int_t       Compare(const TObject *obj) const;
   virtual void        Delete(Option_t *option=""); // *MENU*
   virtual void        DrawClass() const; // *MENU*
   virtual void        DrawClone(Option_t *option="") const; // *MENU*
   virtual void        Dump() const; // *MENU*
   virtual TObject    *FindObject(const TObject *obj) const;
   virtual char       *GetObjectInfo(Int_t px, Int_t py) const;
   virtual ULong_t     Hash() const;
   virtual void        Inspect() const; // *MENU*
   virtual Bool_t      IsEqual(const TObject *obj) const;
   virtual void        ls(Option_t *option="") const;
   virtual void        Print(Option_t *option="") const;

A similar operation has been done with classes such as TH1, TVirtualPad,
TTree, etc.

Revision 3 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: trunk/meta/src/TFunction.cxx
File length: 5586 byte(s)
Copied from: branches/rdm/meta/src/TFunction.cxx revision 2
Diff to previous 2
This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.

Revision 2 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: branches/rdm/meta/src/TFunction.cxx
File length: 5586 byte(s)
Initial import of ROOT into CVS

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9