v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
declarable.h File Reference
#include <cassert>
#include <optional>
#include <string>
#include <unordered_map>
#include "src/base/hashing.h"
#include "src/base/logging.h"
#include "src/torque/ast.h"
#include "src/torque/types.h"
#include "src/torque/utils.h"
Include dependency graph for declarable.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  v8::internal::torque::QualifiedName
 
class  v8::internal::torque::Declarable
 
struct  v8::internal::torque::SpecializationRequester
 
class  v8::internal::torque::Scope
 
class  v8::internal::torque::Namespace
 
class  v8::internal::torque::Value
 
class  v8::internal::torque::NamespaceConstant
 
class  v8::internal::torque::ExternConstant
 
class  v8::internal::torque::Callable
 
class  v8::internal::torque::Macro
 
class  v8::internal::torque::ExternMacro
 
class  v8::internal::torque::TorqueMacro
 
class  v8::internal::torque::Method
 
class  v8::internal::torque::Builtin
 
class  v8::internal::torque::RuntimeFunction
 
class  v8::internal::torque::Intrinsic
 
class  v8::internal::torque::TypeConstraint
 
class  v8::internal::torque::GenericDeclarable< SpecializationType, DeclarationType >
 
class  v8::internal::torque::GenericCallable
 
class  v8::internal::torque::GenericType
 
class  v8::internal::torque::TypeAlias
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::torque
 

Macros

#define DECLARE_DECLARABLE_BOILERPLATE(x, y)
 

Enumerations

enum class  v8::internal::torque::OutputType { v8::internal::torque::kCSA , v8::internal::torque::kCC , v8::internal::torque::kCCDebug }
 

Functions

 v8::internal::torque::DECLARE_CONTEXTUAL_VARIABLE (CurrentScope, Scope *)
 
Namespacev8::internal::torque::CurrentNamespace ()
 
std::optional< std::string > v8::internal::torque::FindConstraintViolation (const std::vector< const Type * > &types, const std::vector< TypeConstraint > &constraints)
 
std::vector< TypeConstraintv8::internal::torque::ComputeConstraints (Scope *scope, const GenericParameters &parameters)
 
std::ostream & v8::internal::torque::operator<< (std::ostream &os, const Callable &m)
 
std::ostream & v8::internal::torque::operator<< (std::ostream &os, const Builtin &b)
 
std::ostream & v8::internal::torque::operator<< (std::ostream &os, const RuntimeFunction &b)
 
std::ostream & v8::internal::torque::operator<< (std::ostream &os, const GenericCallable &g)
 

Macro Definition Documentation

◆ DECLARE_DECLARABLE_BOILERPLATE

#define DECLARE_DECLARABLE_BOILERPLATE ( x,
y )
Value:
static x* cast(Declarable* declarable) { \
DCHECK(declarable->Is##x()); \
return static_cast<x*>(declarable); \
} \
static const x* cast(const Declarable* declarable) { \
DCHECK(declarable->Is##x()); \
return static_cast<const x*>(declarable); \
} \
const char* type_name() const override { return #y; } \
static x* DynamicCast(Declarable* declarable) { \
if (!declarable) return nullptr; \
if (!declarable->Is##x()) return nullptr; \
return static_cast<x*>(declarable); \
} \
static const x* DynamicCast(const Declarable* declarable) { \
if (!declarable) return nullptr; \
if (!declarable->Is##x()) return nullptr; \
return static_cast<const x*>(declarable); \
}
int y
int x
uint32_t cast

Definition at line 127 of file declarable.h.