} else if (buildin_types.TryGetValue (type, out pt)) {
spec = pt;
- pt.SetDefinition (definition, type);
+ pt.SetDefinition (definition, type, mod);
}
if (spec == null)
public BuildinTypeSpec (MemberKind kind, string ns, string name, Type buildinKind)
: base (kind, null, null, null, Modifiers.PUBLIC)
{
- if (kind == MemberKind.Struct)
- modifiers |= Modifiers.SEALED;
-
this.type = buildinKind;
this.ns = ns;
this.name = name;
return FullName;
}
- public void SetDefinition (ITypeDefinition td, MetaType type)
+ public void SetDefinition (ITypeDefinition td, MetaType type, Modifiers mod)
{
this.definition = td;
this.info = type;
+ this.modifiers |= (mod & ~Modifiers.AccessibilityMask);
}
public void SetDefinition (TypeSpec ts)
this.info = ts.GetMetaInfo ();
this.BaseType = ts.BaseType;
this.Interfaces = ts.Interfaces;
+ this.modifiers = ts.Modifiers;
}
}