From: Leon W. <moo...@us...> - 2004-11-30 19:25:43
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8684 Modified Files: TagManager.cpp Log Message: Updated the ParseLine and MakeType functions, so that the parent of members of C++ kind languages defaults to a class. This information is generated by ctags. Index: TagManager.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/TagManager.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** TagManager.cpp 13 Oct 2004 23:17:41 -0000 1.13 --- TagManager.cpp 30 Nov 2004 19:25:19 -0000 1.14 *************** *** 749,1134 **** *pLocal = false; if (sType.size() > 1) - return Undefined; - TCHAR c = sType[0]; - switch (lang) { ! case Asm: ! switch (c) ! { ! case TCHAR('d'): ! return Define; ! case TCHAR('l'): ! return Label; ! case TCHAR('m'): ! return Macro; ! case TCHAR('t'): ! return Type; ! default: ! break; ! } ! break; ! case Asp: ! switch (c) ! { ! case TCHAR('f'): ! return _Function; ! case TCHAR('s'): ! return Subroutine; ! case TCHAR('v'): ! return Variable; ! default: ! break; ! } ! break; ! case Awk: ! switch (c) ! { ! case TCHAR('f'): ! return _Function; ! default: ! break; ! } ! break; ! case BETA: ! switch (c) ! { ! case TCHAR('f'): ! return Fragment; ! case TCHAR('p'): ! return All_Pattern; ! case TCHAR('s'): ! return Slot; ! case TCHAR('v'): ! return Pattern; ! default: ! break; ! } ! break; ! case C: ! case CPP: ! case CSharp: ! case Vera: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('d'): ! return Macro; ! case TCHAR('e'): ! return Enumerator_Value; ! case TCHAR('E'): ! return (lang == CSharp) ? Event : Undefined; ! case TCHAR('f'): ! return (lang == CSharp) ? Field : _Function; ! case TCHAR('g'): ! return Enumeration; ! case TCHAR('i'): ! return (lang == CSharp) ? Interface : Undefined; ! case TCHAR('l'): ! if (pLocal != NULL) ! *pLocal = true; ! return Variable; ! case TCHAR('m'): ! return (lang == CSharp) ? Method : Member; ! case TCHAR('n'): ! return (lang != Vera) ? Namespace : Undefined; ! case TCHAR('p'): ! return (lang == CSharp) ? Property : (lang == Vera) ? Program : Prototype; ! case TCHAR('P'): ! return (lang == Vera) ? Prototype : Undefined; ! case TCHAR('s'): ! return Structure; ! case TCHAR('t'): ! return (lang == Vera) ? Task : Typedef; ! case TCHAR('T'): ! return (lang == Vera) ? Typedef : Undefined; ! case TCHAR('u'): ! return ((lang != CSharp) && (lang != Vera)) ? Union : Undefined; ! case TCHAR('v'): ! case TCHAR('x'): ! return (lang != CSharp) ? Variable : Undefined; ! default: ! break; ! } ! break; ! case Eiffel: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('f'): ! return Feature; ! case TCHAR('l'): ! if (pLocal != NULL) ! *pLocal = true; ! return Entity; ! default: ! break; ! } ! break; ! case Erlang: ! switch (c) ! { ! case TCHAR('d'): ! return Macro; ! case TCHAR('f'): ! return _Function; ! case TCHAR('m'): ! return Module; ! case TCHAR('r'): ! return Record; ! default: ! break; ! } ! break; ! case Fortran: ! switch (c) ! { ! case TCHAR('b'): ! return Block_Data; ! case TCHAR('c'): ! return Common_Block; ! case TCHAR('e'): ! return Entry_Point; ! case TCHAR('f'): ! return _Function; ! case TCHAR('i'): ! return Interface; ! case TCHAR('k'): ! return Component; ! case TCHAR('l'): ! return Label; ! case TCHAR('L'): ! return Variable; ! case TCHAR('m'): ! return Module; ! case TCHAR('n'): ! return Namelist; ! case TCHAR('p'): ! return Program; ! case TCHAR('s'): ! return Subroutine; ! case TCHAR('t'): ! return Derived; ! case TCHAR('v'): ! return Global_Variable; ! default: ! break; ! } ! break; ! case Java: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('f'): ! return Field; ! case TCHAR('i'): ! return Interface; ! case TCHAR('l'): ! if (pLocal != NULL) ! *pLocal = true; ! return Variable; ! case TCHAR('m'): ! return Method; ! case TCHAR('p'): ! return Package; ! default: ! break; ! } ! break; ! case Lisp: ! case Lua: ! case Scheme: ! case Sh: ! switch (c) ! { ! case TCHAR('f'): ! return _Function; ! case TCHAR('s'): ! return (lang == Scheme) ? Set : Undefined; ! default: ! break; ! } ! break; ! case Make: ! switch (c) ! { ! case TCHAR('m'): ! return Macro; ! default: ! break; ! } ! break; ! case Pascal: ! switch (c) ! { ! case TCHAR('f'): ! return _Function; ! case TCHAR('p'): ! return Procedure; ! default: ! break; ! } ! break; ! case Perl: ! switch (c) ! { ! case TCHAR('c'): ! return Constant; ! case TCHAR('l'): ! return Label; ! case TCHAR('s'): ! return Subroutine; ! default: ! break; ! } ! break; ! case PHP: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('d'): ! return Constant; ! case TCHAR('f'): ! return _Function; ! case TCHAR('v'): ! return Variable; ! default: ! break; ! } ! break; ! case Python: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('f'): ! return _Function; ! case TCHAR('m'): ! return Member; ! default: ! break; ! } ! break; ! case Ruby: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('f'): ! return Method; ! case TCHAR('F'): ! return Singleton; ! case TCHAR('m'): ! return Mixin; ! default: ! break; ! } ! break; ! case SML: ! switch (c) ! { ! case TCHAR('e'): ! return Exception; ! case TCHAR('f'): ! return _Function; ! case TCHAR('c'): ! return Functor; ! case TCHAR('s'): ! return Signature; ! case TCHAR('r'): ! return Structure; ! case TCHAR('t'): ! return Type; ! case TCHAR('v'): ! return Value_Binding; ! default: ! break; ! } ! break; ! case SQL: ! switch (c) ! { ! case TCHAR('c'): ! return Cursor; ! case TCHAR('d'): ! return Prototype; ! case TCHAR('f'): ! return _Function; ! case TCHAR('l'): ! if (pLocal != NULL) ! *pLocal = true; ! return Variable; ! case TCHAR('L'): ! return Label; ! case TCHAR('P'): ! return Package; ! case TCHAR('p'): ! return Procedure; ! case TCHAR('r'): ! return Record; ! case TCHAR('s'): ! return Subtype; ! case TCHAR('t'): ! return Table; ! case TCHAR('T'): ! return Trigger; ! case TCHAR('v'): ! return Variable; ! default: ! break; ! } ! break; ! case Tcl: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('m'): ! return Method; ! case TCHAR('p'): ! return Procedure; ! default: ! break; ! } ! break; ! case Verilog: ! switch (c) ! { ! case TCHAR('c'): ! return Constant; ! case TCHAR('e'): ! return Event; ! case TCHAR('f'): ! return _Function; ! case TCHAR('m'): ! return Module; ! case TCHAR('n'): ! return Net_Data; ! case TCHAR('p'): ! return Port; ! case TCHAR('r'): ! return Register_Data; ! case TCHAR('t'): ! return Task; ! default: ! break; ! } ! break; ! case Vim: ! switch (c) ! { ! case TCHAR('a'): ! return Autocommand; ! case TCHAR('f'): ! return _Function; ! case TCHAR('v'): ! return Variable; ! default: ! break; ! } ! break; } return Undefined; --- 749,1150 ---- *pLocal = false; if (sType.size() > 1) { ! switch (lang) ! { ! case C: ! case CPP: ! case CSharp: ! case Eiffel: ! case Java: ! case Vera: ! if( sType == _T("class") ) return Class; ! default: ! return Undefined; ! } ! } ! else ! { ! TCHAR c = sType[0]; ! switch (lang) ! { ! case Asm: ! switch (c) ! { ! case TCHAR('d'): ! return Define; ! case TCHAR('l'): ! return Label; ! case TCHAR('m'): ! return Macro; ! case TCHAR('t'): ! return Type; ! default: ! break; ! } ! break; ! case Asp: ! switch (c) ! { ! case TCHAR('f'): ! return _Function; ! case TCHAR('s'): ! return Subroutine; ! case TCHAR('v'): ! return Variable; ! default: ! break; ! } ! break; ! case Awk: ! switch (c) ! { ! case TCHAR('f'): ! return _Function; ! default: ! break; ! } ! break; ! case BETA: ! switch (c) ! { ! case TCHAR('f'): ! return Fragment; ! case TCHAR('p'): ! return All_Pattern; ! case TCHAR('s'): ! return Slot; ! case TCHAR('v'): ! return Pattern; ! default: ! break; ! } ! break; ! case C: ! case CPP: ! case CSharp: ! case Vera: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('d'): ! return Macro; ! case TCHAR('e'): ! return Enumerator_Value; ! case TCHAR('E'): ! return (lang == CSharp) ? Event : Undefined; ! case TCHAR('f'): ! return (lang == CSharp) ? Field : _Function; ! case TCHAR('g'): ! return Enumeration; ! case TCHAR('i'): ! return (lang == CSharp) ? Interface : Undefined; ! case TCHAR('l'): ! if (pLocal != NULL) ! *pLocal = true; ! return Variable; ! case TCHAR('m'): ! return (lang == CSharp) ? Method : Member; ! case TCHAR('n'): ! return (lang != Vera) ? Namespace : Undefined; ! case TCHAR('p'): ! return (lang == CSharp) ? Property : (lang == Vera) ? Program : Prototype; ! case TCHAR('P'): ! return (lang == Vera) ? Prototype : Undefined; ! case TCHAR('s'): ! return Structure; ! case TCHAR('t'): ! return (lang == Vera) ? Task : Typedef; ! case TCHAR('T'): ! return (lang == Vera) ? Typedef : Undefined; ! case TCHAR('u'): ! return ((lang != CSharp) && (lang != Vera)) ? Union : Undefined; ! case TCHAR('v'): ! case TCHAR('x'): ! return (lang != CSharp) ? Variable : Undefined; ! default: ! break; ! } ! break; ! case Eiffel: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('f'): ! return Feature; ! case TCHAR('l'): ! if (pLocal != NULL) ! *pLocal = true; ! return Entity; ! default: ! break; ! } ! break; ! case Erlang: ! switch (c) ! { ! case TCHAR('d'): ! return Macro; ! case TCHAR('f'): ! return _Function; ! case TCHAR('m'): ! return Module; ! case TCHAR('r'): ! return Record; ! default: ! break; ! } ! break; ! case Fortran: ! switch (c) ! { ! case TCHAR('b'): ! return Block_Data; ! case TCHAR('c'): ! return Common_Block; ! case TCHAR('e'): ! return Entry_Point; ! case TCHAR('f'): ! return _Function; ! case TCHAR('i'): ! return Interface; ! case TCHAR('k'): ! return Component; ! case TCHAR('l'): ! return Label; ! case TCHAR('L'): ! return Variable; ! case TCHAR('m'): ! return Module; ! case TCHAR('n'): ! return Namelist; ! case TCHAR('p'): ! return Program; ! case TCHAR('s'): ! return Subroutine; ! case TCHAR('t'): ! return Derived; ! case TCHAR('v'): ! return Global_Variable; ! default: ! break; ! } ! break; ! case Java: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('f'): ! return Field; ! case TCHAR('i'): ! return Interface; ! case TCHAR('l'): ! if (pLocal != NULL) ! *pLocal = true; ! return Variable; ! case TCHAR('m'): ! return Method; ! case TCHAR('p'): ! return Package; ! default: ! break; ! } ! break; ! case Lisp: ! case Lua: ! case Scheme: ! case Sh: ! switch (c) ! { ! case TCHAR('f'): ! return _Function; ! case TCHAR('s'): ! return (lang == Scheme) ? Set : Undefined; ! default: ! break; ! } ! break; ! case Make: ! switch (c) ! { ! case TCHAR('m'): ! return Macro; ! default: ! break; ! } ! break; ! case Pascal: ! switch (c) ! { ! case TCHAR('f'): ! return _Function; ! case TCHAR('p'): ! return Procedure; ! default: ! break; ! } ! break; ! case Perl: ! switch (c) ! { ! case TCHAR('c'): ! return Constant; ! case TCHAR('l'): ! return Label; ! case TCHAR('s'): ! return Subroutine; ! default: ! break; ! } ! break; ! case PHP: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('d'): ! return Constant; ! case TCHAR('f'): ! return _Function; ! case TCHAR('v'): ! return Variable; ! default: ! break; ! } ! break; ! case Python: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('f'): ! return _Function; ! case TCHAR('m'): ! return Member; ! default: ! break; ! } ! break; ! case Ruby: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('f'): ! return Method; ! case TCHAR('F'): ! return Singleton; ! case TCHAR('m'): ! return Mixin; ! default: ! break; ! } ! break; ! case SML: ! switch (c) ! { ! case TCHAR('e'): ! return Exception; ! case TCHAR('f'): ! return _Function; ! case TCHAR('c'): ! return Functor; ! case TCHAR('s'): ! return Signature; ! case TCHAR('r'): ! return Structure; ! case TCHAR('t'): ! return Type; ! case TCHAR('v'): ! return Value_Binding; ! default: ! break; ! } ! break; ! case SQL: ! switch (c) ! { ! case TCHAR('c'): ! return Cursor; ! case TCHAR('d'): ! return Prototype; ! case TCHAR('f'): ! return _Function; ! case TCHAR('l'): ! if (pLocal != NULL) ! *pLocal = true; ! return Variable; ! case TCHAR('L'): ! return Label; ! case TCHAR('P'): ! return Package; ! case TCHAR('p'): ! return Procedure; ! case TCHAR('r'): ! return Record; ! case TCHAR('s'): ! return Subtype; ! case TCHAR('t'): ! return Table; ! case TCHAR('T'): ! return Trigger; ! case TCHAR('v'): ! return Variable; ! default: ! break; ! } ! break; ! case Tcl: ! switch (c) ! { ! case TCHAR('c'): ! return Class; ! case TCHAR('m'): ! return Method; ! case TCHAR('p'): ! return Procedure; ! default: ! break; ! } ! break; ! case Verilog: ! switch (c) ! { ! case TCHAR('c'): ! return Constant; ! case TCHAR('e'): ! return Event; ! case TCHAR('f'): ! return _Function; ! case TCHAR('m'): ! return Module; ! case TCHAR('n'): ! return Net_Data; ! case TCHAR('p'): ! return Port; ! case TCHAR('r'): ! return Register_Data; ! case TCHAR('t'): ! return Task; ! default: ! break; ! } ! break; ! case Vim: ! switch (c) ! { ! case TCHAR('a'): ! return Autocommand; ! case TCHAR('f'): ! return _Function; ! case TCHAR('v'): ! return Variable; ! default: ! break; ! } ! break; ! } } return Undefined; *************** *** 1291,1298 **** { // Add undefined parent, if need be: ! pParent = pMap->AddTag(new AETag(sParent, pFile, eLang, Undefined, pParent)); sParent = GetNextParent(eLang, sFullParent); } ! pParent = pMap->AddTag(new AETag(sParent, pFile, eLang, Undefined, pParent)); pParent->AddTag(pNewTag); } --- 1307,1314 ---- { // Add undefined parent, if need be: ! pParent = pMap->AddTag(new AETag(sParent, pFile, eLang, MakeType(eLang,(*iMap).first), pParent)); sParent = GetNextParent(eLang, sFullParent); } ! pParent = pMap->AddTag(new AETag(sParent, pFile, eLang, MakeType(eLang,(*iMap).first), pParent)); pParent->AddTag(pNewTag); } |