215 {
217 Zone* zone = thread->zone();
219 const Library& collection_lib =
Library::Handle(zone, collection_library());
220 cls = collection_lib.LookupClassAllowPrivate(Symbols::_Set());
222 set_set_impl_class(cls);
223
224#if defined(DART_PRECOMPILED_RUNTIME)
225
226 return;
227#else
228 auto isolate_group = thread->isolate_group();
229 ASSERT(isolate_group !=
nullptr && isolate_group->object_store() ==
this);
230
232 ASSERT(!async_lib.IsNull());
233 cls = async_lib.LookupClass(Symbols::Future());
235 set_future_class(cls);
236
240
241 cls =
242 async_lib.LookupClassAllowPrivate(Symbols::_AsyncStarStreamController());
245 set_async_star_stream_controller(cls);
246
247 function = cls.LookupFunctionAllowPrivate(Symbols::add());
249 set_async_star_stream_controller_add(
function);
250
251 function = cls.LookupFunctionAllowPrivate(Symbols::addStream());
253 set_async_star_stream_controller_add_stream(
function);
254
255 field = cls.LookupFieldAllowPrivate(Symbols::asyncStarBody());
257 set_async_star_stream_controller_async_star_body(field);
258
259#if !defined(PRODUCT)
260
261
262 const Array& functions =
Array::Handle(zone, cls.current_functions());
263 for (intptr_t
i = 0;
i < functions.Length();
i++) {
266 break;
267 }
270 }
271#endif
272
273 cls = async_lib.LookupClassAllowPrivate(Symbols::Stream());
275 set_stream_class(cls);
276
277 cls = async_lib.LookupClassAllowPrivate(Symbols::_SuspendState());
279 const auto&
error = cls.EnsureIsFinalized(thread);
281
282 function = cls.LookupFunctionAllowPrivate(Symbols::_initAsync());
284 set_suspend_state_init_async(
function);
285
286 function = cls.LookupFunctionAllowPrivate(Symbols::_await());
289
290 function = cls.LookupFunctionAllowPrivate(Symbols::_awaitWithTypeCheck());
292 set_suspend_state_await_with_type_check(
function);
293
294 function = cls.LookupFunctionAllowPrivate(Symbols::_returnAsync());
296 set_suspend_state_return_async(
function);
297
298 function = cls.LookupFunctionAllowPrivate(Symbols::_returnAsyncNotFuture());
300 set_suspend_state_return_async_not_future(
function);
301
302 function = cls.LookupFunctionAllowPrivate(Symbols::_initAsyncStar());
304 set_suspend_state_init_async_star(
function);
305
306 function = cls.LookupFunctionAllowPrivate(Symbols::_yieldAsyncStar());
308 set_suspend_state_yield_async_star(
function);
309
310 function = cls.LookupFunctionAllowPrivate(Symbols::_returnAsyncStar());
312 set_suspend_state_return_async_star(
function);
313
314 function = cls.LookupFunctionAllowPrivate(Symbols::_initSyncStar());
316 set_suspend_state_init_sync_star(
function);
317
318 function = cls.LookupFunctionAllowPrivate(Symbols::_suspendSyncStarAtStart());
320 set_suspend_state_suspend_sync_star_at_start(
function);
321
322 function = cls.LookupFunctionAllowPrivate(Symbols::_handleException());
324 set_suspend_state_handle_exception(
function);
325
326 cls = async_lib.LookupClassAllowPrivate(Symbols::_SyncStarIterator());
329 set_sync_star_iterator_class(cls);
330
331 field = cls.LookupFieldAllowPrivate(Symbols::_current());
333 set_sync_star_iterator_current(field);
334
335 field = cls.LookupFieldAllowPrivate(Symbols::_state());
337 set_sync_star_iterator_state(field);
338
339 field = cls.LookupFieldAllowPrivate(Symbols::_yieldStarIterable());
341 set_sync_star_iterator_yield_star_iterable(field);
342
344 cls = core_lib.LookupClassAllowPrivate(Symbols::_CompileTimeError());
346 set_compiletime_error_class(cls);
347
348 cls = core_lib.LookupClassAllowPrivate(Symbols::Pragma());
350 set_pragma_class(cls);
354
355 cls = core_lib.LookupClassAllowPrivate(Symbols::_GrowableList());
358 growable_list_factory_ =
359 cls.LookupFactoryAllowPrivate(Symbols::_GrowableListFactory());
361
362 cls = core_lib.LookupClassAllowPrivate(Symbols::Error());
364 set_error_class(cls);
365
366 cls = core_lib.LookupClassAllowPrivate(Symbols::Expando());
368 set_expando_class(cls);
369
370 cls = core_lib.LookupClassAllowPrivate(Symbols::Iterable());
372 set_iterable_class(cls);
373
374
375 simple_instance_of_function_ =
376 PrivateObjectLookup(Symbols::_simpleInstanceOf());
377 simple_instance_of_true_function_ =
378 PrivateObjectLookup(Symbols::_simpleInstanceOfTrue());
379 simple_instance_of_false_function_ =
380 PrivateObjectLookup(Symbols::_simpleInstanceOfFalse());
381
382
383
384 const Class& smi_class =
Class::Handle(zone, this->smi_class());
389 true);
393 true);
397 true);
401 true);
405 true);
409 true);
413 true);
417 true);
418#endif
419}
#define RELEASE_ASSERT(cond)
static StringPtr CreateDynamicInvocationForwarderName(const String &name)
static FunctionPtr ResolveDynamicAnyArgs(Zone *zone, const Class &receiver_class, const String &function_name, bool allow_add)
static const String & Plus()
static const String & LAngleBracket()
static const String & BitOr()
static const String & RAngleBracket()
static const String & Star()
static const String & BitAnd()
static const String & Minus()
static const String & Equals()
static Thread * Current()
const uint8_t uint32_t uint32_t GError ** error
Dart_NativeFunction function
const char *const function_name
DEF_SWITCHES_START aot vmservice shared library name