Skip to content

Commit

Permalink
[dotnet] Fix a silly bug in P6opaque's slot computation logic.
Browse files Browse the repository at this point in the history
  • Loading branch information
jnthn committed Oct 2, 2010
1 parent f3bd7b1 commit 2947a00
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions dotnet/runtime/Metamodel/Representations/P6opaque.cs
Expand Up @@ -254,8 +254,6 @@ public override string get_str(ThreadContext TC, RakudoObject Object)
/// <param name="WHAT"></param>
private void ComputeSlotAllocation(ThreadContext TC, RakudoObject WHAT)
{
var HOW = WHAT.STable.HOW;

// Allocate slot mapping table.
SlotAllocation = new Dictionary<RakudoObject, Dictionary<string, int>>();

Expand All @@ -265,9 +263,10 @@ private void ComputeSlotAllocation(ThreadContext TC, RakudoObject WHAT)
while (CurrentClass != null)
{
// Get attributes and iterate over them.
var HOW = CurrentClass.STable.HOW;
var AttributesMeth = HOW.STable.FindMethod(TC, HOW, "attributes", Hints.NO_HINT);
var Attributes = AttributesMeth.STable.Invoke(TC, AttributesMeth, CaptureHelper.FormWith(
new RakudoObject[] { HOW, WHAT },
new RakudoObject[] { HOW, CurrentClass },
new Dictionary<string, RakudoObject>() { { "local", Ops.box_int(TC, 1, TC.DefaultBoolBoxType) } }));
var AttributesElemsMeth = Attributes.STable.FindMethod(TC, Attributes, "elems", Hints.NO_HINT);
var AttributesElems = Ops.unbox_int(TC, AttributesElemsMeth.STable.Invoke(TC, AttributesElemsMeth,
Expand All @@ -292,7 +291,7 @@ private void ComputeSlotAllocation(ThreadContext TC, RakudoObject WHAT)
// Find the next parent(s).
var ParentsMeth = HOW.STable.FindMethod(TC, HOW, "parents", Hints.NO_HINT);
var Parents = ParentsMeth.STable.Invoke(TC, ParentsMeth, CaptureHelper.FormWith(
new RakudoObject[] { HOW, WHAT },
new RakudoObject[] { HOW, CurrentClass },
new Dictionary<string,RakudoObject>() { { "local", Ops.box_int(TC, 1, TC.DefaultBoolBoxType) } }));

// Check how many parents we have.
Expand Down

0 comments on commit 2947a00

Please sign in to comment.