2002-01-17 Miguel de Icaza <miguel@ximian.com>
authorMiguel de Icaza <miguel@gnome.org>
Thu, 17 Jan 2002 02:22:50 +0000 (02:22 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Thu, 17 Jan 2002 02:22:50 +0000 (02:22 -0000)
commit1f2b306c4e46855c55a1864a18129747c6ad710f
treebd4fa32d8cbea192ea7378e6c36828f7dbb1c896
parent8cb07d42eb8d796d1a713a739d3939fbb2b9587f
2002-01-17  Miguel de Icaza  <miguel@ximian.com>

* const.cs: Allow `unsafe'

* interface.cs: (PopulateMethod): Check for pointers being defined
only if the unsafe context is active.
(PopulateProperty): ditto.
(PopulateIndexer): ditto.

* class.cs (Method, Method.Define): Allow `unsafe' modifier to be
specified.  If pointers are present, make sure that they are
present in an unsafe context.
(Constructor, Constructor.Define): ditto.
(Field, Field.Define): ditto.
(Property, Property.Define): ditto.
(Event, Event.Define): ditto.

* decl.cs (MemberCore.UnsafeOK): New function to test that a
pointer is being declared in an unsafe context.

2002-01-16  Miguel de Icaza  <miguel@ximian.com>

* modifiers.cs (Modifiers.Check): Require a Location argument.
Report error 227 for Unsafe use.

* typemanager.cs: Remove IsPointerType, we should be using Type.IsPointer

svn path=/trunk/mcs/; revision=2014
13 files changed:
mcs/mcs/ChangeLog
mcs/mcs/TODO
mcs/mcs/class.cs
mcs/mcs/const.cs
mcs/mcs/cs-parser.jay
mcs/mcs/decl.cs
mcs/mcs/delegate.cs
mcs/mcs/driver.cs
mcs/mcs/ecore.cs
mcs/mcs/enum.cs
mcs/mcs/interface.cs
mcs/mcs/modifiers.cs
mcs/mcs/typemanager.cs