summaryrefslogtreecommitdiff
path: root/Dafny/Resolver.cs
diff options
context:
space:
mode:
authorGravatar Unknown <leino@LEINO6.redmond.corp.microsoft.com>2012-08-14 15:42:25 -0700
committerGravatar Unknown <leino@LEINO6.redmond.corp.microsoft.com>2012-08-14 15:42:25 -0700
commit5ca9e82f94a7df13110f6540893bc07cf41b7891 (patch)
tree50d4c28109d3afe82ae9b0e39b93f7f3c23ad818 /Dafny/Resolver.cs
parent9373ad40d67f494609ef55d2c202d698421c9393 (diff)
Dafny: two bug fixes (resolution crashing on bad input, DafnyExtension crashing after certain deletes)
Diffstat (limited to 'Dafny/Resolver.cs')
-rw-r--r--Dafny/Resolver.cs24
1 files changed, 13 insertions, 11 deletions
diff --git a/Dafny/Resolver.cs b/Dafny/Resolver.cs
index 6534d2ba..bf6dce17 100644
--- a/Dafny/Resolver.cs
+++ b/Dafny/Resolver.cs
@@ -964,17 +964,19 @@ namespace Microsoft.Dafny
allTypeParameters.PopMarker();
}
- foreach (TopLevelDecl d in declarations) {
- if (d is ClassDecl) {
- foreach (var member in ((ClassDecl)d).Members) {
- if (member is Method) {
- var m = ((Method)member);
- if (m.Body != null)
- CheckTypeInference(m.Body);
- } else if (member is Function) {
- var f = (Function)member;
- if (f.Body != null)
- CheckTypeInference(f.Body);
+ if (ErrorCount == prevErrorCount) {
+ foreach (TopLevelDecl d in declarations) {
+ if (d is ClassDecl) {
+ foreach (var member in ((ClassDecl)d).Members) {
+ if (member is Method) {
+ var m = ((Method)member);
+ if (m.Body != null)
+ CheckTypeInference(m.Body);
+ } else if (member is Function) {
+ var f = (Function)member;
+ if (f.Body != null)
+ CheckTypeInference(f.Body);
+ }
}
}
}