178 bool process_pending_classes =
true);
202 bool* is_empty_program,
203 intptr_t* p_num_classes,
204 intptr_t* p_num_procedures);
207 intptr_t kernel_buffer_length,
218 intptr_t func_decl_offset,
221 const Object& closure_owner);
239 void FinishTopLevelClassLoading(
const Class& toplevel_class,
245 void ReadVMAnnotations(intptr_t annotation_count,
246 uint32_t* pragma_bits,
247 String* native_name =
nullptr);
251 intptr_t data_program_offset);
253 void InitializeFields(
258 const String& LibraryUri(intptr_t library_index) {
261 library_canonical_name(library_index)));
264 intptr_t library_offset(intptr_t index) {
266 return reader.ReadFromIndexNoReset(reader.size(),
268 program_->library_count() + 1, index);
271 NameIndex library_canonical_name(intptr_t index) {
273 reader.set_offset(library_offset(index));
280 return reader.ReadCanonicalNameReference();
283 uint8_t CharacterAt(StringIndex string_index, intptr_t index);
285 void walk_incremental_kernel(BitVector* modified_libs,
286 bool* is_empty_program,
287 intptr_t* p_num_classes,
288 intptr_t* p_num_procedures);
290 void LoadPreliminaryClass(ClassHelper* class_helper,
291 intptr_t type_parameter_count);
293 void ReadInferredType(
const Field& field, intptr_t kernel_offset);
294 void CheckForInitializer(
const Field& field);
296 void LoadClass(
const Library& library,
297 const Class& toplevel_class,
301 void FinishClassLoading(
const Class& klass,
302 const Library& library,
303 const Class& toplevel_class,
304 intptr_t class_offset,
305 const ClassIndex& class_index,
306 ClassHelper* class_helper);
308 void LoadProcedure(
const Library& library,
311 intptr_t procedure_end);
313 ArrayPtr MakeFieldsArray();
314 ArrayPtr MakeFunctionsArray();
316 ScriptPtr LoadScriptAt(
318 DirectChainedHashMap<UriToSourceTableTrait>* uri_to_source_table);
323 const Object& ClassForScriptAt(
const Class& klass, intptr_t source_uri_index);
324 ScriptPtr ScriptAt(intptr_t source_uri_index) {
325 return kernel_program_info_.
ScriptAt(source_uri_index);
329 ObjectPtr ReadInitialFieldValue(
const Field& field,
330 FieldHelper* field_helper);
333 void GenerateFieldAccessors(
const Class& klass,
335 FieldHelper* field_helper);
337 void LoadLibraryImportsAndExports(Library* library,
338 const Class& toplevel_class);
340 LibraryPtr LookupLibraryOrNull(NameIndex library);
341 LibraryPtr LookupLibrary(NameIndex library);
342 LibraryPtr LookupLibraryFromClass(NameIndex klass);
343 ClassPtr LookupClass(
const Library& library, NameIndex klass);
350 FunctionPtr LoadClosureFunction(
const Function& parent_function,
351 const Object& closure_owner);
357 NoActiveIsolateScope no_active_isolate_scope_;
358 Array& patch_classes_;
359 ActiveClass active_class_;
362 intptr_t library_kernel_offset_;
365 intptr_t correction_offset_;
366 bool loading_native_wrappers_library_;
368 NameIndex skip_vmservice_library_;
370 TypedDataView& library_kernel_data_;
371 KernelProgramInfo& kernel_program_info_;
373 KernelReaderHelper helper_;
374 ConstantReader constant_reader_;
375 TypeTranslator type_translator_;
376 InferredTypeMetadataHelper inferred_type_metadata_helper_;
378 Object& static_field_value_;
380 Smi& name_index_handle_;
408 Library& expression_evaluation_library_;
410 GrowableArray<const Function*> functions_;
411 GrowableArray<const Field*> fields_;