2001-09-27 Miguel de Icaza <miguel@ximian.com>
authorMiguel de Icaza <miguel@gnome.org>
Thu, 27 Sep 2001 17:36:55 +0000 (17:36 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Thu, 27 Sep 2001 17:36:55 +0000 (17:36 -0000)
commit66c78971d70ac67a4bc6ddfecaddc9a7711c14fd
tree5b9943ee907343e5eb07bca2d52c2bcce9e80558
parente6499af6217cf06dfa5bc890f7f446966badcd33
2001-09-27  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (LValue): Add new method AddressOf to be used by
the `&' operator.

Change the argument of Store to take an EmitContext instead of an
ILGenerator, because things like FieldExpr need to be able to call
their children expression to generate the instance code.

(Expression::Error, Expression::Warning): Sugar functions for
reporting errors.

(Expression::MemberLookup): Accept a TypeContainer instead of a
Report as the first argument.

(Expression::ResolvePrimary): Killed.  I still want to improve
this as currently the code is just not right.

(Expression::ResolveMemberAccess): Simplify, but it is still
wrong.

(Unary::Resolve): Catch errors in AddressOf operators.

(LocalVariableReference::Emit, ::Store, ::AddressOf): typecast
index to a byte for the short-version, or the compiler will choose
the wrong Emit call, which generates the wrong data.

(ParameterReference::Emit, ::Store): same.

(FieldExpr::AddressOf): Implement.

* typemanager.cs: TypeManager: made public variable instead of
property.

* driver.cs: document --fatal.

* report.cs (ErrorMessage, WarningMessage): new names for the old
Error and Warning classes.

* cs-parser.jay (member_access): Turn built-in access to types
into a normal simplename

svn path=/trunk/mcs/; revision=1009
mcs/errors/errors.txt
mcs/mcs/ChangeLog
mcs/mcs/assign.cs
mcs/mcs/class.cs
mcs/mcs/cs-parser.jay
mcs/mcs/driver.cs
mcs/mcs/errors.cs
mcs/mcs/expression.cs
mcs/mcs/report.cs
mcs/mcs/rootcontext.cs