|
|
| version 1.8, 2001/02/23 21:59:07 | version 1.12, 2001/02/24 13:21:58 |
|---|---|
| Line 24 public: // Value | Line 24 public: // Value |
| // $method=junction(this+method) | // $method=junction(this+method) |
| if(Method *method=static_cast<Method *>(methods.get(name))) { | if(Method *method=static_cast<Method *>(methods.get(name))) { |
| Junction& j=*NEW Junction(pool(), | Junction& j=*NEW Junction(pool(), |
| method, | *this, |
| this,this,this,0); | method,0,0,0,0); |
| return NEW VJunction(j); | return NEW VJunction(j); |
| } | } |
| Line 47 public: // Value | Line 47 public: // Value |
| if(this==&ancestor) | if(this==&ancestor) |
| return true; // it's me | return true; // it's me |
| return parents_hash.get(ancestor.name())!=0; | return parents_hash.get(*ancestor.name())!=0; |
| } | } |
| public: // usage | public: // usage |
| const String& name() const { return *fname; } | |
| public: // creation | VClass(Pool& apool, const Array& immediate_parents) : |
| VClass(Pool& apool, String& aname, const Array& immediate_parents) : | |
| Value(apool), | Value(apool), |
| fname(&aname), | |
| STATIC(apool), | STATIC(apool), |
| methods(apool), | methods(apool), |
| parents(apool), | parents(apool), |
| Line 66 public: // creation | Line 61 public: // creation |
| // TODO: monkey immediate_parents | // TODO: monkey immediate_parents |
| // fill parents & parents_hash | // fill parents & parents_hash |
| } | } |
| void rename(String *aname) { fname=aname; } | |
| void add_method(const String& name, Method& method) { | void add_method(const String& name, Method& method) { |
| methods.put(name, &method); | methods.put(name, &method); |
| } | } |
| void add_parent(VClass& parent) { | void add_parent(VClass& parent) { |
| parents+=&parent; | parents+=&parent; |
| parents_hash.put(parent.name(), &parent); | parents_hash.put(*parent.name(), &parent); |
| } | } |
| private: | public: //usage |
| String *fname; | |
| VHash STATIC; | VHash STATIC; |
| private: | |
| Hash methods; | Hash methods; |
| Array parents; Hash parents_hash; | Array parents; Hash parents_hash; |
| }; | }; |