reference.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _KJS_REFERENCE_H_
00024 #define _KJS_REFERENCE_H_
00025
00026 #include "identifier.h"
00027 #include "value.h"
00028
00029 namespace KJS {
00030
00031
00032 class Reference : public Value {
00033
00034
00035 friend class ReferenceList;
00036 friend class ReferenceListIterator;
00037 public:
00038 Reference(const Object& b, const Identifier& p);
00039 Reference(const Object& b, unsigned p);
00040 Reference(ObjectImp *b, const Identifier& p);
00041 Reference(ObjectImp *b, unsigned p);
00042 Reference(const Null& b, const Identifier& p);
00043 Reference(const Null& b, unsigned p);
00044 static Reference makeValueReference(const Value& v);
00045
00052 Value getBase(ExecState *exec) const;
00053
00058 Identifier getPropertyName(ExecState *exec) const;
00059
00064 Value getValue(ExecState *exec) const;
00065
00070 void putValue(ExecState *exec, const Value &w);
00071 bool deleteValue(ExecState *exec);
00072
00073 bool isMutable();
00074
00075 private:
00076 Reference();
00077
00078 Value base;
00079 unsigned propertyNameAsNumber;
00080 bool baseIsValue;
00081 bool propertyNameIsNumber;
00082 mutable Identifier prop;
00083 };
00084 }
00085
00086 #endif
This file is part of the documentation for kjs Library Version 3.2.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Mar 4 22:44:08 2004 by
doxygen 1.3.6-20040222 written by
Dimitri van Heesch, © 1997-2003