@@ -189,11 +189,13 @@ public class Modifiers {
189189 [ MemberDeclarationTestCase ( "public static readonly int F8 = 0;" ) ] public static readonly int F8 ;
190190 [ MemberDeclarationTestCase ( "public static readonly int F9 = 0;" ) ] static readonly public int F9 ;
191191 [ MemberDeclarationTestCase ( "public static readonly int F10 = 0;" ) ] readonly public static int F10 ;
192+
193+ protected int FProtected ;
192194 }
193195
194196 public class ModifiersNew : Modifiers {
195- [ SkipTestCase ( "modifier `new` is not supported currently" ) ]
196197 [ MemberDeclarationTestCase ( "new public int F4;" ) ] public new int F4 ;
198+ [ MemberDeclarationTestCase ( "new public int FProtected;" ) ] new public int FProtected ;
197199 }
198200#pragma warning restore CA2211
199201
@@ -500,20 +502,26 @@ public class Modifiers1 {
500502 public abstract class Modifiers_Abstract {
501503 [ MemberDeclarationTestCase ( "public abstract int P1 { get; set; }" ) ] public abstract int P1 { get ; set ; }
502504 [ MemberDeclarationTestCase ( "public virtual int P2 { get; set; }" ) ] public virtual int P2 { get ; set ; }
505+
506+ [ MemberDeclarationTestCase ( "protected virtual int PProtectedVirtual { get; private set; }" ) ] protected virtual int PProtectedVirtual { get ; private set ; }
503507 }
504508
505509 public abstract class Modifiers_Override : Modifiers_Abstract {
506510 [ MemberDeclarationTestCase ( "public override int P2 { get; set; }" ) ] public override int P2 { get ; set ; }
511+
512+ [ MemberDeclarationTestCase ( "protected override int PProtectedVirtual { get; }" ) ] protected override int PProtectedVirtual { get => 0 ; }
507513 }
508514
509515 public abstract class Modifiers_New : Modifiers_Abstract {
510- [ SkipTestCase ( "modifier `new` is not supported currently" ) ]
511516 [ MemberDeclarationTestCase ( "new public int P2 { get; set; }" ) ] public new int P2 { get ; set ; }
517+
518+ [ MemberDeclarationTestCase ( "new public int PProtectedVirtual { private get; set; }" ) ] public new int PProtectedVirtual { private get ; set ; }
512519 }
513520
514521 public abstract class Modifiers_NewVirtual : Modifiers_Abstract {
515- [ SkipTestCase ( "modifier `new` is not supported currently" ) ]
516522 [ MemberDeclarationTestCase ( "new public virtual int P2 { get; set; }" ) ] public new virtual int P2 { get ; set ; }
523+
524+ [ MemberDeclarationTestCase ( "new protected virtual int PProtectedVirtual { private get; set; }" ) ] new protected virtual int PProtectedVirtual { private get ; set ; }
517525 }
518526
519527 public class Indexers1 {
@@ -656,28 +664,37 @@ public abstract class Abstract {
656664
657665 public class Virtual {
658666 [ MemberDeclarationTestCase ( "public virtual void M() {}" ) ] public virtual void M ( ) { }
667+
668+ [ MemberDeclarationTestCase ( "protected virtual void MProtectedVirtual() {}" ) ] protected virtual void MProtectedVirtual ( ) { }
659669 }
660670
661671 public class Override : Virtual {
662672 [ MemberDeclarationTestCase ( "public override void M() {}" ) ] public override void M ( ) { }
673+
674+ [ MemberDeclarationTestCase ( "protected override void MProtectedVirtual() {}" ) ] protected override void MProtectedVirtual ( ) { }
663675 }
664676
665677 public class SealedOverride1 : Virtual {
666678 [ MemberDeclarationTestCase ( "public sealed override void M() {}" ) ] public sealed override void M ( ) { }
679+
680+ [ MemberDeclarationTestCase ( "protected sealed override void MProtectedVirtual() {}" ) ] protected sealed override void MProtectedVirtual ( ) { }
681+
667682 }
668683
669684 public class SealedOverride2 : Virtual {
670685 [ MemberDeclarationTestCase ( "public sealed override void M() {}" ) ] public override sealed void M ( ) { }
671686 }
672687
673688 public abstract class New : Virtual {
674- [ SkipTestCase ( "modifier `new` is not supported currently" ) ]
675689 [ MemberDeclarationTestCase ( "new public void M() {}" ) ] public new void M ( ) { }
690+
691+ [ MemberDeclarationTestCase ( "new protected void MProtectedVirtual() {}" ) ] protected new void MProtectedVirtual ( ) { }
676692 }
677693
678694 public abstract class NewVirtual : Virtual {
679- [ SkipTestCase ( "modifier `new` is not supported currently" ) ]
680695 [ MemberDeclarationTestCase ( "new public virtual void M() {}" ) ] public new virtual void M ( ) { }
696+
697+ [ MemberDeclarationTestCase ( "new protected virtual void MProtectedVirtual() {}" ) ] protected new virtual void MProtectedVirtual ( ) { }
681698 }
682699
683700 public class Unsafe {
@@ -1166,11 +1183,22 @@ public class Modifiers {
11661183 [ MemberDeclarationTestCase ( "public event System.EventHandler E1;" ) ] public event EventHandler E1 ;
11671184 [ MemberDeclarationTestCase ( "public static event System.EventHandler E2;" ) ] public static event EventHandler E2 ;
11681185 [ MemberDeclarationTestCase ( "public static event System.EventHandler E3;" ) ] static public event EventHandler E3 ;
1186+
1187+ [ MemberDeclarationTestCase ( "protected virtual event System.EventHandler EProtectedVirtual;" ) ] protected virtual event EventHandler EProtectedVirtual ;
1188+ }
1189+
1190+ public class ModifiersOverride : Modifiers {
1191+ [ MemberDeclarationTestCase ( "protected override event System.EventHandler EProtectedVirtual;" ) ] protected override event EventHandler EProtectedVirtual ;
11691192 }
11701193
11711194 public class ModifiersNew : Modifiers {
1172- [ SkipTestCase ( "modifier `new` is not supported currently" ) ]
11731195 [ MemberDeclarationTestCase ( "new public event System.EventHandler E1;" ) ] public new event EventHandler E1 ;
1196+
1197+ [ MemberDeclarationTestCase ( "new public event System.EventHandler EProtectedVirtual;" ) ] public new event EventHandler EProtectedVirtual ;
1198+ }
1199+
1200+ public class ModifiersNewVirtual : Modifiers {
1201+ [ MemberDeclarationTestCase ( "new public virtual event System.EventHandler EProtectedVirtual;" ) ] public new virtual event EventHandler EProtectedVirtual ;
11741202 }
11751203
11761204 public class Accessibilities {
@@ -1253,15 +1281,12 @@ public interface IBase {
12531281 }
12541282
12551283 public interface IEx : IBase {
1256- [ SkipTestCase ( "modifier `new` is not supported currently" ) ]
12571284 [ MemberDeclarationTestCase ( "new static virtual void MVirtual() {}" ) ]
12581285 new static virtual void MVirtual ( ) => throw null ;
12591286
1260- [ SkipTestCase ( "modifier `new` is not supported currently" ) ]
1261- [ MemberDeclarationTestCase ( "new static abstract void MAbstract() {}" ) ]
1287+ [ MemberDeclarationTestCase ( "new static abstract void MAbstract();" ) ]
12621288 new static abstract void MAbstract ( ) ;
12631289
1264- [ SkipTestCase ( "modifier `new` is not supported currently" ) ]
12651290 [ MemberDeclarationTestCase ( "new static abstract event System.EventHandler? EAbstract;" ) ]
12661291 new static abstract event EventHandler ? EAbstract ;
12671292 }
0 commit comments