Projects/Quanta/Feature Plan 4: Difference between revisions

From KDE TechBase
No edit summary
Line 18: Line 18:
{{FeatureTodo|DUChain|second parse pass when project opened - to find all types correctly|-}}
{{FeatureTodo|DUChain|second parse pass when project opened - to find all types correctly|-}}
{{FeatureInProgress|DUChain|try to improve performance of declaration- and usebuilder, esp. for large files|[email protected]|Milian Wolff}}
{{FeatureInProgress|DUChain|try to improve performance of declaration- and usebuilder, esp. for large files|[email protected]|Milian Wolff}}
{{FeatureTodo|DUChain|user configurable project dependencies on other projects/paths|-}}
{{FeatureInProgress|Code Completion||[email protected]|Niko Sams}}
{{FeatureInProgress|Code Completion||[email protected]|Niko Sams}}
{{FeatureInProgress|Code Completion|overloadable functions in class context|[email protected]|Milian Wolff}}
{{FeatureInProgress|Code Completion|overloadable functions in class context|[email protected]|Milian Wolff}}
Line 33: Line 35:
{{FeatureTodo|Code Completion|only show arrays/array-like objects in foreach-context|-}}
{{FeatureTodo|Code Completion|only show arrays/array-like objects in foreach-context|-}}
{{FeatureTodo|Code Completion|group completion stuff by type, i.e. functions, classes, instances, keywords, etc.|-}}
{{FeatureTodo|Code Completion|group completion stuff by type, i.e. functions, classes, instances, keywords, etc.|-}}
{{FeatureTodo|Code Completion|Create a global Context (imports all files of a project) that is imported in every context. That way findDeclarations(...) works across all files and we can drop that PersistentSymbolTable and CodeModel stuff|-}}
{{FeatureInProgress|Problem reporting||[email protected]|Niko Sams}}
{{FeatureInProgress|Problem reporting||[email protected]|Niko Sams}}
{{FeatureTodo|Problem reporting|don't create problems for not found declarations - instead do it as Cpp does - so it is even configurable|[email protected]|Niko Sams}}
{{FeatureTodo|Problem reporting|don't create problems for not found declarations - instead do it as Cpp does - so it is even configurable|[email protected]|Niko Sams}}

Revision as of 14:27, 28 February 2009

This is a todo list for Quanta4

Php Language Support

Status Category Description Contact
DONE Parser Parser written using kdevelop-pg-qt Niko Sams <[email protected]>
TO DO Parser PHP 5.3 support (configurable) <->
IN PROGRESS DUChain DUChain generation Niko Sams <[email protected]>
DONE DUChain class declaration after class instantiation should work as in Php Niko Sams <[email protected]>
DONE DUChain static variables Niko Sams <[email protected]>
DONE DUChain final / abstract classes Milian Wolff <[email protected]>
DONE DUChain final / abstract methods Milian Wolff <[email protected]>
DONE DUChain adapt isDestructor/isConstructor to handle __destruct / __construct Milian Wolff <[email protected]>
DONE DUChain global variables: global keyword, $GLOBALS, $_GET Niko Sams <[email protected]>
TO DO DUChain second parse pass when project opened - to find all types correctly <->
IN PROGRESS DUChain try to improve performance of declaration- and usebuilder, esp. for large files Milian Wolff <[email protected]>
TO DO DUChain user configurable project dependencies on other projects/paths <->


IN PROGRESS Code Completion Niko Sams <[email protected]>
IN PROGRESS Code Completion overloadable functions in class context Milian Wolff <[email protected]>
TO DO Code Completion standard PHP keywords for current context (foreach, while, function, etc.) <->
TO DO Code Completion doxygen/phpdoc comment completion / skeleton generation <->
TO DO Code Completion completion for default entries of $_SERVER array <->
TO DO Code Completion completion after require/include, similar to what cpp does after #include <->
DONE Code Completion only show visible methods (protected/private/public) Milian Wolff <[email protected]>
DONE Code Completion only show interfaces after "implements" Milian Wolff <[email protected]>
DONE Code Completion only show classes/interfaces after "extends" Milian Wolff <[email protected]>
DONE Code Completion only show Exceptions in "catch()" and after "throw" Milian Wolff <[email protected]>
DONE Code Completion filter abstract methods/classes Milian Wolff <[email protected]>
TO DO Code Completion mind type hinting for function argument completion <->
TO DO Code Completion skeletons for while/do/for/foreach/switch/class/interface statements <->
TO DO Code Completion only show arrays/array-like objects in foreach-context <->
TO DO Code Completion group completion stuff by type, i.e. functions, classes, instances, keywords, etc. <->
TO DO Code Completion Create a global Context (imports all files of a project) that is imported in every context. That way findDeclarations(...) works across all files and we can drop that PersistentSymbolTable and CodeModel stuff <->


IN PROGRESS Problem reporting Niko Sams <[email protected]>
TO DO Problem reporting don't create problems for not found declarations - instead do it as Cpp does - so it is even configurable Niko Sams <[email protected]>
TO DO Problem reporting give reasonable error messages <->
TO DO Problem reporting validate declaration visibility <->
TO DO Problem reporting configurable: report unreachable code (i.e. after return) <->
TO DO Problem reporting configurable: variable assignment instead of bool check <->
TO DO Problem reporting don't build declarations/types/uses/contexts for erroneous declarations <->
DONE Problem reporting validate redeclarations, esp. classes, functions, methods etc. Milian Wolff <[email protected]>
DONE Internal Php functions extract functions from php manual Niko Sams <[email protected]>
DONE Internal Php functions add superglobal variables ($_GET, ...) Niko Sams <[email protected]>
TO DO Internal Php functions configurable: ignore deprecated autoglobals like $argv, $HTTP_*_VARS <->
TO DO Internal Php functions add @since for functions only avaliable in Php 5.3 <->
TO DO CodeGeneration new Class with support for extends/implements <->
TO DO CodeGeneration file template with proper phpdoc/doxygen comment <->
TO DO Semantic Highlighting Create base class in platform based on Cpp <->
TO DO Debugger Full-Featured Debugger <->
TO DO Unit Tests refactor tests to reduce repeated code <->
TO DO Unit Tests introduce tests for problem reporting <->