2  *  Copyright (C) 1999-2000 Harri Porten (porten@kde.org) 
   3  *  Copyright (C) 2008 Apple Inc. All rights reserved. 
   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. 
  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. 
  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  USA 
  21 #ifndef NumberConstructor_h 
  22 #define NumberConstructor_h 
  24 #include "InternalFunction.h" 
  28     class NumberPrototype
; 
  30     class NumberConstructor 
: public InternalFunction 
{ 
  32         NumberConstructor(ExecState
*, JSGlobalObject
*, Structure
*, NumberPrototype
*); 
  34         virtual bool getOwnPropertySlot(ExecState
*, const Identifier
&, PropertySlot
&); 
  35         virtual bool getOwnPropertyDescriptor(ExecState
*, const Identifier
&, PropertyDescriptor
&); 
  36         JSValue 
getValueProperty(ExecState
*, int token
) const; 
  38         static const ClassInfo s_info
; 
  40         static Structure
* createStructure(JSGlobalData
& globalData
, JSValue proto
)  
  42             return Structure::create(globalData
, proto
, TypeInfo(ObjectType
, StructureFlags
), AnonymousSlotCount
, &s_info
);  
  45         enum { NaNValue
, NegInfinity
, PosInfinity
, MaxValue
, MinValue 
}; 
  48         static const unsigned StructureFlags 
= OverridesGetOwnPropertySlot 
| ImplementsHasInstance 
| InternalFunction::StructureFlags
; 
  51         virtual ConstructType 
getConstructData(ConstructData
&); 
  52         virtual CallType 
getCallData(CallData
&); 
  57 #endif // NumberConstructor_h