From: Marek Safar Date: Fri, 28 Apr 2006 20:49:17 +0000 (-0000) Subject: 2006-04-28 Marek Safar X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=cafb63ae22a218cda3fa7b48ac4d22b5519e2747;p=mono.git 2006-04-28 Marek Safar A fix for #78049 *class.cs (Method.FindOutBaseMethod): Base method cannot be property method. svn path=/trunk/mcs/; revision=60058 --- cafb63ae22a218cda3fa7b48ac4d22b5519e2747 diff --cc mcs/errors/cs0109-8.cs index 00000000000,00000000000..8728d6f5d82 new file mode 100644 --- /dev/null +++ b/mcs/errors/cs0109-8.cs @@@ -1,0 -1,0 +1,31 @@@ ++// cs0109-8.cs: The member `DerivedClass.get_Value()' does not hide an inherited member. The new keyword is not required ++// Line: 14 ++// Compiler options: -warnaserror -warn:4 ++ ++class BaseClass { ++ protected virtual int Value { ++ get { ++ return 0; ++ } ++ set { } ++ } ++} ++ ++abstract class DerivedClass: BaseClass { ++ protected new int get_Value () { ++ return 1; ++ } ++} ++ ++ ++class ErrorClass: DerivedClass { ++ protected override int Value { ++ get { ++ return 0; ++ } ++ set { } ++ } ++ ++ static void Main () {} ++} ++ diff --cc mcs/errors/cs0560.cs index 37c23364bae,37c23364bae..00000000000 deleted file mode 100644,100644 --- a/mcs/errors/cs0560.cs +++ /dev/null @@@ -1,30 -1,30 +1,0 @@@ --// cs0560.cs: Accessor 'ErrorClass.Value.get' : cannot override 'BaseClass.Value.get' because it is hidden by 'DerivedClass.get_Value()' --// Line: 22 -- --class BaseClass { -- protected virtual int Value { -- get { -- return 0; -- } -- set { } -- } --} -- --abstract class DerivedClass: BaseClass { -- protected new int get_Value () { -- return 1; -- } --} -- -- --class ErrorClass: DerivedClass { -- protected override int Value { -- get { -- return 0; -- } -- set { } -- } -- -- static void Main () {} --} -- diff --cc mcs/errors/known-issues-gmcs index 9ab755cc9a4,9ab755cc9a4..9d0baf7d010 --- a/mcs/errors/known-issues-gmcs +++ b/mcs/errors/known-issues-gmcs @@@ -21,7 -21,7 +21,6 @@@ cs0547-2.cs # new in GMCS; grammar issu cs0547.cs cs0548-4.cs cs0548.cs --cs0560.cs cs0567.cs cs0612-2.cs NO ERROR cs0619-42.cs diff --cc mcs/errors/known-issues-mcs index b66a5ac32af,b66a5ac32af..170c3c9a533 --- a/mcs/errors/known-issues-mcs +++ b/mcs/errors/known-issues-mcs @@@ -19,7 -19,7 +19,6 @@@ cs0526.c cs0547.cs cs0548-4.cs cs0548.cs --cs0560.cs cs0567.cs cs0612-2.cs NO ERROR cs0619-42.cs diff --cc mcs/gmcs/ChangeLog index 0cbf7ca96fc,73685333a67..d2debc4744c --- a/mcs/gmcs/ChangeLog +++ b/mcs/gmcs/ChangeLog @@@ -1,31 -1,3 +1,36 @@@ ++2006-04-28 Marek Safar ++ ++ A fix for #78049 ++ *class.cs (Method.FindOutBaseMethod): Base method cannot be property method. ++ +2006-04-28 Raja R Harinath + + * flowanalysis.cs (FlowBranching.MergeTopBlock): Don't create a + dummy UsageVector. + + * flowanalysis.cs (UsageVector.MergeChild): Change FlowBranching + argument to two arguments: an usage-vector and a bool. Move call + to FlowBranching.Merge () ... + (FlowBranching.MergeChild, FlowBranching.MergeTopBlock): ... here. + + * flowanalysis.cs (UsageVector.MergeChild): Move special-case + handling of loop and switch reachability to ... + (FlowBranchingLoop.Merge, FlowBranchingSwitch.Merge): ... these. + +2006-04-27 Raja R Harinath + + * flowanalysis.cs (FlowBranching.InLoop): Move special-case + handling to FlowBranchingLoop.InLoop. + (FlowBranching.InSwitch): Likewise, to FlowBranchingSwitch. + +2006-04-26 Marek Safar + + A fix for #78115 + anonymous.cs.cs (AnonymousMethod.DoResolve): Moved the check whether + anonymous method is allowed from AnonymousContainer here. + + * attribute.cs, codegen.cs (EmitContext): Add IsAnonymousMethodAllowed. + 2006-04-24 Raja R Harinath Fix #78156 diff --cc mcs/gmcs/class.cs index 24645f5ef8d,24645f5ef8d..4f307da7aea --- a/mcs/gmcs/class.cs +++ b/mcs/gmcs/class.cs @@@ -4169,6 -4169,6 +4169,9 @@@ namespace Mono.CSharp if (mi == null) return null; ++ if (mi.IsSpecialName) ++ return null; ++ base_ret_type = mi.ReturnType; return mi; } diff --cc mcs/mcs/ChangeLog index 7ea9ed572aa,2daf7721aac..489fb2a73ce --- a/mcs/mcs/ChangeLog +++ b/mcs/mcs/ChangeLog @@@ -1,31 -1,3 +1,36 @@@ ++2006-04-28 Marek Safar ++ ++ A fix for #78049 ++ *class.cs (Method.FindOutBaseMethod): Base method cannot be property method. ++ +2006-04-28 Raja R Harinath + + * flowanalysis.cs (FlowBranching.MergeTopBlock): Don't create a + dummy UsageVector. + + * flowanalysis.cs (UsageVector.MergeChild): Change FlowBranching + argument to two arguments: an usage-vector and a bool. Move call + to FlowBranching.Merge () ... + (FlowBranching.MergeChild, FlowBranching.MergeTopBlock): ... here. + + * flowanalysis.cs (UsageVector.MergeChild): Move special-case + handling of loop and switch reachability to ... + (FlowBranchingLoop.Merge, FlowBranchingSwitch.Merge): ... these. + +2006-04-27 Raja R Harinath + + * flowanalysis.cs (FlowBranching.InLoop): Move special-case + handling to FlowBranchingLoop.InLoop. + (FlowBranching.InSwitch): Likewise, to FlowBranchingSwitch. + +2006-04-26 Marek Safar + + A fix for #78115 + anonymous.cs.cs (AnonymousMethod.DoResolve): Moved the check whether + anonymous method is allowed from AnonymousContainer here. + + * attribute.cs, codegen.cs (EmitContext): Add IsAnonymousMethodAllowed. + 2006-04-24 Raja R Harinath Fix #78156 diff --cc mcs/mcs/class.cs index 71d1b70ff35,71d1b70ff35..85e7f953629 --- a/mcs/mcs/class.cs +++ b/mcs/mcs/class.cs @@@ -3931,6 -3931,6 +3931,9 @@@ namespace Mono.CSharp if (mi == null) return null; ++ if (mi.IsSpecialName) ++ return null; ++ base_ret_type = mi.ReturnType; return mi; } diff --cc mcs/tests/test-502.cs index 00000000000,00000000000..d188b2f788c new file mode 100644 --- /dev/null +++ b/mcs/tests/test-502.cs @@@ -1,0 -1,0 +1,10 @@@ ++class Base ++{ ++ public int Property { get { return 42; } } ++ static void Main () {} ++} ++ ++class Derived : Base ++{ ++ public int get_Property() { return 42; } ++}