@@ -38,7 +38,6 @@ import '../type_inference/type_inference_engine.dart'
38
38
show IncludesTypeParametersNonCovariantly;
39
39
import '../util/helpers.dart' show DelayedActionPerformer;
40
40
import 'source_class_builder.dart' ;
41
- import 'source_inline_class_builder.dart' ;
42
41
import 'source_member_builder.dart' ;
43
42
44
43
class SourceFieldBuilder extends SourceMemberBuilderImpl
@@ -1567,7 +1566,6 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
1567
1566
final bool isAbstract;
1568
1567
final bool isExternal;
1569
1568
final bool _isExtensionInstanceMember;
1570
- final bool _isInlineClassInstanceMember;
1571
1569
1572
1570
late Procedure _getter;
1573
1571
Procedure ? _setter;
@@ -1599,11 +1597,8 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
1599
1597
assert (isNonNullableByDefault != null ),
1600
1598
_isExtensionInstanceMember = isExternal &&
1601
1599
nameScheme.isExtensionMember &&
1602
- nameScheme.isInstanceMember,
1603
- _isInlineClassInstanceMember = isExternal &&
1604
- nameScheme.isInlineClassMember &&
1605
1600
nameScheme.isInstanceMember {
1606
- if (_isExtensionInstanceMember || _isInlineClassInstanceMember ) {
1601
+ if (_isExtensionInstanceMember) {
1607
1602
_getter = new Procedure (
1608
1603
dummyName,
1609
1604
ProcedureKind .Method ,
@@ -1695,26 +1690,17 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
1695
1690
"Type has already been computed for field ${_fieldBuilder .name }." );
1696
1691
_type = value;
1697
1692
if (value is ! InferredType ) {
1698
- if (_isExtensionInstanceMember || _isInlineClassInstanceMember) {
1699
- DartType thisParameterType;
1700
- List <TypeParameter > typeParameters;
1701
- if (_isExtensionInstanceMember) {
1702
- SourceExtensionBuilder extensionBuilder =
1703
- _fieldBuilder.parent as SourceExtensionBuilder ;
1704
- thisParameterType = extensionBuilder.extension .onType;
1705
- typeParameters = extensionBuilder.extension .typeParameters;
1706
- } else {
1707
- SourceInlineClassBuilder inlineClassBuilder =
1708
- _fieldBuilder.parent as SourceInlineClassBuilder ;
1709
- thisParameterType =
1710
- inlineClassBuilder.inlineClass.declaredRepresentationType;
1711
- typeParameters = inlineClassBuilder.inlineClass.typeParameters;
1712
- }
1693
+ if (_isExtensionInstanceMember) {
1694
+ SourceExtensionBuilder extensionBuilder =
1695
+ _fieldBuilder.parent as SourceExtensionBuilder ;
1696
+ DartType onType = extensionBuilder.extension .onType;
1697
+ List <TypeParameter > typeParameters =
1698
+ extensionBuilder.extension .typeParameters;
1713
1699
if (typeParameters.isNotEmpty) {
1714
1700
FreshTypeParameters getterTypeParameters =
1715
1701
getFreshTypeParameters (typeParameters);
1716
1702
_getter.function.positionalParameters.first.type =
1717
- getterTypeParameters.substitute (thisParameterType );
1703
+ getterTypeParameters.substitute (onType );
1718
1704
_getter.function.returnType = getterTypeParameters.substitute (value);
1719
1705
_getter.function.typeParameters =
1720
1706
getterTypeParameters.freshTypeParameters;
@@ -1726,7 +1712,7 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
1726
1712
FreshTypeParameters setterTypeParameters =
1727
1713
getFreshTypeParameters (typeParameters);
1728
1714
setter.function.positionalParameters.first.type =
1729
- setterTypeParameters.substitute (thisParameterType );
1715
+ setterTypeParameters.substitute (onType );
1730
1716
setter.function.positionalParameters[1 ].type =
1731
1717
setterTypeParameters.substitute (value);
1732
1718
setter.function.typeParameters =
@@ -1737,8 +1723,8 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
1737
1723
} else {
1738
1724
_getter.function.returnType = value;
1739
1725
_setter? .function.positionalParameters[1 ].type = value;
1740
- _getter.function.positionalParameters.first.type = thisParameterType ;
1741
- _setter? .function.positionalParameters.first.type = thisParameterType ;
1726
+ _getter.function.positionalParameters.first.type = onType ;
1727
+ _setter? .function.positionalParameters.first.type = onType ;
1742
1728
}
1743
1729
} else {
1744
1730
_getter.function.returnType = value;
@@ -1769,24 +1755,20 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
1769
1755
void build (
1770
1756
SourceLibraryBuilder libraryBuilder, SourceFieldBuilder fieldBuilder) {
1771
1757
bool isExtensionMember = fieldBuilder.isExtensionMember;
1772
- bool isInlineClassMember = fieldBuilder.isInlineClassMember;
1773
- bool isInstanceMember = ! isExtensionMember &&
1774
- ! isInlineClassMember &&
1758
+ bool isInstanceMember = ! fieldBuilder.isExtensionMember &&
1775
1759
! fieldBuilder.isStatic &&
1776
1760
! fieldBuilder.isTopLevel;
1777
1761
_getter..isConst = fieldBuilder.isConst;
1778
1762
_getter
1779
1763
..isStatic = ! isInstanceMember
1780
1764
..isExtensionMember = isExtensionMember
1781
- ..isInlineClassMember = isInlineClassMember
1782
1765
..isAbstract = isAbstract && ! isExternal
1783
1766
..isExternal = isExternal;
1784
1767
1785
1768
if (_setter != null ) {
1786
1769
_setter!
1787
1770
..isStatic = ! isInstanceMember
1788
1771
..isExtensionMember = isExtensionMember
1789
- ..isInlineClassMember = isInlineClassMember
1790
1772
..isAbstract = isAbstract && ! isExternal
1791
1773
..isExternal = isExternal;
1792
1774
}
@@ -1797,25 +1779,17 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
1797
1779
SourceLibraryBuilder library,
1798
1780
SourceFieldBuilder fieldBuilder,
1799
1781
void Function (Member , BuiltMemberKind ) f) {
1800
- BuiltMemberKind getterMemberKind;
1801
- if (fieldBuilder.isExtensionMember) {
1802
- getterMemberKind = BuiltMemberKind .ExtensionGetter ;
1803
- } else if (fieldBuilder.isInlineClassMember) {
1804
- getterMemberKind = BuiltMemberKind .InlineClassGetter ;
1805
- } else {
1806
- getterMemberKind = BuiltMemberKind .Method ;
1807
- }
1808
- f (_getter, getterMemberKind);
1782
+ f (
1783
+ _getter,
1784
+ fieldBuilder.isExtensionMember
1785
+ ? BuiltMemberKind .ExtensionGetter
1786
+ : BuiltMemberKind .Method );
1809
1787
if (_setter != null ) {
1810
- BuiltMemberKind setterMemberKind;
1811
- if (fieldBuilder.isExtensionMember) {
1812
- setterMemberKind = BuiltMemberKind .ExtensionSetter ;
1813
- } else if (fieldBuilder.isInlineClassMember) {
1814
- setterMemberKind = BuiltMemberKind .InlineClassSetter ;
1815
- } else {
1816
- setterMemberKind = BuiltMemberKind .Method ;
1817
- }
1818
- f (_setter! , setterMemberKind);
1788
+ f (
1789
+ _setter! ,
1790
+ fieldBuilder.isExtensionMember
1791
+ ? BuiltMemberKind .ExtensionSetter
1792
+ : BuiltMemberKind .Method );
1819
1793
}
1820
1794
}
1821
1795
0 commit comments