summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorGravatar MichalMoskal <unknown>2010-02-19 22:17:39 +0000
committerGravatar MichalMoskal <unknown>2010-02-19 22:17:39 +0000
commit5827ea8d4d4771174a864d5425d89bec22d62fa3 (patch)
tree02522e1c475eb6cf064242aac5edbd8f61ed0d57 /Source/Core
parent1127ea8d8037278415fa5cb2d8917d972b122983 (diff)
Fix up the polymorphic case for lambda; it probably still isn't quite correct.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/AbsyQuant.ssc2
-rw-r--r--Source/Core/LambdaHelper.ssc4
2 files changed, 3 insertions, 3 deletions
diff --git a/Source/Core/AbsyQuant.ssc b/Source/Core/AbsyQuant.ssc
index af1362c9..401492a3 100644
--- a/Source/Core/AbsyQuant.ssc
+++ b/Source/Core/AbsyQuant.ssc
@@ -811,8 +811,6 @@ namespace Microsoft.Boogie
}
this.Type = new MapType(this.tok, this.TypeParameters, argTypes, Body.Type);
- this.Type = this.ShallowType;
-
// Check that type parameters occur in the types of the
// dummies, or otherwise in the triggers. This can only be
// done after typechecking
diff --git a/Source/Core/LambdaHelper.ssc b/Source/Core/LambdaHelper.ssc
index 2489b57d..412304b7 100644
--- a/Source/Core/LambdaHelper.ssc
+++ b/Source/Core/LambdaHelper.ssc
@@ -101,7 +101,9 @@ namespace Microsoft.Boogie {
lambdaFunctions.Add(fn);
lambdaAxioms.Add(body);
- Expr call = new NAryExpr(tok, fcall, callArgs);
+ NAryExpr call = new NAryExpr(tok, fcall, callArgs);
+ call.Type = res.TypedIdent.Type;
+ call.TypeParameters = SimpleTypeParamInstantiation.EMPTY;
return call;
}