tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractUsingAbstractMethods2.ts(2,5): error TS1244: Abstract methods can only appear within an abstract class.
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractUsingAbstractMethods2.ts(5,7): error TS2515: Non-abstract class 'B' does not implement inherited abstract member 'foo' from class 'A'.
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractUsingAbstractMethods2.ts(21,7): error TS2515: Non-abstract class 'BB' does not implement inherited abstract member 'foo' from class 'AA'.


==== tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractUsingAbstractMethods2.ts (3 errors) ====
    class A {
        abstract foo();
        ~~~~~~~~
!!! error TS1244: Abstract methods can only appear within an abstract class.
    }
    
    class B extends A  {}
          ~
!!! error TS2515: Non-abstract class 'B' does not implement inherited abstract member 'foo' from class 'A'.
    
    abstract class C extends A {}
    
    class D extends A {
        foo() {}
    }
    
    abstract class E extends A {
        foo() {}
    }
    
    abstract class AA {
        abstract foo();
    }
    
    class BB extends AA  {}
          ~~
!!! error TS2515: Non-abstract class 'BB' does not implement inherited abstract member 'foo' from class 'AA'.
    
    abstract class CC extends AA {}
    
    class DD extends AA {
        foo() {}
    }