.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 f23eee362a Add .gitattributes and normalize newlines 12 years ago
..
Properties Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
Xml Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
CSharpFile.cs Merge NRefactory 5.2.0-261-g7a948e7 to ILSpy. 13 years ago
CSharpProject.cs Merge NRefactory 5.2.0-261-g7a948e7 to ILSpy. 13 years ago
FindReferencesConsistencyCheck.cs Merge NRefactory 5.2.0-261-g7a948e7 to ILSpy. 13 years ago
ICSharpCode.NRefactory.ConsistencyCheck.csproj Add .gitattributes and normalize newlines 12 years ago
Program.cs Merge NRefactory 5.2.0-261-g7a948e7 to ILSpy. 13 years ago
RandomizedOrderResolverTest.cs Merge NRefactory 5.2.0-261-g7a948e7 to ILSpy. 13 years ago
Readme.txt Merge NRefactory '180a690f373354796520d9468138d95f193f8156' to ILSpy. 13 years ago
ResolverTest.cs Merge NRefactory 5.2.0-261-g7a948e7 to ILSpy. 13 years ago
RoundtripTest.cs Merge NRefactory 5.2.0-261-g7a948e7 to ILSpy. 13 years ago
Solution.cs Merge NRefactory 5.2.0-261-g7a948e7 to ILSpy. 13 years ago
TypeSystemTests.cs Merge NRefactory 5.2.0-261-g7a948e7 to ILSpy. 13 years ago
VisitorBenchmark.cs Merge NRefactory 5.2.0-261-g7a948e7 to ILSpy. 13 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