@@ -6,9 +6,9 @@ import 'package:kernel/ast.dart';
66import 'package:kernel/class_hierarchy.dart' show ClassHierarchyMembers;
77
88import '../../builder/declaration_builders.dart' ;
9+ import '../../builder/formal_parameter_builder.dart' ;
10+ import '../../builder/type_builder.dart' ;
911import '../../source/source_class_builder.dart' ;
10- import '../../source/source_field_builder.dart' ;
11- import '../../source/source_procedure_builder.dart' ;
1212import 'class_member.dart' ;
1313import 'delayed.dart' ;
1414import 'extension_type_members.dart' ;
@@ -76,44 +76,74 @@ class ClassMembersBuilder implements ClassHierarchyMembers {
7676 return list;
7777 }
7878
79- void inferFieldType (SourceFieldBuilder declaredMember,
80- Iterable <ClassMember > overriddenMembers) {
81- ClassMembersNodeBuilder .inferFieldType (
82- hierarchyBuilder,
83- this ,
84- declaredMember.classBuilder as SourceClassBuilder ,
85- declaredMember,
86- overriddenMembers);
87- }
88-
89- void inferGetterType (SourceProcedureBuilder declaredMember,
90- Iterable <ClassMember > overriddenMembers) {
91- ClassMembersNodeBuilder .inferGetterType (
92- hierarchyBuilder,
93- this ,
94- declaredMember.classBuilder as SourceClassBuilder ,
95- declaredMember,
96- overriddenMembers);
97- }
98-
99- void inferSetterType (SourceProcedureBuilder declaredMember,
100- Iterable <ClassMember > overriddenMembers) {
101- ClassMembersNodeBuilder .inferSetterType (
102- hierarchyBuilder,
103- this ,
104- declaredMember.classBuilder as SourceClassBuilder ,
105- declaredMember,
106- overriddenMembers);
107- }
108-
109- void inferMethodType (SourceProcedureBuilder declaredMember,
110- Iterable <ClassMember > overriddenMembers) {
79+ void inferFieldType (SourceClassBuilder enclosingClassBuilder,
80+ TypeBuilder declaredFieldType, Iterable <ClassMember > overriddenMembers,
81+ {required String name,
82+ required Uri fileUri,
83+ required int fileOffset,
84+ required int nameLength,
85+ required bool isAssignable}) {
86+ ClassMembersNodeBuilder .inferFieldType (hierarchyBuilder, this ,
87+ enclosingClassBuilder, declaredFieldType, overriddenMembers,
88+ name: name,
89+ fileUri: fileUri,
90+ fileOffset: fileOffset,
91+ nameLength: nameLength,
92+ isAssignable: isAssignable);
93+ }
94+
95+ void inferGetterType (SourceClassBuilder enclosingClassBuilder,
96+ TypeBuilder declaredTypeBuilder, Iterable <ClassMember > overriddenMembers,
97+ {required String name,
98+ required Uri fileUri,
99+ required int fileOffset,
100+ required int nameLength}) {
101+ ClassMembersNodeBuilder .inferGetterType (hierarchyBuilder, this ,
102+ enclosingClassBuilder, declaredTypeBuilder, overriddenMembers,
103+ name: name,
104+ fileUri: fileUri,
105+ fileOffset: fileOffset,
106+ nameLength: nameLength);
107+ }
108+
109+ void inferSetterType (
110+ SourceClassBuilder enclosingClassBuilder,
111+ List <FormalParameterBuilder >? formals,
112+ Iterable <ClassMember > overriddenMembers,
113+ {required String name,
114+ required Uri fileUri,
115+ required int fileOffset,
116+ required int nameLength}) {
117+ ClassMembersNodeBuilder .inferSetterType (hierarchyBuilder, this ,
118+ enclosingClassBuilder, formals, overriddenMembers,
119+ name: name,
120+ fileUri: fileUri,
121+ fileOffset: fileOffset,
122+ nameLength: nameLength);
123+ }
124+
125+ void inferMethodType (
126+ SourceClassBuilder enclosingClassBuilder,
127+ FunctionNode declaredFunction,
128+ TypeBuilder declaredReturnType,
129+ List <FormalParameterBuilder >? formals,
130+ Iterable <ClassMember > overriddenMembers,
131+ {required String name,
132+ required Uri fileUri,
133+ required int fileOffset,
134+ required int nameLength}) {
111135 ClassMembersNodeBuilder .inferMethodType (
112136 hierarchyBuilder,
113137 this ,
114- declaredMember.classBuilder as SourceClassBuilder ,
115- declaredMember,
116- overriddenMembers);
138+ enclosingClassBuilder,
139+ declaredFunction,
140+ declaredReturnType,
141+ formals,
142+ overriddenMembers,
143+ name: name,
144+ fileUri: fileUri,
145+ fileOffset: fileOffset,
146+ nameLength: nameLength);
117147 }
118148
119149 ClassMembersNode getNodeFromClassBuilder (ClassBuilder classBuilder) {
0 commit comments