projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[mcs] When setting struct empty layout consider compiler generated fields. Fixes...
[mono.git]
/
mcs
/
mcs
/
decl.cs
diff --git
a/mcs/mcs/decl.cs
b/mcs/mcs/decl.cs
index a386ab18b3bab8e955d5d175fc99d843ff495d43..0f0b1d1bb69749696d80b025d5da5bf27faf276b 100644
(file)
--- a/
mcs/mcs/decl.cs
+++ b/
mcs/mcs/decl.cs
@@
-18,7
+18,7
@@
using System.Diagnostics;
using System.Text;
using Mono.CompilerServices.SymbolWriter;
using System.Text;
using Mono.CompilerServices.SymbolWriter;
-#if
NET_2_1
+#if
MOBILE
using XmlElement = System.Object;
#else
using System.Xml;
using XmlElement = System.Object;
#else
using System.Xml;
@@
-290,7
+290,8
@@
namespace Mono.CSharp {
HasInstanceConstructor = 1 << 16,
HasUserOperators = 1 << 17,
CanBeReused = 1 << 18,
HasInstanceConstructor = 1 << 16,
HasUserOperators = 1 << 17,
CanBeReused = 1 << 18,
- InterfacesExpanded = 1 << 19
+ InterfacesExpanded = 1 << 19,
+ HasInstanceField = 1 << 20
}
/// <summary>
}
/// <summary>
@@
-524,6
+525,9
@@
namespace Mono.CSharp {
while (TypeManager.HasElementType (p))
p = TypeManager.GetElementType (p);
while (TypeManager.HasElementType (p))
p = TypeManager.GetElementType (p);
+ if (p.BuiltinType != BuiltinTypeSpec.Type.None)
+ return true;
+
if (p.IsGenericParameter)
return true;
if (p.IsGenericParameter)
return true;
@@
-543,6
+547,10
@@
namespace Mono.CSharp {
bool same_access_restrictions = false;
for (MemberCore mc = this; !same_access_restrictions && mc != null && mc.Parent != null; mc = mc.Parent) {
bool same_access_restrictions = false;
for (MemberCore mc = this; !same_access_restrictions && mc != null && mc.Parent != null; mc = mc.Parent) {
+ var tc = mc as TypeContainer;
+ if (tc != null && tc.PartialContainer != null)
+ mc = tc.PartialContainer;
+
var al = mc.ModFlags & Modifiers.AccessibilityMask;
switch (pAccess) {
case Modifiers.INTERNAL:
var al = mc.ModFlags & Modifiers.AccessibilityMask;
switch (pAccess) {
case Modifiers.INTERNAL: