| Index: runtime/vm/kernel_reader.h
|
| diff --git a/runtime/vm/kernel_reader.h b/runtime/vm/kernel_reader.h
|
| deleted file mode 100644
|
| index e251e2e096a9b2c9f50d3e1eeb8d69608171c58e..0000000000000000000000000000000000000000
|
| --- a/runtime/vm/kernel_reader.h
|
| +++ /dev/null
|
| @@ -1,164 +0,0 @@
|
| -// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -#ifndef RUNTIME_VM_KERNEL_READER_H_
|
| -#define RUNTIME_VM_KERNEL_READER_H_
|
| -
|
| -#if !defined(DART_PRECOMPILED_RUNTIME)
|
| -#include <map>
|
| -
|
| -#include "vm/kernel.h"
|
| -#include "vm/kernel_binary_flowgraph.h"
|
| -#include "vm/kernel_to_il.h"
|
| -#include "vm/object.h"
|
| -
|
| -namespace dart {
|
| -namespace kernel {
|
| -
|
| -class KernelReader;
|
| -
|
| -class BuildingTranslationHelper : public TranslationHelper {
|
| - public:
|
| - BuildingTranslationHelper(KernelReader* reader, Thread* thread)
|
| - : TranslationHelper(thread), reader_(reader) {}
|
| - virtual ~BuildingTranslationHelper() {}
|
| -
|
| - virtual RawLibrary* LookupLibraryByKernelLibrary(NameIndex library);
|
| - virtual RawClass* LookupClassByKernelClass(NameIndex klass);
|
| -
|
| - private:
|
| - KernelReader* reader_;
|
| -};
|
| -
|
| -template <typename VmType>
|
| -class Mapping {
|
| - public:
|
| - bool Lookup(intptr_t canonical_name, VmType** handle) {
|
| - typename MapType::Pair* pair = map_.LookupPair(canonical_name);
|
| - if (pair != NULL) {
|
| - *handle = pair->value;
|
| - return true;
|
| - }
|
| - return false;
|
| - }
|
| -
|
| - void Insert(intptr_t canonical_name, VmType* object) {
|
| - map_.Insert(canonical_name, object);
|
| - }
|
| -
|
| - private:
|
| - typedef IntMap<VmType*> MapType;
|
| - MapType map_;
|
| -};
|
| -
|
| -class KernelReader {
|
| - public:
|
| - explicit KernelReader(Program* program);
|
| -
|
| - // Returns the library containing the main procedure, null if there
|
| - // was no main procedure, or a failure object if there was an error.
|
| - Object& ReadProgram();
|
| -
|
| - // Finds all libraries that have been modified in this incremental
|
| - // version of the kernel program file.
|
| - void FindModifiedLibraries(Isolate* isolate,
|
| - BitVector* modified_libs,
|
| - bool force_reload);
|
| -
|
| - void ReadLibrary(intptr_t kernel_offset);
|
| -
|
| - const String& DartSymbol(StringIndex index) {
|
| - return translation_helper_.DartSymbol(index);
|
| - }
|
| -
|
| - const String& LibraryUri(intptr_t library_index) {
|
| - return translation_helper_.DartSymbol(
|
| - translation_helper_.CanonicalNameString(
|
| - library_canonical_name(library_index)));
|
| - }
|
| -
|
| - intptr_t library_offset(intptr_t index) {
|
| - kernel::Reader reader(program_->kernel_data(),
|
| - program_->kernel_data_size());
|
| - reader.set_offset(reader.size() - 4 -
|
| - (program_->library_count() - index) * 4);
|
| - return reader.ReadUInt32();
|
| - }
|
| -
|
| - NameIndex library_canonical_name(intptr_t index) {
|
| - kernel::Reader reader(program_->kernel_data(),
|
| - program_->kernel_data_size());
|
| - reader.set_offset(reader.size() - 4 -
|
| - (program_->library_count() - index) * 4);
|
| - reader.set_offset(reader.ReadUInt32());
|
| -
|
| - // Start reading library.
|
| - reader.ReadFlags();
|
| - return reader.ReadCanonicalNameReference();
|
| - }
|
| -
|
| - uint8_t CharacterAt(StringIndex string_index, intptr_t index);
|
| -
|
| - static bool FieldHasFunctionLiteralInitializer(const Field& field,
|
| - TokenPosition* start,
|
| - TokenPosition* end);
|
| -
|
| - private:
|
| - friend class BuildingTranslationHelper;
|
| -
|
| - void ReadPreliminaryClass(Class* klass,
|
| - ClassHelper* class_helper,
|
| - intptr_t type_parameter_count);
|
| - Class& ReadClass(const Library& library, const Class& toplevel_class);
|
| - void ReadProcedure(const Library& library, const Class& owner, bool in_class);
|
| -
|
| - void ReadAndSetupTypeParameters(const Object& set_on,
|
| - intptr_t type_parameter_count,
|
| - const Class& parameterized_class,
|
| - const Function& parameterized_function);
|
| -
|
| - RawArray* MakeFunctionsArray();
|
| -
|
| - // If klass's script is not the script at the uri index, return a PatchClass
|
| - // for klass whose script corresponds to the uri index.
|
| - // Otherwise return klass.
|
| - const Object& ClassForScriptAt(const Class& klass, intptr_t source_uri_index);
|
| - Script& ScriptAt(intptr_t source_uri_index,
|
| - StringIndex import_uri = StringIndex());
|
| -
|
| - void GenerateFieldAccessors(const Class& klass,
|
| - const Field& field,
|
| - FieldHelper* field_helper,
|
| - intptr_t field_offset);
|
| -
|
| - void SetupFieldAccessorFunction(const Class& klass, const Function& function);
|
| -
|
| - Library& LookupLibrary(NameIndex library);
|
| - Class& LookupClass(NameIndex klass);
|
| -
|
| - RawFunction::Kind GetFunctionType(ProcedureHelper::Kind procedure_kind);
|
| -
|
| - Program* program_;
|
| -
|
| - Thread* thread_;
|
| - Zone* zone_;
|
| - Isolate* isolate_;
|
| - Array& scripts_;
|
| - Array& patch_classes_;
|
| - ActiveClass active_class_;
|
| - BuildingTranslationHelper translation_helper_;
|
| - StreamingFlowGraphBuilder builder_;
|
| -
|
| - Mapping<Library> libraries_;
|
| - Mapping<Class> classes_;
|
| -
|
| - GrowableArray<const Function*> functions_;
|
| - GrowableArray<const Field*> fields_;
|
| -};
|
| -
|
| -} // namespace kernel
|
| -} // namespace dart
|
| -
|
| -#endif // !defined(DART_PRECOMPILED_RUNTIME)
|
| -#endif // RUNTIME_VM_KERNEL_READER_H_
|
|
|