.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
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.
 
 
 
 
Daniel Grunwald 4279979fd2 Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
..
Properties Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
Xml Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
.gitignore Merge NRefactory 858d4cc6 into ILSpy master. 14 years ago
CSharpProject.cs Merge NRefactory 'b374e407589060b38af9156ff050dc7109c57bc6' to ILSpy. 14 years ago
FindReferencesConsistencyCheck.cs Merge NRefactory 'b374e407589060b38af9156ff050dc7109c57bc6' to ILSpy. 14 years ago
ICSharpCode.NRefactory.ConsistencyCheck.csproj Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
IDStringConsistencyCheck.cs Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
Program.cs Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
RandomizedOrderResolverTest.cs Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
Readme.txt Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
ResolverTest.cs Merge NRefactory 'b374e407589060b38af9156ff050dc7109c57bc6' to ILSpy. 14 years ago
RoundtripTest.cs Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
Solution.cs Merge NRefactory 858d4cc6 into ILSpy master. 14 years ago
app.config Merge NRefactory 858d4cc6 into ILSpy master. 14 years ago

Readme.txt

This is an automatic consistency check for NRefactory.
It loads a solution file and parses all the source code and referenced libraries,
and then performs a set of consistency checks.
These checks assume that the code is valid C# without any compilation errors,
so make sure to only pass in compilable source code.

Checks currently being performed:
- IDStringConsistencyCheck: Checks that ID strings are unique and refer back to the correct entity
- RoundtripTest: parses C# code and outputs it again using CSharpOutputVisitor, checking that only whitespace is changing
- ResolverTest: fully resolves all ASTs and validates that no errors are detected (no false positives in semantic error checking)
- RandomizedOrderResolverTest: checks that the order of Resolve()/GetResolverState() calls has no effect on the result
- FindReferencesConsistencyCheck: checks that FindReferences is the inverse of FindReferencedEntities

XML Tests:
- IncrementalXmlParserTests: tests that incremental parsing produces results identical to a full reparse
- XmlReaderTests: compares AXmlParser.Parse().CreateReader() with new XmlTextReader()



Ideas for further tests:
- Test token positions (see AstVerifier)
- Compare resolve results with csc compiler output (using Cecil)
- Randomly mutate a C# file (e.g. remove tokens) and verify that the parser does not crash