V8 Project
v8::internal::Smi Class Reference

#include <objects.h>

+ Inheritance diagram for v8::internal::Smi:
+ Collaboration diagram for v8::internal::Smi:

Public Member Functions

int value () const
 
void SmiPrint (OStream &os) const
 
- Public Member Functions inherited from v8::internal::Object
bool IsObject () const
 
 INLINE (bool IsFixedArrayBase() const)
 
 INLINE (bool IsExternal() const)
 
 INLINE (bool IsAccessorInfo() const)
 
 INLINE (bool IsStruct() const)
 
 INLINE (bool IsSpecObject()) const
 
 INLINE (bool IsSpecFunction()) const
 
 INLINE (bool IsTemplateInfo()) const
 
 INLINE (bool IsNameDictionary() const)
 
 INLINE (bool IsSeededNumberDictionary() const)
 
 INLINE (bool IsUnseededNumberDictionary() const)
 
 INLINE (bool IsOrderedHashSet() const)
 
 INLINE (bool IsOrderedHashMap() const)
 
bool IsCallable () const
 
 INLINE (bool IsUndefined() const)
 
 INLINE (bool IsNull() const)
 
 INLINE (bool IsTheHole() const)
 
 INLINE (bool IsException() const)
 
 INLINE (bool IsUninitialized() const)
 
 INLINE (bool IsTrue() const)
 
 INLINE (bool IsFalse() const)
 
 INLINE (bool IsArgumentsMarker() const)
 
 INLINE (bool IsFiller() const)
 
double Number ()
 
 INLINE (bool IsNaN() const)
 
 INLINE (bool IsMinusZero() const)
 
bool ToInt32 (int32_t *value)
 
bool ToUint32 (uint32_t *value)
 
Representation OptimalRepresentation ()
 
bool FitsRepresentation (Representation representation)
 
Handle< HeapTypeOptimalType (Isolate *isolate, Representation representation)
 
bool HasValidElements ()
 
bool HasSpecificClassOf (String *name)
 
bool BooleanValue ()
 
ObjectGetHash ()
 
bool SameValue (Object *other)
 
bool SameValueZero (Object *other)
 
bool ToArrayIndex (uint32_t *index)
 
bool IsStringObjectWithCharacterAt (uint32_t index)
 
void VerifyApiCallResultType ()
 
void ShortPrint (FILE *out=stdout)
 
void ShortPrint (StringStream *accumulator)
 

Static Public Member Functions

static SmiFromInt (int value)
 
static SmiFromIntptr (intptr_t value)
 
static bool IsValid (intptr_t value)
 
- Static Public Member Functions inherited from v8::internal::Object
static Handle< ObjectNewStorageFor (Isolate *isolate, Handle< Object > object, Representation representation)
 
static Handle< ObjectWrapForRead (Isolate *isolate, Handle< Object > object, Representation representation)
 
static MaybeHandle< JSReceiverToObject (Isolate *isolate, Handle< Object > object)
 
static MaybeHandle< JSReceiverToObject (Isolate *isolate, Handle< Object > object, Handle< Context > context)
 
static MUST_USE_RESULT MaybeHandle< SmiToSmi (Isolate *isolate, Handle< Object > object)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetProperty (LookupIterator *it)
 
static MUST_USE_RESULT MaybeHandle< ObjectSetProperty (Handle< Object > object, Handle< Name > key, Handle< Object > value, StrictMode strict_mode, StoreFromKeyed store_mode=MAY_BE_STORE_FROM_KEYED)
 
static MUST_USE_RESULT MaybeHandle< ObjectSetProperty (LookupIterator *it, Handle< Object > value, StrictMode strict_mode, StoreFromKeyed store_mode, StorePropertyMode data_store_mode=NORMAL_PROPERTY)
 
static MUST_USE_RESULT MaybeHandle< ObjectWriteToReadOnlyProperty (LookupIterator *it, Handle< Object > value, StrictMode strict_mode)
 
static Handle< ObjectSetDataProperty (LookupIterator *it, Handle< Object > value)
 
static MUST_USE_RESULT MaybeHandle< ObjectAddDataProperty (LookupIterator *it, Handle< Object > value, PropertyAttributes attributes, StrictMode strict_mode, StoreFromKeyed store_mode)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetPropertyOrElement (Handle< Object > object, Handle< Name > key)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetProperty (Isolate *isolate, Handle< Object > object, const char *key)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetProperty (Handle< Object > object, Handle< Name > key)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetPropertyWithAccessor (Handle< Object > receiver, Handle< Name > name, Handle< JSObject > holder, Handle< Object > structure)
 
static MUST_USE_RESULT MaybeHandle< ObjectSetPropertyWithAccessor (Handle< Object > receiver, Handle< Name > name, Handle< Object > value, Handle< JSObject > holder, Handle< Object > structure, StrictMode strict_mode)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetPropertyWithDefinedGetter (Handle< Object > receiver, Handle< JSReceiver > getter)
 
static MUST_USE_RESULT MaybeHandle< ObjectSetPropertyWithDefinedSetter (Handle< Object > receiver, Handle< JSReceiver > setter, Handle< Object > value)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetElement (Isolate *isolate, Handle< Object > object, uint32_t index)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetElementWithReceiver (Isolate *isolate, Handle< Object > object, Handle< Object > receiver, uint32_t index)
 
static Handle< SmiGetOrCreateHash (Isolate *isolate, Handle< Object > object)
 

Static Public Attributes

static const int kMinValue
 
static const int kMaxValue = -(kMinValue + 1)
 
- Static Public Attributes inherited from v8::internal::Object
static const int kHeaderSize = 0
 

Private Member Functions

 DISALLOW_IMPLICIT_CONSTRUCTORS (Smi)
 

Additional Inherited Members

- Public Types inherited from v8::internal::Object
enum  StoreFromKeyed { MAY_BE_STORE_FROM_KEYED , CERTAINLY_NOT_STORE_FROM_KEYED }
 
enum  StorePropertyMode { NORMAL_PROPERTY , SUPER_PROPERTY }
 

Detailed Description

Definition at line 1251 of file objects.h.

Member Function Documentation

◆ DISALLOW_IMPLICIT_CONSTRUCTORS()

v8::internal::Smi::DISALLOW_IMPLICIT_CONSTRUCTORS ( Smi  )
private

◆ FromInt()

Smi * v8::internal::Smi::FromInt ( int  value)
inlinestatic

Definition at line 1321 of file objects-inl.h.

1321  {
1323  return reinterpret_cast<Smi*>(Internals::IntToSmi(value));
1324 }
static internal::Object * IntToSmi(int value)
Definition: v8.h:5888
int value() const
Definition: objects-inl.h:1316
static bool IsValid(intptr_t value)
Definition: objects-inl.h:1334
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK, v8::internal::Internals::IntToSmi(), IsValid(), and value().

Referenced by v8::internal::MarkCompactCollector::AbortWeakCollections(), v8::NeanderArray::add(), v8::internal::BASE_EMBEDDED< Visitor >::Add(), v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::AddEntry(), v8::internal::ReplacementStringBuilder::AddSubjectSlice(), v8::internal::SharedFunctionInfo::AddToOptimizedCodeMap(), v8::internal::FreeList::Allocate(), v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::Allocate(), v8::internal::DescriptorArray::Allocate(), v8::internal::TransitionArray::Allocate(), v8::internal::Heap::AllocateCode(), v8::internal::FullCodeGenerator::AllocateModules(), v8::internal::LargeObjectSpace::AllocateRaw(), v8::internal::Heap::AllocateSymbol(), v8::internal::ArrayConstructInitializeElements(), v8::internal::PolymorphicCodeCacheHashTableKey::AsHandle(), v8::internal::StringSharedKey::AsHandle(), v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeInitializedStub(), v8::internal::BUILTIN(), v8::internal::String::CalculateLineEnds(), v8::internal::Debug::CallEventCallback(), v8::internal::Isolate::CaptureCurrentStackTrace(), v8::internal::Isolate::CaptureSimpleStackTrace(), v8::internal::TypeFeedbackInfo::change_ic_generic_count(), v8::internal::TypeFeedbackInfo::change_ic_with_type_info_count(), v8::internal::TypeFeedbackInfo::change_own_type_change_checksum(), v8::internal::CheckActivation(), v8::internal::LiveEdit::CheckAndDropActivations(), v8::internal::CheckArrayAbuse(), v8::internal::Debug::CheckBreakPoints(), v8::internal::RegExpResultsCache::Clear(), v8::internal::DescriptorArray::ClearEnumCache(), v8::internal::Debug::ClearMirrorCache(), v8::internal::SharedFunctionInfo::ClearOptimizedCodeMap(), v8::internal::MarkCompactCollector::ClearWeakCollections(), v8::ScriptCompiler::Compile(), v8::internal::Debug::CompileDebuggerScript(), v8::internal::Compiler::CompileScript(), v8::internal::Deoptimizer::ComputeIncomingArgumentSize(), v8::internal::ConvertCaseHelper(), v8::internal::CopyCachedOneByteCharsToArray(), v8::internal::NameDictionary::CopyEnumKeysTo(), v8::internal::ScopeInfo::Create(), v8::internal::Heap::CreateApiObjects(), v8::internal::Runtime::CreateArrayLiteralBoilerplate(), v8::internal::Heap::CreateInitialObjects(), v8::internal::CreateObjectLiteralBoilerplate(), v8::Date::DateTimeConfigurationChangeNotification(), v8::internal::Deserializer::Deserialize(), v8::internal::CompareNilIC::DoCompareNilSlow(), v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), v8::internal::Deoptimizer::DoComputeJSFrame(), v8::internal::LCodeGen::DoDeferredAllocate(), v8::internal::LCodeGen::DoDeferredStringCharCodeAt(), v8::internal::JSDate::DoGetField(), v8::internal::Deoptimizer::DoTranslateCommand(), v8::internal::Deoptimizer::DoTranslateObject(), v8::internal::DropActivationsInActiveThread(), v8::internal::DropFrames(), v8::internal::LCodeGen::EmitIsConstructCall(), v8::internal::LCodeGen::EmitVectorLoadICRegisters(), v8::internal::RegExpResultsCache::Enter(), v8::Value::Equals(), v8::internal::LiveEdit::FindActiveGenerators(), v8::internal::LargeObjectSpace::FindObject(), v8::internal::PagedSpace::FindObject(), v8::internal::JSEntryStub::FinishCode(), v8::FunctionTemplateNew(), v8::internal::LiveEdit::GatherCompileInfo(), v8::internal::LCodeGen::GenerateDeferredCode(), v8::internal::GenerateIdentityHash(), v8::internal::LCodeGen::GenerateJumpTable(), v8::internal::Dictionary< Derived, Shape, Key >::GenerateNewEnumerationIndices(), v8::internal::ExternalInt16Array::get(), v8::internal::ExternalInt8Array::get(), v8::internal::ExternalUint16Array::get(), v8::internal::ExternalUint8Array::get(), v8::internal::ExternalUint8ClampedArray::get(), v8::internal::JSTypedArray::GetBuffer(), v8::internal::GetEnumPropertyKeys(), v8::internal::Object::GetHash(), v8::internal::JSObject::GetOwnElementKeys(), v8::internal::JSDate::GetUTCField(), v8::internal::CompileTimeValue::GetValue(), v8::internal::OrderedHashTableIterator< Derived, TableType >::HasMore(), v8::internal::TransitionArray::HasPrototypeTransitions(), v8::internal::Heap::Heap(), v8::internal::AllocationSite::Initialize(), v8::internal::TypeFeedbackInfo::initialize_storage(), v8::InitializeFunctionTemplate(), v8::internal::Runtime::InitializeIntrinsicFunctionNames(), v8::internal::MacroAssembler::InitializeSmiConstantRegister(), v8::InitializeTemplate(), v8::internal::BASE_EMBEDDED< Visitor >::INLINE(), v8::Shell::InstallUtilityScript(), v8::internal::AstValue::Internalize(), v8::internal::StandardFrame::IsArgumentsAdaptorFrame(), v8::internal::StandardFrame::IsConstructFrame(), v8::internal::SharedInfoWrapper::IsInstance(), v8::internal::SerializerDeserializer::Iterate(), v8::internal::IterateElements(), v8::internal::IterateExternalArrayElements(), v8::internal::Heap::LeftTrimFixedArray(), v8::internal::RegExpResultsCache::Lookup(), v8::internal::Accessors::MakeModuleExport(), v8::internal::MaterializeScopeDetails(), v8::internal::TypeFeedbackVector::MonomorphicArraySentinel(), v8::internal::OrderedHashTableIterator< Derived, TableType >::MoveNext(), v8::NeanderArray::NeanderArray(), v8::internal::JSArrayBuffer::Neuter(), v8::internal::JSTypedArray::Neuter(), v8::internal::JSArrayBufferView::NeuterView(), v8::ObjectTemplate::New(), v8::Integer::New(), v8::internal::NewSloppyArguments(), v8::internal::Object::NewStorageFor(), v8::internal::IntrusiveMapTransitionIterator::Next(), v8::internal::IntrusivePrototypeTransitionIterator::Next(), v8::internal::OrderedHashTableIterator< Derived, TableType >::Next(), v8::internal::LCodeGen::PopulateDeoptimizationData(), v8::internal::FullCodeGenerator::PopulateDeoptimizationData(), v8::internal::JSObject::PrepareElementsForSort(), v8::internal::Debug::PrepareForBreakPoints(), v8::internal::JSObject::PrepareSlowElementsForSort(), v8::internal::Isolate::PrintCurrentStackTrace(), v8::internal::MarkCompactCollector::ProcessWeakCollections(), v8::internal::Debug::RecordEvalCaller(), v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::Rehash(), v8::internal::Deserializer::RelinkAllocationSite(), v8::internal::DateCache::ResetDateCache(), v8::internal::RUNTIME_FUNCTION(), v8::internal::RUNTIME_FUNCTION_RETURN_PAIR(), v8::internal::SharedFunctionInfo::SearchOptimizedCodeMap(), v8::internal::SearchRegExpMultiple(), v8::internal::FunctionInfoListener::SerializeFunctionScope(), v8::internal::BooleanBit::set(), v8::internal::AllocationSite::set_deopt_dependent_code(), v8::internal::JSFunctionResultCache::set_finger_index(), v8::internal::ModuleInfo::set_host_index(), v8::internal::TypeFeedbackInfo::set_ic_total_count(), v8::internal::ModuleInfo::set_index(), v8::internal::TypeFeedbackInfo::set_inlined_type_change_checksum(), v8::internal::Oddball::set_kind(), v8::internal::AllocationSite::set_memento_create_count(), v8::internal::AllocationSite::set_memento_found_count(), v8::internal::ModuleInfo::set_mode(), v8::internal::DependentCode::set_number_of_entries(), v8::internal::AllocationSite::set_pretenure_decision(), v8::internal::AccessorInfo::set_property_attributes(), v8::internal::SeededNumberDictionary::set_requires_slow_elements(), v8::internal::JSFunctionResultCache::set_size(), v8::internal::Code::set_stub_key(), v8::internal::Heap::SetArgumentsAdaptorDeoptPCOffset(), v8::internal::DeoptimizationInputData::SetAstId(), v8::internal::DeoptimizationOutputData::SetAstId(), v8::internal::DebugInfo::SetBreakPoint(), v8::internal::JSDate::SetCachedFields(), v8::internal::HashTable< Derived, Shape, Key >::SetCapacity(), v8::internal::RegExpImpl::SetCapture(), v8::internal::Heap::SetConstructStubDeoptPCOffset(), v8::internal::JSArray::SetContent(), v8::internal::AllocationSite::SetDoNotInlineCall(), v8::internal::AllocationSite::SetElementsKind(), v8::internal::Dictionary< Derived, Shape, Key >::SetEntry(), v8::internal::JSObject::SetFastDoubleElement(), v8::internal::JSObject::SetFastDoubleElementsCapacityAndLength(), v8::internal::JSObject::SetFastElement(), v8::internal::JSObject::SetFastElementsCapacityAndLength(), v8::internal::Heap::SetGetterStubDeoptPCOffset(), v8::ObjectTemplate::SetInternalFieldCount(), v8::internal::RegExpImpl::SetIrregexpMaxRegisterCount(), v8::internal::RegExpImpl::SetLastCaptureCount(), v8::internal::Dictionary< Derived, Shape, Key >::SetNextEnumerationIndex(), v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::SetNumberOfBuckets(), v8::internal::HashTable< Derived, Shape, Key >::SetNumberOfDeletedElements(), v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::SetNumberOfDeletedElements(), v8::internal::DescriptorArray::SetNumberOfDescriptors(), v8::internal::HashTable< Derived, Shape, Key >::SetNumberOfElements(), v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::SetNumberOfElements(), v8::internal::Map::SetNumberOfProtoTransitions(), v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::SetRemovedIndexAt(), v8::internal::Heap::SetSetterStubDeoptPCOffset(), v8::internal::JSArrayBasedStruct< S >::SetSmiValueField(), v8::internal::Heap::SetUp(), v8::internal::Runtime::SetupArrayBuffer(), v8::internal::SetUpFrameDropperFrame(), v8::internal::ExternalUint8ClampedArray::SetValue(), v8::internal::JSDate::SetValue(), v8::internal::IntrusiveMapTransitionIterator::StartIfNotStarted(), v8::internal::IntrusivePrototypeTransitionIterator::StartIfNotStarted(), v8::internal::HeapTypeConfig::struct_create(), v8::Value::ToArrayIndex(), v8::internal::ToBooleanIC::ToBoolean(), v8::internal::FixedArrayBuilder::ToJSArray(), v8::internal::LCodeGen::ToOperand(), v8::internal::LCodeGen::ToRepresentation(), v8::internal::LCodeGen::ToRepresentation_donotuse(), v8::internal::Object::ToSmi(), v8::internal::LCodeGen::ToSmi(), v8::internal::OrderedHashTableIterator< Derived, TableType >::Transition(), v8::internal::TryConvertKey(), v8::internal::SeededNumberDictionary::UpdateMaxNumberKey(), v8::internal::MarkCompactMarkingVisitor::UpdateRegExpCodeAgeAndFlush(), v8::internal::FINAL< kOperandKind, kNumCachedOperands >::value(), v8::internal::WrapFrameId(), and v8::internal::CompareOutputArrayWriter::WriteChunk().

+ Here is the call graph for this function:

◆ FromIntptr()

Smi * v8::internal::Smi::FromIntptr ( intptr_t  value)
inlinestatic

Definition at line 1327 of file objects-inl.h.

1327  {
1329  int smi_shift_bits = kSmiTagSize + kSmiShiftSize;
1330  return reinterpret_cast<Smi*>((value << smi_shift_bits) | kSmiTag);
1331 }
const int kSmiTagSize
Definition: v8.h:5743
const int kSmiShiftSize
Definition: v8.h:5805
const int kSmiTag
Definition: v8.h:5742

References DCHECK, IsValid(), v8::internal::kSmiShiftSize, v8::internal::kSmiTag, v8::internal::kSmiTagSize, and value().

Referenced by v8::internal::FINAL< kOperandKind, kNumCachedOperands >::NewNumberFromSize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsValid()

bool v8::internal::Smi::IsValid ( intptr_t  value)
inlinestatic

Definition at line 1334 of file objects-inl.h.

1334  {
1335  bool result = Internals::IsValidSmi(value);
1336  DCHECK_EQ(result, value >= kMinValue && value <= kMaxValue);
1337  return result;
1338 }
static bool IsValidSmi(intptr_t value)
Definition: v8.h:5892
static const int kMaxValue
Definition: objects.h:1272
static const int kMinValue
Definition: objects.h:1270
#define DCHECK_EQ(v1, v2)
Definition: logging.h:206

References DCHECK_EQ, v8::internal::Internals::IsValidSmi(), kMaxValue, kMinValue, and value().

Referenced by v8::internal::Deoptimizer::DoTranslateCommand(), v8::internal::Deoptimizer::DoTranslateObject(), FromInt(), FromIntptr(), v8::internal::AllocationMemento::GetAllocationSite(), v8::internal::IterateExternalArrayElements(), v8::Integer::New(), v8::internal::FINAL< kOperandKind, kNumCachedOperands >::NewNumberFromSize(), v8::internal::Isolate::NextOptimizationId(), v8::internal::FullCodeGenerator::PrepareForBailoutForId(), v8::internal::RUNTIME_FUNCTION(), v8::ObjectTemplate::SetInternalFieldCount(), v8::internal::compiler::JSGraph::SmiConstant(), v8::internal::Object::ToSmi(), and v8::internal::TryConvertKey().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SmiPrint()

void v8::internal::Smi::SmiPrint ( OStream os) const

Definition at line 930 of file objects.cc.

930  { // NOLINT
931  os << value();
932 }

References value().

+ Here is the call graph for this function:

◆ value()

int v8::internal::Smi::value ( ) const
inline

Definition at line 1316 of file objects-inl.h.

1316  {
1317  return Internals::SmiValue(this);
1318 }
static int SmiValue(const internal::Object *value)
Definition: v8.h:5884

References v8::internal::Internals::SmiValue().

Referenced by v8::internal::DeoptimizationInputData::AstId(), v8::internal::DeoptimizationOutputData::AstId(), v8::internal::AllocationSite::CanInlineCall(), v8::internal::AllocationSite::deopt_dependent_code(), v8::internal::Dictionary< Derived, Shape, Key >::DetailsAtPut(), v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeOutputFrames(), FromInt(), FromIntptr(), v8::internal::BASE_EMBEDDED< Visitor >::FromRawValue(), v8::internal::Cell::FromValueAddress(), v8::internal::BooleanBit::get(), v8::internal::AllocationSite::GetElementsKind(), v8::internal::JSDate::GetField(), v8::internal::JSRegExp::GetFlags(), v8::internal::CompileTimeValue::GetLiteralType(), v8::internal::Deoptimizer::GetOutputInfo(), v8::internal::StringTableShape::IsMatch(), v8::internal::MapCacheShape::IsMatch(), v8::internal::CompilationCacheShape::IsMatch(), v8::internal::CodeCacheHashTableShape::IsMatch(), IsValid(), v8::internal::AllocationSite::memento_found_count(), v8::internal::OrderedHashTableIterator< Derived, TableType >::MoveNext(), v8::internal::EnumIndexComparator::operator()(), v8::internal::AllocationSite::pretenure_decision(), v8::internal::DateCache::ResetDateCache(), v8::internal::AccessorPair::set(), v8::internal::BooleanBit::set(), v8::internal::AllocationSite::set_deopt_dependent_code(), v8::internal::AllocationSite::set_pretenure_decision(), v8::internal::DeoptimizationInputData::SetAstId(), v8::internal::AllocationSite::SetDoNotInlineCall(), v8::internal::AllocationSite::SetElementsKind(), v8::internal::Map::SetNumberOfProtoTransitions(), SmiPrint(), v8::internal::Code::stub_key(), v8::internal::JSRegExp::TypeTag(), v8::internal::Dictionary< Derived, Shape, Key >::ValueAtPut(), and v8::internal::WeakHashTable::Zap().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ kMaxValue

◆ kMinValue


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