#develop (short for SharpDevelop) is a free IDE for .NET programming languages.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

41 lines
1.2 KiB

Parser:
- "extern alias" declarations
- "fixed int Field[100];" (fixed-size field declarations)
- support generics
- fix bugs (see currently ignored unit tests)
- put newlines into the AST
- add API to report errors
- allow multithreaded parsing
Resolver:
- Tons of unit tests for TypeSystemConvertVisitor
- Lambda expressions
- Handle attributes
- Port all #D resolver unit tests to NR
- Port all MD resolver unit tests to NR
Features:
- Code Completion
- Find References
- Extract Method refactoring
For integration into SharpDevelop:
- Review NR and DOM changes done in the timeframe
Idea for automated testing of the NR resolver:
Given some source code + the references,
Compile source code with MS C# Compiler
Load references into NR.TypeSystem
Load source code into NR.TypeSystem
Load compiled assembly into NR.TypeSystem
Compare entities 3a. and 3b. (but ignore compiled-generated members - ILSpy has logic to detect those)
For each method:
Resolve whole method with ResolveVisitor
Ensure there are no errors detected
Extract list of methods being called (incl. op_Implicit etc.)
Compare with methods being called in compiled assembly. (also compare type arguments)