blob: 93619a4dbd6951768f1171916e9ab20ec3a5964c [file] [log] [blame]
// Copyright (c) 2012, 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 VM_BOOTSTRAP_H_
#define VM_BOOTSTRAP_H_
#include "vm/allocation.h"
namespace dart {
// Forward declarations.
class Library;
class RawError;
class RawScript;
class Script;
class Bootstrap : public AllStatic {
public:
static RawScript* LoadAsyncScript(bool patch);
static RawScript* LoadCoreScript(bool patch);
static RawScript* LoadCollectionScript(bool patch);
static RawScript* LoadCollectionDevScript(bool patch);
static RawScript* LoadCryptoScript(bool patch);
static RawScript* LoadIsolateScript(bool patch);
static RawScript* LoadJsonScript(bool patch);
static RawScript* LoadMathScript(bool patch);
static RawScript* LoadMirrorsScript(bool patch);
static RawScript* LoadTypedDataScript(bool patch);
static RawScript* LoadUriScript(bool patch);
static RawScript* LoadUtfScript(bool patch);
static RawError* Compile(const Library& library, const Script& script);
static void SetupNativeResolver();
private:
static RawScript* LoadScript(const char* url, const char* source, bool patch);
static const char async_source_[];
static const char async_patch_[];
static const char corelib_source_[];
static const char corelib_patch_[];
static const char collection_source_[];
static const char collection_patch_[];
static const char collection_dev_source_[];
static const char collection_dev_patch_[];
static const char crypto_source_[];
static const char isolate_source_[];
static const char isolate_patch_[];
static const char json_source_[];
static const char json_patch_[];
static const char math_source_[];
static const char math_patch_[];
static const char mirrors_source_[];
static const char mirrors_patch_[];
static const char typed_data_source_[];
static const char typed_data_patch_[];
static const char uri_source_[];
static const char utf_source_[];
};
} // namespace dart
#endif // VM_BOOTSTRAP_H_