Browse Source

Fix constants.

pull/37/head
Daniel Grunwald 15 years ago
parent
commit
100b7160a8
  1. 10
      Mono.Cecil/Mono.Cecil/FieldDefinition.cs
  2. 6
      Mono.Cecil/Mono.Cecil/IConstantProvider.cs
  3. 10
      Mono.Cecil/Mono.Cecil/ParameterDefinition.cs
  4. 10
      Mono.Cecil/Mono.Cecil/PropertyDefinition.cs

10
Mono.Cecil/Mono.Cecil/FieldDefinition.cs

@ -124,7 +124,7 @@ namespace Mono.Cecil { @@ -124,7 +124,7 @@ namespace Mono.Cecil {
public bool HasConstant {
get {
ResolveConstant ();
this.ResolveConstant (ref constant, Module);
return constant != Mixin.NoValue;
}
@ -136,14 +136,6 @@ namespace Mono.Cecil { @@ -136,14 +136,6 @@ namespace Mono.Cecil {
set { constant = value; }
}
void ResolveConstant ()
{
if (constant != Mixin.NotResolved)
return;
this.ResolveConstant (ref constant, Module);
}
public bool HasCustomAttributes {
get {
if (custom_attributes != null)

6
Mono.Cecil/Mono.Cecil/IConstantProvider.cs

@ -44,10 +44,14 @@ namespace Mono.Cecil { @@ -44,10 +44,14 @@ namespace Mono.Cecil {
ref object constant,
ModuleDefinition module)
{
lock (module.SyncRoot) {
if (constant != Mixin.NotResolved)
return;
if (module.HasImage ())
module.Read (ref constant, self, (provider, reader) => reader.ReadConstant (provider));
constant = module.Read (self, (provider, reader) => reader.ReadConstant (provider));
else
constant = Mixin.NoValue;
}
}
}
}

10
Mono.Cecil/Mono.Cecil/ParameterDefinition.cs

@ -51,7 +51,7 @@ namespace Mono.Cecil { @@ -51,7 +51,7 @@ namespace Mono.Cecil {
public bool HasConstant {
get {
ResolveConstant ();
this.ResolveConstant (ref constant, parameter_type.Module);
return constant != Mixin.NoValue;
}
@ -63,14 +63,6 @@ namespace Mono.Cecil { @@ -63,14 +63,6 @@ namespace Mono.Cecil {
set { constant = value; }
}
void ResolveConstant ()
{
if (constant != Mixin.NotResolved)
return;
this.ResolveConstant (ref constant, parameter_type.Module);
}
public bool HasCustomAttributes {
get {
if (custom_attributes != null)

10
Mono.Cecil/Mono.Cecil/PropertyDefinition.cs

@ -168,7 +168,7 @@ namespace Mono.Cecil { @@ -168,7 +168,7 @@ namespace Mono.Cecil {
public bool HasConstant {
get {
ResolveConstant ();
this.ResolveConstant (ref constant, Module);
return constant != Mixin.NoValue;
}
@ -180,14 +180,6 @@ namespace Mono.Cecil { @@ -180,14 +180,6 @@ namespace Mono.Cecil {
set { constant = value; }
}
void ResolveConstant ()
{
if (constant != Mixin.NotResolved)
return;
this.ResolveConstant (ref constant, Module);
}
#region PropertyAttributes
public bool IsSpecialName {

Loading…
Cancel
Save