chromium/v8/src/torque/constants.h

// Copyright 2019 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef V8_TORQUE_CONSTANTS_H_
#define V8_TORQUE_CONSTANTS_H_

#include <cstring>
#include <string>

#include "src/base/flags.h"

namespace v8 {
namespace internal {
namespace torque {

static const char* const CONSTEXPR_TYPE_PREFIX =;
static const char* const NEVER_TYPE_STRING =;
static const char* const CONSTEXPR_BOOL_TYPE_STRING =;
static const char* const CONSTEXPR_STRING_TYPE_STRING =;
static const char* const CONSTEXPR_INTPTR_TYPE_STRING =;
static const char* const CONSTEXPR_INSTANCE_TYPE_TYPE_STRING =;
static const char* const BOOL_TYPE_STRING =;
static const char* const VOID_TYPE_STRING =;
static const char* const ARGUMENTS_TYPE_STRING =;
static const char* const CONTEXT_TYPE_STRING =;
static const char* const NO_CONTEXT_TYPE_STRING =;
static const char* const NATIVE_CONTEXT_TYPE_STRING =;
static const char* const JS_FUNCTION_TYPE_STRING =;
static const char* const MAP_TYPE_STRING =;
static const char* const OBJECT_TYPE_STRING =;
static const char* const HEAP_OBJECT_TYPE_STRING =;
static const char* const TAGGED_ZERO_PATTERN_TYPE_STRING =;
static const char* const JSANY_TYPE_STRING =;
static const char* const JSOBJECT_TYPE_STRING =;
static const char* const SMI_TYPE_STRING =;
static const char* const TAGGED_TYPE_STRING =;
static const char* const STRONG_TAGGED_TYPE_STRING =;
static const char* const UNINITIALIZED_TYPE_STRING =;
static const char* const UNINITIALIZED_HEAP_OBJECT_TYPE_STRING =;
static const char* const RAWPTR_TYPE_STRING =;
static const char* const EXTERNALPTR_TYPE_STRING =;
static const char* const CPPHEAPPTR_TYPE_STRING =;
static const char* const TRUSTEDPTR_TYPE_STRING =;
static const char* const PROTECTEDPTR_TYPE_STRING =;
static const char* const CONST_STRING_TYPE_STRING =;
static const char* const STRING_TYPE_STRING =;
static const char* const NUMBER_TYPE_STRING =;
static const char* const BUILTIN_POINTER_TYPE_STRING =;
static const char* const INTPTR_TYPE_STRING =;
static const char* const UINTPTR_TYPE_STRING =;
static const char* const INT64_TYPE_STRING =;
static const char* const UINT64_TYPE_STRING =;
static const char* const INT31_TYPE_STRING =;
static const char* const INT32_TYPE_STRING =;
static const char* const UINT31_TYPE_STRING =;
static const char* const UINT32_TYPE_STRING =;
static const char* const INT16_TYPE_STRING =;
static const char* const UINT16_TYPE_STRING =;
static const char* const INT8_TYPE_STRING =;
static const char* const UINT8_TYPE_STRING =;
static const char* const BINT_TYPE_STRING =;
static const char* const CHAR8_TYPE_STRING =;
static const char* const CHAR16_TYPE_STRING =;
static const char* const FLOAT16_TYPE_STRING =;
static const char* const FLOAT32_TYPE_STRING =;
static const char* const FLOAT64_TYPE_STRING =;
static const char* const FLOAT64_OR_HOLE_TYPE_STRING =;
static const char* const CONST_INT31_TYPE_STRING =;
static const char* const CONST_INT32_TYPE_STRING =;
static const char* const CONST_FLOAT64_TYPE_STRING =;
static const char* const INTEGER_LITERAL_TYPE_STRING =;
static const char* const TORQUE_INTERNAL_NAMESPACE_STRING =;
static const char* const MUTABLE_REFERENCE_TYPE_STRING =;
static const char* const CONST_REFERENCE_TYPE_STRING =;
static const char* const MUTABLE_SLICE_TYPE_STRING =;
static const char* const CONST_SLICE_TYPE_STRING =;
static const char* const WEAK_TYPE_STRING =;
static const char* const SMI_TAGGED_TYPE_STRING =;
static const char* const LAZY_TYPE_STRING =;
static const char* const UNINITIALIZED_ITERATOR_TYPE_STRING =;
static const char* const GENERIC_TYPE_INSTANTIATION_NAMESPACE_STRING =;
static const char* const FIXED_ARRAY_BASE_TYPE_STRING =;
static const char* const WEAK_HEAP_OBJECT =;
static const char* const STATIC_ASSERT_MACRO_STRING =;

static const char* const ANNOTATION_ABSTRACT =;
static const char* const ANNOTATION_HAS_SAME_INSTANCE_TYPE_AS_PARENT =;
static const char* const ANNOTATION_DO_NOT_GENERATE_CPP_CLASS =;
static const char* const ANNOTATION_CUSTOM_MAP =;
static const char* const ANNOTATION_CUSTOM_CPP_CLASS =;
static const char* const ANNOTATION_HIGHEST_INSTANCE_TYPE_WITHIN_PARENT =;
static const char* const ANNOTATION_LOWEST_INSTANCE_TYPE_WITHIN_PARENT =;
static const char* const ANNOTATION_RESERVE_BITS_IN_INSTANCE_TYPE =;
static const char* const ANNOTATION_INSTANCE_TYPE_VALUE =;
static const char* const ANNOTATION_IF =;
static const char* const ANNOTATION_IFNOT =;
static const char* const ANNOTATION_GENERATE_BODY_DESCRIPTOR =;
static const char* const ANNOTATION_GENERATE_UNIQUE_MAP =;
static const char* const ANNOTATION_GENERATE_FACTORY_FUNCTION =;
static const char* const ANNOTATION_EXPORT =;
static const char* const ANNOTATION_DO_NOT_GENERATE_CAST =;
static const char* const ANNOTATION_USE_PARENT_TYPE_CHECKER =;
static const char* const ANNOTATION_CPP_OBJECT_DEFINITION =;
static const char* const ANNOTATION_CPP_OBJECT_LAYOUT_DEFINITION =;
static const char* const ANNOTATION_SAME_ENUM_VALUE_AS =;
// Generate C++ accessors with relaxed store semantics.
// Weak<T> and Tagged<MaybeObject> fields always use relaxed store.
static const char* const ANNOTATION_CPP_RELAXED_STORE =;
// Generate C++ accessors with relaxed load semantics.
static const char* const ANNOTATION_CPP_RELAXED_LOAD =;
// Generate C++ accessors with release store semantics.
static const char* const ANNOTATION_CPP_RELEASE_STORE =;
// Generate C++ accessors with acquire load semantics.
static const char* const ANNOTATION_CPP_ACQUIRE_LOAD =;
// Generate BodyDescriptor using IterateCustomWeakPointers.
static const char* const ANNOTATION_CUSTOM_WEAK_MARKING =;
// Do not generate an interface descriptor for this builtin.
static const char* const ANNOTATION_CUSTOM_INTERFACE_DESCRIPTOR =;

inline bool IsConstexprName(const std::string& name) {}

inline std::string GetNonConstexprName(const std::string& name) {}

inline std::string GetConstexprName(const std::string& name) {}

enum class AbstractTypeFlag {};
AbstractTypeFlags;

enum class ClassFlag {};
ClassFlags;

enum class StructFlag {};
StructFlags;

enum class FieldSynchronization {};

}  // namespace torque
}  // namespace internal
}  // namespace v8

#endif  // V8_TORQUE_CONSTANTS_H_