Public 型 | Public メソッド | Protected メソッド | Protected 変数 | フレンド

クラス v8::internal::Scope

#include <scopes.h>

v8::internal::ZoneObjectを継承しています。

v8::internal::DummyScopeに継承されています。

すべてのメンバ一覧

Public 型

enum  Type { EVAL_SCOPE, FUNCTION_SCOPE, GLOBAL_SCOPE }

Public メソッド

 Scope ()
 Scope (Scope *outer_scope, Type type)
virtual ~Scope ()
void SetScopeName (Handle< String > scope_name)
void Initialize (bool inside_with)
virtual VariableLookup (Handle< String > name)
VariableDeclareFunctionVar (Handle< String > name)
virtual VariableDeclare (Handle< String > name, Variable::Mode mode)
void AddParameter (Variable *var)
virtual VariableProxyNewUnresolved (Handle< String > name, bool inside_with)
void RemoveUnresolved (VariableProxy *var)
virtual VariableProxyNewTemporary (Handle< String > name)
void AddDeclaration (Declaration *declaration)
void SetIllegalRedeclaration (Expression *expression)
void VisitIllegalRedeclaration (Visitor *visitor)
bool HasIllegalRedeclaration () const
void RecordWithStatement ()
void RecordEvalCall ()
bool is_eval_scope () const
bool is_function_scope () const
bool is_global_scope () const
Scopeouter_scope () const
VariableProxyreceiver () const
Variablefunction () const
Variableparameter (int index) const
int num_parameters () const
VariableProxyarguments () const
VariableProxyarguments_shadow () const
ZoneList< Declaration * > * declarations ()
template<class Allocator >
void CollectUsedVariables (List< Variable *, Allocator > *locals)
void AllocateVariables ()
int num_stack_slots () const
int num_heap_slots () const
bool SupportsEval () const
void ForceEagerCompilation ()
bool AllowsLazyCompilation () const
bool HasTrivialOuterContext () const
int ContextChainLength (Scope *scope)

Protected メソッド

VariableNonLocal (Handle< String > name)
VariableLookupRecursive (Handle< String > name, bool inner_lookup)
void ResolveVariable (Scope *global_scope, VariableProxy *proxy)
void ResolveVariablesRecursively (Scope *global_scope)
bool PropagateScopeInfo (bool outer_scope_calls_eval)
bool HasTrivialContext () const
bool MustAllocate (Variable *var)
bool MustAllocateInContext (Variable *var)
bool HasArgumentsParameter ()
void AllocateStackSlot (Variable *var)
void AllocateHeapSlot (Variable *var)
void AllocateParameterLocals ()
void AllocateNonParameterLocal (Variable *var)
void AllocateNonParameterLocals ()
void AllocateVariablesRecursively ()

Protected 変数

Scopeouter_scope_
ZoneList< Scope * > inner_scopes_
Type type_
Handle< Stringscope_name_
LocalsMap locals_
ZoneList< Variable * > temps_
ZoneList< Variable * > params_
ZoneList< Variable * > nonlocals_
ZoneList< VariableProxy * > unresolved_
ZoneList< Declaration * > decls_
VariableProxyreceiver_
Variablefunction_
VariableProxyarguments_
VariableProxyarguments_shadow_
Expressionillegal_redecl_
bool scope_inside_with_
bool scope_contains_with_
bool scope_calls_eval_
bool outer_scope_calls_eval_
bool inner_scope_calls_eval_
bool force_eager_compilation_
int num_stack_slots_
int num_heap_slots_

フレンド

class ParserFactory

説明

scopes.h65 行で定義されています。


列挙型

列挙型の値:
EVAL_SCOPE 
FUNCTION_SCOPE 
GLOBAL_SCOPE 

scopes.h70 行で定義されています。


コンストラクタとデストラクタ

v8::internal::Scope::Scope (  ) 
v8::internal::Scope::Scope ( Scope outer_scope,
Type  type 
)
virtual v8::internal::Scope::~Scope (  )  [inline, virtual]

scopes.h79 行で定義されています。


関数

void v8::internal::Scope::AddDeclaration ( Declaration declaration  ) 
void v8::internal::Scope::AddParameter ( Variable var  ) 
void v8::internal::Scope::AllocateHeapSlot ( Variable var  )  [protected]
void v8::internal::Scope::AllocateNonParameterLocal ( Variable var  )  [protected]
void v8::internal::Scope::AllocateNonParameterLocals (  )  [protected]
void v8::internal::Scope::AllocateParameterLocals (  )  [protected]
void v8::internal::Scope::AllocateStackSlot ( Variable var  )  [protected]
void v8::internal::Scope::AllocateVariables (  ) 
void v8::internal::Scope::AllocateVariablesRecursively (  )  [protected]
bool v8::internal::Scope::AllowsLazyCompilation (  )  const
VariableProxy* v8::internal::Scope::arguments (  )  const [inline]

scopes.h194 行で定義されています。

参照先 arguments_.

参照元 v8::internal::CodeGenerator::GenCode().

VariableProxy* v8::internal::Scope::arguments_shadow (  )  const [inline]

scopes.h198 行で定義されています。

参照先 arguments_shadow_.

参照元 v8::internal::CodeGenerator::GenCode().

template<class Allocator >
void v8::internal::Scope::CollectUsedVariables ( List< Variable *, Allocator > *  locals  ) 
int v8::internal::Scope::ContextChainLength ( Scope scope  ) 
ZoneList<Declaration*>* v8::internal::Scope::declarations (  )  [inline]

scopes.h201 行で定義されています。

参照先 decls_.

参照元 v8::internal::CodeGenerator::GenCode(), と v8::internal::UsageComputer::VisitFunctionLiteral().

virtual Variable* v8::internal::Scope::Declare ( Handle< String name,
Variable::Mode  mode 
) [virtual]
Variable* v8::internal::Scope::DeclareFunctionVar ( Handle< String name  ) 
void v8::internal::Scope::ForceEagerCompilation (  )  [inline]
Variable* v8::internal::Scope::function (  )  const [inline]

scopes.h178 行で定義されています。

参照先 ASSERT, function_, と is_function_scope().

bool v8::internal::Scope::HasArgumentsParameter (  )  [protected]
bool v8::internal::Scope::HasIllegalRedeclaration (  )  const [inline]

scopes.h144 行で定義されています。

参照先 illegal_redecl_, と v8::internal::NULL.

参照元 v8::internal::CodeGenerator::GenCode().

bool v8::internal::Scope::HasTrivialContext (  )  const [protected]
bool v8::internal::Scope::HasTrivialOuterContext (  )  const
void v8::internal::Scope::Initialize ( bool  inside_with  ) 
bool v8::internal::Scope::is_eval_scope (  )  const [inline]

scopes.h161 行で定義されています。

参照先 type_.

bool v8::internal::Scope::is_function_scope (  )  const [inline]
bool v8::internal::Scope::is_global_scope (  )  const [inline]
virtual Variable* v8::internal::Scope::Lookup ( Handle< String name  )  [virtual]

v8::internal::DummyScopeで再定義されています。

参照元 v8::internal::AstBuildingParser::Declare().

Variable* v8::internal::Scope::LookupRecursive ( Handle< String name,
bool  inner_lookup 
) [protected]
bool v8::internal::Scope::MustAllocate ( Variable var  )  [protected]
bool v8::internal::Scope::MustAllocateInContext ( Variable var  )  [protected]
virtual VariableProxy* v8::internal::Scope::NewTemporary ( Handle< String name  )  [virtual]
virtual VariableProxy* v8::internal::Scope::NewUnresolved ( Handle< String name,
bool  inside_with 
) [virtual]
Variable* v8::internal::Scope::NonLocal ( Handle< String name  )  [protected]
int v8::internal::Scope::num_heap_slots (  )  const [inline]

scopes.h219 行で定義されています。

参照先 num_heap_slots_.

参照元 v8::internal::CodeGenerator::GenCode().

int v8::internal::Scope::num_parameters (  )  const [inline]
int v8::internal::Scope::num_stack_slots (  )  const [inline]

scopes.h218 行で定義されています。

参照先 num_stack_slots_.

参照元 v8::internal::CodeGenerator::GenCode().

Scope* v8::internal::Scope::outer_scope (  )  const [inline]

scopes.h166 行で定義されています。

参照先 outer_scope_.

参照元 v8::internal::MakeCode().

Variable* v8::internal::Scope::parameter ( int  index  )  const [inline]

scopes.h185 行で定義されています。

参照先 ASSERT, is_function_scope(), と params_.

参照元 v8::internal::CodeGenerator::GenCode().

bool v8::internal::Scope::PropagateScopeInfo ( bool  outer_scope_calls_eval  )  [protected]
VariableProxy* v8::internal::Scope::receiver (  )  const [inline]

scopes.h173 行で定義されています。

参照先 receiver_.

参照元 v8::internal::Parser::ParsePrimaryExpression().

void v8::internal::Scope::RecordEvalCall (  )  [inline]

scopes.h154 行で定義されています。

参照先 scope_calls_eval_.

参照元 v8::internal::Parser::ParseLeftHandSideExpression().

void v8::internal::Scope::RecordWithStatement (  )  [inline]

scopes.h151 行で定義されています。

参照先 scope_contains_with_.

参照元 v8::internal::Parser::WithHelper().

void v8::internal::Scope::RemoveUnresolved ( VariableProxy var  ) 
void v8::internal::Scope::ResolveVariable ( Scope global_scope,
VariableProxy proxy 
) [protected]
void v8::internal::Scope::ResolveVariablesRecursively ( Scope global_scope  )  [protected]
void v8::internal::Scope::SetIllegalRedeclaration ( Expression expression  ) 
void v8::internal::Scope::SetScopeName ( Handle< String scope_name  )  [inline]

scopes.h82 行で定義されています。

参照先 scope_name_.

参照元 v8::internal::Parser::ParseFunctionLiteral().

bool v8::internal::Scope::SupportsEval (  )  const
void v8::internal::Scope::VisitIllegalRedeclaration ( Visitor *  visitor  ) 

フレンドと関連する関数

friend class ParserFactory [friend]

scopes.h248 行で定義されています。


変数

scopes.h278 行で定義されています。

参照元 arguments().

scopes.h280 行で定義されています。

参照元 arguments_shadow().

scopes.h272 行で定義されています。

参照元 declarations().

scopes.h293 行で定義されています。

参照元 ForceEagerCompilation().

scopes.h276 行で定義されています。

参照元 function().

scopes.h283 行で定義されています。

参照元 HasIllegalRedeclaration().

scopes.h292 行で定義されています。

scopes.h252 行で定義されています。

scopes.h262 行で定義されています。

scopes.h268 行で定義されています。

scopes.h297 行で定義されています。

参照元 num_heap_slots().

scopes.h296 行で定義されています。

参照元 num_stack_slots().

scopes.h251 行で定義されています。

参照元 v8::internal::DummyScope::DummyScope(), と outer_scope().

scopes.h291 行で定義されています。

scopes.h266 行で定義されています。

参照元 num_parameters(), と parameter().

scopes.h274 行で定義されています。

参照元 receiver().

scopes.h288 行で定義されています。

参照元 RecordEvalCall().

scopes.h287 行で定義されています。

参照元 RecordWithStatement().

scopes.h286 行で定義されています。

scopes.h258 行で定義されています。

参照元 SetScopeName().

scopes.h264 行で定義されています。

scopes.h255 行で定義されています。

参照元 is_eval_scope(), is_function_scope(), と is_global_scope().

scopes.h270 行で定義されています。


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義