Skip to content

Commit

Permalink
Eliminate use of Nullable<T>, which should make life a bit easier for…
Browse files Browse the repository at this point in the history
… mberends++ when porting.
  • Loading branch information
jnthn committed Aug 23, 2010
1 parent 3446bc2 commit 4c8ee84
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 17 deletions.
3 changes: 1 addition & 2 deletions dotnet/runtime/Metamodel/Representations/P6capture.cs
Expand Up @@ -44,8 +44,7 @@ public override RakudoObject type_object_for(RakudoObject MetaPackage)
/// <returns></returns>
public override RakudoObject instance_of(RakudoObject WHAT)
{
var Object = new Instance(WHAT.STable);
return Object;
return new Instance(WHAT.STable);
}

/// <summary>
Expand Down
17 changes: 9 additions & 8 deletions dotnet/runtime/Metamodel/Representations/P6int.cs
Expand Up @@ -16,7 +16,8 @@ public sealed class P6int : Representation
/// </summary>
internal sealed class Instance : RakudoObject
{
public Nullable<int> Value;
public int Value;
public bool Undefined;
public Instance(SharedTable STable)
{
this.STable = STable;
Expand All @@ -33,8 +34,10 @@ public override RakudoObject type_object_for(RakudoObject MetaPackage)
var STable = new SharedTable();
STable.HOW = MetaPackage;
STable.REPR = this;
STable.WHAT = new Instance(STable);
return STable.WHAT;
var WHAT = new Instance(STable);
WHAT.Undefined = true;
STable.WHAT = WHAT;
return WHAT;
}

/// <summary>
Expand All @@ -44,9 +47,7 @@ public override RakudoObject type_object_for(RakudoObject MetaPackage)
/// <returns></returns>
public override RakudoObject instance_of(RakudoObject WHAT)
{
var Object = new Instance(WHAT.STable);
Object.Value = 0;
return Object;
return new Instance(WHAT.STable);
}

/// <summary>
Expand All @@ -56,7 +57,7 @@ public override RakudoObject instance_of(RakudoObject WHAT)
/// <returns></returns>
public override bool defined(RakudoObject Obj)
{
return ((Instance)Obj).Value.HasValue;
return !((Instance)Obj).Undefined;
}

public override RakudoObject get_attribute(RakudoObject Object, RakudoObject ClassHandle, string Name)
Expand Down Expand Up @@ -91,7 +92,7 @@ public override void set_int(RakudoObject Object, int Value)

public override int get_int(RakudoObject Object)
{
return ((Instance)Object).Value.Value;
return ((Instance)Object).Value;
}

public override void set_num(RakudoObject Object, double Value)
Expand Down
15 changes: 8 additions & 7 deletions dotnet/runtime/Metamodel/Representations/P6num.cs
Expand Up @@ -16,7 +16,8 @@ public sealed class P6num : Representation
/// </summary>
internal sealed class Instance : RakudoObject
{
public Nullable<double> Value;
public double Value;
public bool Undefined;
public Instance(SharedTable STable)
{
this.STable = STable;
Expand All @@ -33,7 +34,9 @@ public override RakudoObject type_object_for(RakudoObject MetaPackage)
var STable = new SharedTable();
STable.HOW = MetaPackage;
STable.REPR = this;
STable.WHAT = new Instance(STable);
var WHAT = new Instance(STable);
WHAT.Undefined = true;
STable.WHAT = WHAT;
return STable.WHAT;
}

Expand All @@ -44,9 +47,7 @@ public override RakudoObject type_object_for(RakudoObject MetaPackage)
/// <returns></returns>
public override RakudoObject instance_of(RakudoObject WHAT)
{
var Object = new Instance(WHAT.STable);
Object.Value = 0.0;
return Object;
return new Instance(WHAT.STable);
}

/// <summary>
Expand All @@ -56,7 +57,7 @@ public override RakudoObject instance_of(RakudoObject WHAT)
/// <returns></returns>
public override bool defined(RakudoObject Obj)
{
return ((Instance)Obj).Value.HasValue;
return !((Instance)Obj).Undefined;
}

public override RakudoObject get_attribute(RakudoObject Object, RakudoObject ClassHandle, string Name)
Expand Down Expand Up @@ -101,7 +102,7 @@ public override void set_num(RakudoObject Object, double Value)

public override double get_num(RakudoObject Object)
{
return ((Instance)Object).Value.Value;
return ((Instance)Object).Value;
}

public override void set_str(RakudoObject Object, string Value)
Expand Down

0 comments on commit 4c8ee84

Please sign in to comment.