Changeset 33979 in webkit for trunk/JavaScriptCore/kjs/function.h


Ignore:
Timestamp:
May 21, 2008, 6:20:45 PM (17 years ago)
Author:
[email protected]
Message:

Merge squirrelfish branch into trunk.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/function.h

    r33972 r33979  
    2727
    2828#include "JSVariableObject.h"
    29 #include "LocalStorageEntry.h"
    3029#include "SymbolTable.h"
    3130#include "nodes.h"
     
    3433namespace KJS {
    3534
    36   class ActivationImp;
    3735  class FunctionBodyNode;
    3836  class FunctionPrototype;
     37  class JSActivation;
    3938  class JSGlobalObject;
    4039
     
    4443    InternalFunctionImp(FunctionPrototype*, const Identifier&);
    4544
    46     virtual bool implementsCall() const;
     45    virtual CallType getCallData(CallData&);
     46
    4747    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObjec, const List& args) = 0;
    4848    virtual bool implementsHasInstance() const;
     
    5757
    5858  class FunctionImp : public InternalFunctionImp {
    59     friend class ActivationImp;
    6059  public:
    61     FunctionImp(ExecState*, const Identifier& name, FunctionBodyNode*, const ScopeChain&);
     60    FunctionImp(ExecState*, const Identifier&, FunctionBodyNode*, ScopeChainNode*);
    6261
    6362    virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     
    6564    virtual bool deleteProperty(ExecState*, const Identifier& propertyName);
    6665
    67     virtual bool implementsConstruct() const { return true; }
     66    virtual ConstructType getConstructData(ConstructData&);
    6867    virtual JSObject* construct(ExecState*, const List& args);
    69    
     68
     69    virtual CallType getCallData(CallData&);
    7070    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const List& args);
    7171
     
    8080
    8181    void setScope(const ScopeChain& s) { _scope = s; }
    82     const ScopeChain& scope() const { return _scope; }
     82    ScopeChain& scope() { return _scope; }
    8383
    8484    virtual void mark();
     
    108108  class Arguments : public JSObject {
    109109  public:
    110     Arguments(ExecState*, FunctionImp* func, const List& args, ActivationImp* act);
     110    Arguments(ExecState*, FunctionImp* func, const List& args, JSActivation* act);
    111111    virtual void mark();
    112112    virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     
    118118    static JSValue* mappedIndexGetter(ExecState*, JSObject*, const Identifier&, const PropertySlot& slot);
    119119
    120     ActivationImp* _activationObject;
     120    JSActivation* _activationObject;
    121121    mutable IndexToNameMap indexToNameMap;
    122122  };
     
    169169#endif
    170170
    171     JSValue* eval(ExecState*, const ScopeChain&, JSVariableObject*, JSGlobalObject*, JSObject* thisObj, const List& args);
    172 
    173171    static const double mantissaOverflowLowerBound = 9007199254740992.0;
    174172    double parseIntOverflow(const char*, int length, int radix);
Note: See TracChangeset for help on using the changeset viewer.