diff options
-rw-r--r-- | BCT/BytecodeTranslator/ExpressionTraverser.cs | 4 | ||||
-rw-r--r-- | BCT/BytecodeTranslator/MetadataTraverser.cs | 4 | ||||
-rw-r--r-- | BCT/BytecodeTranslator/Sink.cs | 10 | ||||
-rw-r--r-- | BCT/BytecodeTranslator/WholeProgram.cs | 2 |
4 files changed, 10 insertions, 10 deletions
diff --git a/BCT/BytecodeTranslator/ExpressionTraverser.cs b/BCT/BytecodeTranslator/ExpressionTraverser.cs index bb73547a..d4897dc7 100644 --- a/BCT/BytecodeTranslator/ExpressionTraverser.cs +++ b/BCT/BytecodeTranslator/ExpressionTraverser.cs @@ -486,7 +486,7 @@ namespace BytecodeTranslator outvars.Add(new Bpl.IdentifierExpr(cloc, v));
TranslatedExpressions.Push(new Bpl.IdentifierExpr(cloc, v));
}
- var proc = this.sink.FindOrCreateProcedure(resolvedMethod, resolvedMethod.IsStatic);
+ var proc = this.sink.FindOrCreateProcedure(resolvedMethod);
string methodname = proc.Name;
Bpl.QKeyValue attrib = null;
@@ -682,7 +682,7 @@ namespace BytecodeTranslator this.StmtTraverser.StmtBuilder.Add(new Bpl.CallCmd(token, this.sink.AllocationMethodName, new Bpl.ExprSeq(), new Bpl.IdentifierExprSeq(Bpl.Expr.Ident(a))));
// Second, generate the call to the appropriate ctor
- var proc = this.sink.FindOrCreateProcedure(ctor, false);
+ var proc = this.sink.FindOrCreateProcedure(ctor.ResolvedMethod);
Bpl.ExprSeq inexpr = new Bpl.ExprSeq();
inexpr.Add(Bpl.Expr.Ident(a));
IEnumerator<IParameterDefinition> penum = ctor.ResolvedMethod.Parameters.GetEnumerator();
diff --git a/BCT/BytecodeTranslator/MetadataTraverser.cs b/BCT/BytecodeTranslator/MetadataTraverser.cs index a83fdf09..ed91f97f 100644 --- a/BCT/BytecodeTranslator/MetadataTraverser.cs +++ b/BCT/BytecodeTranslator/MetadataTraverser.cs @@ -86,7 +86,7 @@ namespace BytecodeTranslator { try
{
- var procAndFormalMap = this.sink.FindOrCreateProcedureAndReturnProcAndFormalMap(invokeMethod, invokeMethod.IsStatic);
+ var procAndFormalMap = this.sink.FindOrCreateProcedureAndReturnProcAndFormalMap(invokeMethod);
var proc = procAndFormalMap.Procedure;
var invars = proc.InParams;
var outvars = proc.OutParams;
@@ -303,7 +303,7 @@ namespace BytecodeTranslator { this.sink.BeginMethod();
- var procAndFormalMap = this.sink.FindOrCreateProcedureAndReturnProcAndFormalMap(method, method.IsStatic);
+ var procAndFormalMap = this.sink.FindOrCreateProcedureAndReturnProcAndFormalMap(method);
if (method.IsAbstract) { // we're done, just define the procedure
return;
diff --git a/BCT/BytecodeTranslator/Sink.cs b/BCT/BytecodeTranslator/Sink.cs index 74e095dc..c917bd9a 100644 --- a/BCT/BytecodeTranslator/Sink.cs +++ b/BCT/BytecodeTranslator/Sink.cs @@ -214,7 +214,7 @@ namespace BytecodeTranslator { public Bpl.Variable ReturnVariable { get { return returnVariable; } }
}
- public Bpl.Procedure FindOrCreateProcedure(IMethodReference method, bool isStatic) {
+ public Bpl.Procedure FindOrCreateProcedure(IMethodDefinition method) {
ProcedureInfo procAndFormalMap;
var key = method; //.InternedKey;
@@ -256,7 +256,7 @@ namespace BytecodeTranslator { Bpl.Formal/*?*/ self = null;
#region Create 'this' parameter
- if (!isStatic) {
+ if (!method.IsStatic) {
in_count++;
Bpl.Type selftype = Bpl.Type.Int;
self = new Bpl.Formal(method.Token(),
@@ -272,7 +272,7 @@ namespace BytecodeTranslator { int j = 0;
#region Add 'this' parameter as first in parameter
- if (!isStatic)
+ if (!method.IsStatic)
invars[i++] = self;
#endregion
@@ -386,8 +386,8 @@ namespace BytecodeTranslator { return false;
}
- public ProcedureInfo FindOrCreateProcedureAndReturnProcAndFormalMap(IMethodDefinition method, bool isStatic) {
- this.FindOrCreateProcedure(method, isStatic);
+ public ProcedureInfo FindOrCreateProcedureAndReturnProcAndFormalMap(IMethodDefinition method) {
+ this.FindOrCreateProcedure(method);
return this.declaredMethods[method];
}
private static IMethodReference Unspecialize(IMethodReference method) {
diff --git a/BCT/BytecodeTranslator/WholeProgram.cs b/BCT/BytecodeTranslator/WholeProgram.cs index 1710b2a6..290426fc 100644 --- a/BCT/BytecodeTranslator/WholeProgram.cs +++ b/BCT/BytecodeTranslator/WholeProgram.cs @@ -181,7 +181,7 @@ namespace BytecodeTranslator { var elseBranch = new Bpl.StmtListBuilder();
- var proc = this.sink.FindOrCreateProcedure(resolvedMethod, resolvedMethod.IsStatic);
+ var proc = this.sink.FindOrCreateProcedure(resolvedMethod);
var methodname = proc.Name;
Bpl.CallCmd call;
|