{
object o = root.GetDefinition (name);
if (o == null){
- Report.Error (518, "The predefined type `" + name + "' is not defined");
+ Report.Error (518, "The predefined type `" + name + "' is not defined or imported");
return null;
}
{
object o = root.GetDefinition (name);
if (o == null){
- Report.Error (518, "The predefined type `" + name + "' is not defined");
+ Report.Error (518, "The predefined type `" + name + "' is not defined or imported");
return;
}
{
object o = root.GetDefinition (name);
if (o == null){
- Report.Error (518, "The predefined type `" + name + "' is not defined");
+ Report.Error (518, "The predefined type `" + name + "' is not defined or imported");
return;
}
{
object o = root.GetDefinition (name);
if (o == null){
- Report.Error (518, "The predefined type `" + name + "' is not defined");
+ Report.Error (518, "The predefined type `" + name + "' is not defined or imported");
return;
}
TypeContainer root = Tree.Types;
TypeManager.object_type = BootstrapCorlib_ResolveClass (root, "System.Object");
+ TypeManager.system_object_expr.Type = TypeManager.object_type;
TypeManager.value_type = BootstrapCorlib_ResolveClass (root, "System.ValueType");
+ TypeManager.system_valuetype_expr.Type = TypeManager.value_type;
TypeManager.attribute_type = BootstrapCorlib_ResolveClass (root, "System.Attribute");
TypeManager.indexer_name_type = BootstrapCorlib_ResolveClass (root, "System.Runtime.CompilerServices.IndexerNameAttribute");
"System.MarshalByRefObject",
"System.Security.CodeAccessPermission",
"System.Runtime.CompilerServices.RequiredAttributeAttribute",
- "System.Runtime.InteropServices.GuidAttribute"
+ "System.Runtime.InteropServices.GuidAttribute",
+ "System.Reflection.AssemblyCultureAttribute"
};
foreach (string cname in classes_second_stage)
helper_classes.Add (helper_class);
}
- static void Report1530 (Location loc)
- {
- Report.Error (1530, loc, "Keyword new not allowed for namespace elements");
- }
-
static public void PopulateCoreType (TypeContainer root, string name)
{
DeclSpace ds = (DeclSpace) root.GetDefinition (name);
- ds.DefineMembers (root);
+ ds.DefineMembers ();
ds.Define ();
}
TypeContainer root = Tree.Types;
if (type_container_resolve_order != null){
- if (RootContext.StdLib){
- foreach (TypeContainer tc in type_container_resolve_order)
- tc.DefineMembers (root);
- } else {
- foreach (TypeContainer tc in type_container_resolve_order) {
- // When compiling corlib, these types have already been
- // populated from BootCorlib_PopulateCoreTypes ().
- if (((tc.Name == "System.Object") ||
- (tc.Name == "System.Attribute") ||
- (tc.Name == "System.ValueType") ||
- (tc.Name == "System.Runtime.CompilerServices.IndexerNameAttribute")))
- continue;
-
- tc.DefineMembers (root);
- }
- }
+ foreach (TypeContainer tc in type_container_resolve_order)
+ tc.DefineMembers ();
}
ArrayList delegates = root.Delegates;
if (delegates != null){
foreach (Delegate d in delegates)
- if ((d.ModFlags & Modifiers.NEW) == 0)
- d.DefineMembers (root);
- else
- Report1530 (d.Location);
+ d.DefineMembers ();
}
ArrayList enums = root.Enums;
if (enums != null){
foreach (Enum en in enums)
- if ((en.ModFlags & Modifiers.NEW) == 0)
- en.DefineMembers (root);
- else
- Report1530 (en.Location);
+ en.DefineMembers ();
}
//
{
TypeContainer root = Tree.Types;
+ ArrayList delegates = root.Delegates;
+ if (delegates != null){
+ foreach (Delegate d in delegates)
+ d.Define ();
+ }
+
if (type_container_resolve_order != null){
foreach (TypeContainer tc in type_container_resolve_order) {
// When compiling corlib, these types have already been
(tc.Name == "System.Runtime.CompilerServices.IndexerNameAttribute")))
continue;
- if ((tc.ModFlags & Modifiers.NEW) == 0)
- tc.Define ();
+ tc.Define ();
}
}
- ArrayList delegates = root.Delegates;
- if (delegates != null){
- foreach (Delegate d in delegates)
- if ((d.ModFlags & Modifiers.NEW) == 0)
- d.Define ();
- }
-
ArrayList enums = root.Enums;
if (enums != null){
foreach (Enum en in enums)
- if ((en.ModFlags & Modifiers.NEW) == 0)
- en.Define ();
+ en.Define ();
}
}
return fb;
}
+
+ public static void CheckUnsafeOption (Location loc)
+ {
+ if (!Unsafe) {
+ Report.Error (227, loc,
+ "Unsafe code requires the `unsafe' command line option to be specified");
+ }
+ }
}
}