Browse Source

Add variable declarations

pull/728/head
Daniel Grunwald 11 years ago
parent
commit
51d4a25be6
  1. 14
      ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs

14
ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs

@ -144,8 +144,18 @@ namespace ICSharpCode.Decompiler.CSharp @@ -144,8 +144,18 @@ namespace ICSharpCode.Decompiler.CSharp
var statementBuilder = new StatementBuilder(method, cecilMapper);
var body = statementBuilder.ConvertAsBlock(function.Body);
body.AcceptVisitor(new InsertParenthesesVisitor {
InsertParenthesesForReadability = true
});
InsertParenthesesForReadability = true
});
// insert variables at start of body
Statement prevVarDecl = null;
foreach (var v in function.Variables) {
if (v.Kind == VariableKind.Local) {
var type = typeSystemAstBuilder.ConvertType(cecilMapper.GetType(v.Type));
var varDecl = new VariableDeclarationStatement(type, v.Name);
body.Statements.InsertAfter(prevVarDecl, varDecl);
prevVarDecl = varDecl;
}
}
entityDecl.AddChild(body, Roles.Body);
}
return entityDecl;

Loading…
Cancel
Save