Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
dart::kernel::ActiveClass Class Reference

#include <kernel_translation_helper.h>

Public Member Functions

 ActiveClass ()
 
bool HasMember ()
 
bool MemberIsProcedure ()
 
bool MemberIsFactoryProcedure ()
 
intptr_t MemberTypeParameterCount (Zone *zone)
 
intptr_t ClassNumTypeArguments ()
 
const char * ToCString ()
 
ScriptPtr ActiveScript ()
 

Public Attributes

const Classklass
 
const Functionmember
 
const FunctionTypeenclosing
 
const TypeArgumentslocal_type_parameters
 

Detailed Description

Definition at line 1403 of file kernel_translation_helper.h.

Constructor & Destructor Documentation

◆ ActiveClass()

dart::kernel::ActiveClass::ActiveClass ( )
inline

Definition at line 1405 of file kernel_translation_helper.h.

1406 : klass(nullptr),
1407 member(nullptr),
1408 enclosing(nullptr),
1409 local_type_parameters(nullptr) {}
const TypeArguments * local_type_parameters

Member Function Documentation

◆ ActiveScript()

ScriptPtr dart::kernel::ActiveClass::ActiveScript ( )
inline

Definition at line 1440 of file kernel_translation_helper.h.

1440 {
1441 if (member != nullptr && !member->IsNull()) {
1442 return member->script();
1443 }
1444 if (klass != nullptr && !klass->IsNull()) {
1445 return klass->script();
1446 }
1447 return Script::null();
1448 }
ScriptPtr script() const
Definition object.h:1274
ScriptPtr script() const
Definition object.cc:10939
static ObjectPtr null()
Definition object.h:433
bool IsNull() const
Definition object.h:363

◆ ClassNumTypeArguments()

intptr_t dart::kernel::ActiveClass::ClassNumTypeArguments ( )
inline

Definition at line 1431 of file kernel_translation_helper.h.

1431 {
1432 ASSERT(klass != nullptr);
1433 return klass->NumTypeArguments();
1434 }
intptr_t NumTypeArguments() const
Definition object.cc:3690
#define ASSERT(E)

◆ HasMember()

bool dart::kernel::ActiveClass::HasMember ( )
inline

Definition at line 1411 of file kernel_translation_helper.h.

1411{ return member != nullptr; }

◆ MemberIsFactoryProcedure()

bool dart::kernel::ActiveClass::MemberIsFactoryProcedure ( )
inline

Definition at line 1424 of file kernel_translation_helper.h.

1424 {
1425 ASSERT(member != nullptr);
1426 return member->IsFactory();
1427 }
bool IsFactory() const
Definition object.h:3347

◆ MemberIsProcedure()

bool dart::kernel::ActiveClass::MemberIsProcedure ( )
inline

Definition at line 1413 of file kernel_translation_helper.h.

1413 {
1414 ASSERT(member != nullptr);
1415 UntaggedFunction::Kind function_kind = member->kind();
1416 return function_kind == UntaggedFunction::kRegularFunction ||
1417 function_kind == UntaggedFunction::kGetterFunction ||
1418 function_kind == UntaggedFunction::kSetterFunction ||
1419 function_kind == UntaggedFunction::kMethodExtractor ||
1420 function_kind == UntaggedFunction::kDynamicInvocationForwarder ||
1421 member->IsFactory();
1422 }
UntaggedFunction::Kind kind() const
Definition object.h:3329

◆ MemberTypeParameterCount()

intptr_t dart::kernel::ActiveClass::MemberTypeParameterCount ( Zone zone)

Definition at line 3206 of file kernel_translation_helper.cc.

3206 {
3207 ASSERT(member != nullptr);
3208 if (member->IsFactory()) {
3209 return klass->NumTypeParameters();
3210 } else if (member->IsMethodExtractor()) {
3211 Function& extracted =
3213 return extracted.NumTypeParameters();
3214 } else {
3215 return member->NumTypeParameters();
3216 }
3217}
intptr_t NumTypeParameters(Thread *thread) const
Definition object.cc:3605
intptr_t NumTypeParameters() const
Definition object.cc:8905
bool IsMethodExtractor() const
Definition object.h:3264
FunctionPtr extracted_method_closure() const
Definition object.cc:8178
static Object & Handle()
Definition object.h:407

◆ ToCString()

const char * dart::kernel::ActiveClass::ToCString ( )
inline

Definition at line 1436 of file kernel_translation_helper.h.

1436 {
1437 return member != nullptr ? member->ToCString() : klass->ToCString();
1438 }
virtual const char * ToCString() const
Definition object.h:366

Member Data Documentation

◆ enclosing

const FunctionType* dart::kernel::ActiveClass::enclosing

Definition at line 1457 of file kernel_translation_helper.h.

◆ klass

const Class* dart::kernel::ActiveClass::klass

Definition at line 1451 of file kernel_translation_helper.h.

◆ local_type_parameters

const TypeArguments* dart::kernel::ActiveClass::local_type_parameters

Definition at line 1459 of file kernel_translation_helper.h.

◆ member

const Function* dart::kernel::ActiveClass::member

Definition at line 1453 of file kernel_translation_helper.h.


The documentation for this class was generated from the following files: