diff options
author | Unknown <leino@LEINO6.redmond.corp.microsoft.com> | 2012-08-14 15:42:25 -0700 |
---|---|---|
committer | Unknown <leino@LEINO6.redmond.corp.microsoft.com> | 2012-08-14 15:42:25 -0700 |
commit | 5ca9e82f94a7df13110f6540893bc07cf41b7891 (patch) | |
tree | 50d4c28109d3afe82ae9b0e39b93f7f3c23ad818 /Dafny/Resolver.cs | |
parent | 9373ad40d67f494609ef55d2c202d698421c9393 (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.cs | 24 |
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);
+ }
}
}
}
|