@@ -8506,6 +8506,123 @@ library
85068506''');
85078507 }
85088508
8509+ test_instanceField_fromField_finalFieldTyped_setterNotTyped() async {
8510+ var library = await _encodeDecodeLibrary(r'''
8511+ abstract class A {
8512+ int? foo;
8513+ }
8514+ class B implements A {
8515+ final int foo;
8516+ set foo(_) {}
8517+ }
8518+ ''');
8519+ checkElementText(library, r'''
8520+ library
8521+ reference: <testLibrary>
8522+ fragments
8523+ #F0 <testLibraryFragment>
8524+ element: <testLibrary>
8525+ classes
8526+ #F1 class A (nameOffset:15) (firstTokenOffset:0) (offset:15)
8527+ element: <testLibrary>::@class::A
8528+ fields
8529+ #F2 foo (nameOffset:26) (firstTokenOffset:26) (offset:26)
8530+ element: <testLibrary>::@class::A::@field::foo
8531+ constructors
8532+ #F3 synthetic new (nameOffset:<null>) (firstTokenOffset:<null>) (offset:15)
8533+ element: <testLibrary>::@class::A::@constructor::new
8534+ typeName: A
8535+ getters
8536+ #F4 synthetic foo (nameOffset:<null>) (firstTokenOffset:<null>) (offset:26)
8537+ element: <testLibrary>::@class::A::@getter::foo
8538+ setters
8539+ #F5 synthetic foo (nameOffset:<null>) (firstTokenOffset:<null>) (offset:26)
8540+ element: <testLibrary>::@class::A::@setter::foo
8541+ formalParameters
8542+ #F6 value (nameOffset:<null>) (firstTokenOffset:<null>) (offset:26)
8543+ element: <testLibrary>::@class::A::@setter::foo::@formalParameter::value
8544+ #F7 class B (nameOffset:39) (firstTokenOffset:33) (offset:39)
8545+ element: <testLibrary>::@class::B
8546+ fields
8547+ #F8 foo (nameOffset:68) (firstTokenOffset:68) (offset:68)
8548+ element: <testLibrary>::@class::B::@field::foo
8549+ constructors
8550+ #F9 synthetic new (nameOffset:<null>) (firstTokenOffset:<null>) (offset:39)
8551+ element: <testLibrary>::@class::B::@constructor::new
8552+ typeName: B
8553+ getters
8554+ #F10 synthetic foo (nameOffset:<null>) (firstTokenOffset:<null>) (offset:68)
8555+ element: <testLibrary>::@class::B::@getter::foo
8556+ setters
8557+ #F11 foo (nameOffset:79) (firstTokenOffset:75) (offset:79)
8558+ element: <testLibrary>::@class::B::@setter::foo
8559+ formalParameters
8560+ #F12 _ (nameOffset:83) (firstTokenOffset:83) (offset:83)
8561+ element: <testLibrary>::@class::B::@setter::foo::@formalParameter::_
8562+ classes
8563+ abstract class A
8564+ reference: <testLibrary>::@class::A
8565+ firstFragment: #F1
8566+ fields
8567+ foo
8568+ reference: <testLibrary>::@class::A::@field::foo
8569+ firstFragment: #F2
8570+ type: int?
8571+ getter: <testLibrary>::@class::A::@getter::foo
8572+ setter: <testLibrary>::@class::A::@setter::foo
8573+ constructors
8574+ synthetic new
8575+ reference: <testLibrary>::@class::A::@constructor::new
8576+ firstFragment: #F3
8577+ getters
8578+ synthetic foo
8579+ reference: <testLibrary>::@class::A::@getter::foo
8580+ firstFragment: #F4
8581+ returnType: int?
8582+ variable: <testLibrary>::@class::A::@field::foo
8583+ setters
8584+ synthetic foo
8585+ reference: <testLibrary>::@class::A::@setter::foo
8586+ firstFragment: #F5
8587+ formalParameters
8588+ #E0 requiredPositional value
8589+ firstFragment: #F6
8590+ type: int?
8591+ returnType: void
8592+ class B
8593+ reference: <testLibrary>::@class::B
8594+ firstFragment: #F7
8595+ interfaces
8596+ A
8597+ fields
8598+ final foo
8599+ reference: <testLibrary>::@class::B::@field::foo
8600+ firstFragment: #F8
8601+ type: int
8602+ getter: <testLibrary>::@class::B::@getter::foo
8603+ setter: <testLibrary>::@class::B::@setter::foo
8604+ constructors
8605+ synthetic new
8606+ reference: <testLibrary>::@class::B::@constructor::new
8607+ firstFragment: #F9
8608+ getters
8609+ synthetic foo
8610+ reference: <testLibrary>::@class::B::@getter::foo
8611+ firstFragment: #F10
8612+ returnType: int
8613+ variable: <testLibrary>::@class::B::@field::foo
8614+ setters
8615+ foo
8616+ reference: <testLibrary>::@class::B::@setter::foo
8617+ firstFragment: #F11
8618+ formalParameters
8619+ #E1 requiredPositional hasImplicitType _
8620+ firstFragment: #F12
8621+ type: int?
8622+ returnType: void
8623+ ''');
8624+ }
8625+
85098626 test_instanceField_fromField_generic() async {
85108627 var library = await _encodeDecodeLibrary(r'''
85118628abstract class A<E> {
0 commit comments