| Index: runtime/vm/kernel.cc
|
| diff --git a/runtime/vm/kernel.cc b/runtime/vm/kernel.cc
|
| index 6e718444c48c1eeba3afa5021c9ee6ef1e48aab0..45d6e94d4ed2e14158b853baa4714c6d195f73a8 100644
|
| --- a/runtime/vm/kernel.cc
|
| +++ b/runtime/vm/kernel.cc
|
| @@ -3,11 +3,32 @@
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| #include "vm/kernel.h"
|
| +#include "vm/kernel_binary_flowgraph.h"
|
|
|
| #if !defined(DART_PRECOMPILED_RUNTIME)
|
| namespace dart {
|
|
|
| -namespace kernel {} // namespace kernel
|
| +namespace kernel {
|
| +
|
| +bool FieldHasFunctionLiteralInitializer(const Field& field,
|
| + TokenPosition* start,
|
| + TokenPosition* end) {
|
| + Zone* zone = Thread::Current()->zone();
|
| + const Script& script = Script::Handle(zone, field.Script());
|
| +
|
| + TranslationHelper translation_helper(
|
| + Thread::Current(), script.kernel_string_offsets(),
|
| + script.kernel_string_data(), script.kernel_canonical_names());
|
| +
|
| + StreamingFlowGraphBuilder builder(
|
| + &translation_helper, zone, field.kernel_offset(),
|
| + TypedData::Handle(zone, field.kernel_data()));
|
| + kernel::FieldHelper field_helper(&builder);
|
| + field_helper.ReadUntilExcluding(kernel::FieldHelper::kEnd, true);
|
| + return field_helper.FieldHasFunctionLiteralInitializer(start, end);
|
| +}
|
| +
|
| +} // namespace kernel
|
|
|
| } // namespace dart
|
| #endif // !defined(DART_PRECOMPILED_RUNTIME)
|
|
|