Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaja R Harinath <harinath@hurrynot.org>2005-03-09 13:04:11 +0300
committerRaja R Harinath <harinath@hurrynot.org>2005-03-09 13:04:11 +0300
commitcc3108d353f847b1d045ca94af201435a6a84343 (patch)
treea820355dcbe1402e564b224ba4e7d9377b3cb8e5 /mcs/errors/ChangeLog
parent3961e2a2e41f2c5dc7d2487e8076787ff01cc510 (diff)
Clean up a few partial-class semantics.
Fixes test-357.cs and cs1618-2.cs. * cs-parser.jay (struct_declaration): Use 'current_class' as parent of newly-created struct. Remove call to Register (). Use 'pop_current_class' to complete handing the current struct. (interface_declaration): Likewise. (class_declaration): Likewise. (enum_declaration): Use 'current_class' as parent of newly created enum. (delegate_declaration): Likewise. (pop_current_class): New function. This is used to handle closing up the 'current_class' and 'current_container', and pointing them to the enclosing class/container. (CSharpParser): Initialize 'current_class' too. decl.cs (MemberCore): Add check for invariant: a partial container is not a parsed entity, and thus does not enclose any parsed members. (DeclSpace.TypeResolveEmitContext): Expose 'type_resolve_ec'. (DeclSpace.BaseTypeExpr): Use it. (DeclSpace.LookupType): Add check for invariant. * class.cs (TypeContainer): Add check for invariant: a nested class should have the same NamespaceEntry as its enclosing class. (TypeContainer.EmitFieldInitializers): Make virtual. (TypeContainer.DefineDefaultConstructor): Adhere to invariant in MemberCore. (TypeContainer.Register): Remove. (TypeContainer.DefineType): Set the 'ec' of a PartialContainer to null. Use TypeResolveEmitContext for resolving base types and interfaces. Move initialization of Parts.TypeBuilder here from ... (TypeContainer.DefineNestedTypes): ... here. (PartialContainer): Take a Namespace not a NamespaceEntry. (PartialContainer.Create): Don't use Register. Call the appropriate Add... function directly. (ClassPart): Take both the PartialContainer and the enclosing class as constructor arguments. (ClassPart.EmitFieldInitializers): Override. (ClassPart.PartFindNestedTypes): Remove. (FieldBase.GetInitializerExpression): Resolve the initializer expression in the emit context of the enclosing class. * tree.cs (RootTypes): Remove Register (). svn path=/trunk/mcs/; revision=41590
Diffstat (limited to 'mcs/errors/ChangeLog')
-rw-r--r--mcs/errors/ChangeLog4
1 files changed, 4 insertions, 0 deletions
diff --git a/mcs/errors/ChangeLog b/mcs/errors/ChangeLog
index f8d81a96999..d1e1528944d 100644
--- a/mcs/errors/ChangeLog
+++ b/mcs/errors/ChangeLog
@@ -1,3 +1,7 @@
+2005-03-09 Raja R Harinath <rharinath@novell.com>
+
+ * cs1618-2.cs: New test for partial classes.
+
2005-03-07 Raja R Harinath <rharinath@novell.com>
* cs0120-6.cs, cs0120-7.cs: New tests from #73394.