diff options
author | Mike Barnett <mbarnett@microsoft.com> | 2011-05-31 10:26:22 -0700 |
---|---|---|
committer | Mike Barnett <mbarnett@microsoft.com> | 2011-05-31 10:26:22 -0700 |
commit | 95c98ac3119b6045f43f18ae980839f76743c52d (patch) | |
tree | e76da68dcd2aac6d469e4cdc4ebeda476637bb08 /BCT/BytecodeTranslator/MetadataTraverser.cs | |
parent | f3ada9c85febb6e551dff52f02c6679290b9a67a (diff) |
Lots of small bug fixes: conversions, overloaded operations on real numbers.
Diffstat (limited to 'BCT/BytecodeTranslator/MetadataTraverser.cs')
-rw-r--r-- | BCT/BytecodeTranslator/MetadataTraverser.cs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/BCT/BytecodeTranslator/MetadataTraverser.cs b/BCT/BytecodeTranslator/MetadataTraverser.cs index 18b8e0e6..1cad1a36 100644 --- a/BCT/BytecodeTranslator/MetadataTraverser.cs +++ b/BCT/BytecodeTranslator/MetadataTraverser.cs @@ -396,7 +396,20 @@ namespace BytecodeTranslator { } else { // method is translated as a function
//var func = decl as Bpl.Function;
//Contract.Assume(func != null);
- //func.Body = new Bpl.CodeExpr(new Bpl.VariableSeq(), translatedBody.BigBlocks);
+ //var blocks = new List<Bpl.Block>();
+ //var counter = 0;
+ //var returnValue = decl.OutParams[0];
+ //foreach (var bb in translatedBody.BigBlocks) {
+ // var label = bb.LabelName ?? "L" + counter++.ToString();
+ // var newTransferCmd = (bb.tc is Bpl.ReturnCmd)
+ // ? new Bpl.ReturnExprCmd(bb.tc.tok, Bpl.Expr.Ident(returnValue))
+ // : bb.tc;
+ // var b = new Bpl.Block(bb.tok, label, bb.simpleCmds, newTransferCmd);
+ // blocks.Add(b);
+ //}
+ //var localVars = new Bpl.VariableSeq();
+ //localVars.Add(returnValue);
+ //func.Body = new Bpl.CodeExpr(localVars, blocks);
}
#endregion
|