|
|
@@ -850,18 +850,13 @@ struct_declaration
|
|
|
type_name
|
|
|
{
|
|
|
MemberName name = MakeName ((MemberName) $6);
|
|
|
- push_current_class (new Struct (
|
|
|
- current_namespace, current_class, name, (int) $2,
|
|
|
- (Attributes) $1), $3);
|
|
|
+ push_current_class (new Struct (current_namespace, current_class, name, (int) $2, (Attributes) $1), $3);
|
|
|
}
|
|
|
opt_class_base
|
|
|
opt_type_parameter_constraints_clauses
|
|
|
{
|
|
|
lexer.ConstraintsParsing = false;
|
|
|
|
|
|
- if ($8 != null)
|
|
|
- current_container.AddBasesForPart (current_class, (ArrayList) $8);
|
|
|
-
|
|
|
current_class.SetParameterInfo ((ArrayList) $9);
|
|
|
|
|
|
if (RootContext.Documentation != null)
|
|
|
@@ -1664,19 +1659,13 @@ interface_declaration
|
|
|
type_name
|
|
|
{
|
|
|
MemberName name = MakeName ((MemberName) $6);
|
|
|
-
|
|
|
- push_current_class (new Interface (
|
|
|
- current_namespace, current_class, name, (int) $2,
|
|
|
- (Attributes) $1), $3);
|
|
|
+ push_current_class (new Interface (current_namespace, current_class, name, (int) $2, (Attributes) $1), $3);
|
|
|
}
|
|
|
opt_class_base
|
|
|
opt_type_parameter_constraints_clauses
|
|
|
{
|
|
|
lexer.ConstraintsParsing = false;
|
|
|
|
|
|
- if ($8 != null)
|
|
|
- current_container.AddBasesForPart (current_class, (ArrayList) $8);
|
|
|
-
|
|
|
current_class.SetParameterInfo ((ArrayList) $9);
|
|
|
|
|
|
if (RootContext.Documentation != null) {
|
|
|
@@ -4312,26 +4301,13 @@ class_declaration
|
|
|
type_name
|
|
|
{
|
|
|
MemberName name = MakeName ((MemberName) $6);
|
|
|
- int mod_flags = (int) $2;
|
|
|
-
|
|
|
- push_current_class (new Class (
|
|
|
- current_namespace, current_class, name,
|
|
|
- mod_flags, (Attributes) $1), $3);
|
|
|
+ push_current_class (new Class (current_namespace, current_class, name, (int) $2, (Attributes) $1), $3);
|
|
|
}
|
|
|
opt_class_base
|
|
|
opt_type_parameter_constraints_clauses
|
|
|
{
|
|
|
lexer.ConstraintsParsing = false;
|
|
|
|
|
|
- if ($8 != null) {
|
|
|
- if (current_class.Name == "System.Object") {
|
|
|
- Report.Error (537, current_class.Location,
|
|
|
- "The class System.Object cannot have a base " +
|
|
|
- "class or implement an interface.");
|
|
|
- }
|
|
|
- current_container.AddBasesForPart (current_class, (ArrayList) $8);
|
|
|
- }
|
|
|
-
|
|
|
current_class.SetParameterInfo ((ArrayList) $9);
|
|
|
|
|
|
if (RootContext.Documentation != null) {
|
|
|
@@ -4395,12 +4371,12 @@ modifier
|
|
|
;
|
|
|
|
|
|
opt_class_base
|
|
|
- : /* empty */ { $$ = null; }
|
|
|
- | class_base { $$ = $1; }
|
|
|
+ : /* empty */
|
|
|
+ | class_base
|
|
|
;
|
|
|
|
|
|
class_base
|
|
|
- : COLON type_list { $$ = $2; }
|
|
|
+ : COLON type_list { current_container.AddBasesForPart (current_class, (ArrayList) $2); }
|
|
|
;
|
|
|
|
|
|
opt_type_parameter_constraints_clauses
|