diff options
author | Daniel Grunwald <daniel@danielgrunwald.de> | 2012-05-16 21:29:41 +0400 |
---|---|---|
committer | Daniel Grunwald <daniel@danielgrunwald.de> | 2012-05-16 21:29:41 +0400 |
commit | 282d3c3423f27fcb9fb874ee79d054ff1941952c (patch) | |
tree | 44f356ae3555a4800994b1c3ad0193201927896d /ICSharpCode.NRefactory.ConsistencyCheck | |
parent | 4d07b33b4427ff8d74cb760ba6104184cd586a15 (diff) |
Fix icsharpcode/NRefactory#32: ResolveResult for anonymous type creation
Diffstat (limited to 'ICSharpCode.NRefactory.ConsistencyCheck')
-rw-r--r-- | ICSharpCode.NRefactory.ConsistencyCheck/ResolverTest.cs | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/ICSharpCode.NRefactory.ConsistencyCheck/ResolverTest.cs b/ICSharpCode.NRefactory.ConsistencyCheck/ResolverTest.cs index 59f156eb..87c0ff53 100644 --- a/ICSharpCode.NRefactory.ConsistencyCheck/ResolverTest.cs +++ b/ICSharpCode.NRefactory.ConsistencyCheck/ResolverTest.cs @@ -100,30 +100,17 @@ namespace ICSharpCode.NRefactory.ConsistencyCheck public static void RunTestWithoutParsedFile(CSharpFile file) { - CSharpAstResolver originalResolver = new CSharpAstResolver(file.Project.Compilation, file.CompilationUnit, file.ParsedFile); - originalResolver.ApplyNavigator(new ValidatingResolveAllNavigator(file.FileName), CancellationToken.None); CSharpAstResolver resolver = new CSharpAstResolver(file.Project.Compilation, file.CompilationUnit); - var navigator = new ComparingResolveAllNavigator(originalResolver); + var navigator = new ValidatingResolveAllNavigator(file.FileName); resolver.ApplyNavigator(navigator, CancellationToken.None); navigator.Validate(resolver, file.CompilationUnit); - } - - sealed class ComparingResolveAllNavigator : ValidatingResolveAllNavigator - { - readonly CSharpAstResolver originalResolver; - public ComparingResolveAllNavigator(CSharpAstResolver originalResolver) - : base(originalResolver.ParsedFile.FileName) - { - this.originalResolver = originalResolver; - } - - public override void Resolved(AstNode node, ResolveResult result) - { - base.Resolved(node, result); - ResolveResult originalResult = originalResolver.Resolve(node); - if (!RandomizedOrderResolverTest.IsEqualResolveResult(originalResult, result)) { - Console.WriteLine("Compiler error at " + node.GetRegion().FileName + ":" + node.StartLocation + ": Should be " + originalResult + " but was " + result); + CSharpAstResolver originalResolver = new CSharpAstResolver(file.Project.Compilation, file.CompilationUnit, file.ParsedFile); + foreach (var node in file.CompilationUnit.DescendantsAndSelf) { + var originalResult = originalResolver.Resolve(node); + var result = resolver.Resolve(node); + if (!RandomizedOrderResolverTest.IsEqualResolveResult(result, originalResult)) { + Console.WriteLine("Got different without IParsedFile at " + file.FileName + ":" + node.StartLocation); } } } |