/ runtime / NumberObject.cpp
NumberObject.cpp
 1  /*
 2   *  Copyright (C) 1999-2000,2003 Harri Porten (porten@kde.org)
 3   *  Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
 4   *
 5   *  This library is free software; you can redistribute it and/or
 6   *  modify it under the terms of the GNU Lesser General Public
 7   *  License as published by the Free Software Foundation; either
 8   *  version 2 of the License, or (at your option) any later version.
 9   *
10   *  This library is distributed in the hope that it will be useful,
11   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   *  Lesser General Public License for more details.
14   *
15   *  You should have received a copy of the GNU Lesser General Public
16   *  License along with this library; if not, write to the Free Software
17   *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
18   *  USA
19   *
20   */
21  
22  #include "config.h"
23  #include "NumberObject.h"
24  
25  #include "JSCInlines.h"
26  
27  namespace JSC {
28  
29  STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NumberObject);
30  
31  const ClassInfo NumberObject::s_info = { "Number", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(NumberObject) };
32  
33  NumberObject::NumberObject(VM& vm, Structure* structure)
34      : Base(vm, structure)
35  {
36  }
37  
38  void NumberObject::finishCreation(VM& vm)
39  {
40      Base::finishCreation(vm);
41      ASSERT(inherits(vm, info()));
42      ASSERT(type() == NumberObjectType);
43  }
44  
45  String NumberObject::toStringName(const JSObject*, JSGlobalObject*)
46  {
47      return "Number"_s;
48  }
49  
50  NumberObject* constructNumber(JSGlobalObject* globalObject, JSValue number)
51  {
52      NumberObject* object = NumberObject::create(globalObject->vm(), globalObject->numberObjectStructure());
53      object->setInternalValue(globalObject->vm(), number);
54      return object;
55  }
56  
57  } // namespace JSC