Changeset 2760 in webkit for trunk/JavaScriptCore/kjs/nodes.h


Ignore:
Timestamp:
Nov 19, 2002, 2:02:26 PM (23 years ago)
Author:
darin
Message:

JavaScriptCore:

  • a first step towards atomic identifiers in JavaScript

Most places that work with identifiers now use Identifier
instead of UString.

  • kjs/identifier.cpp: Added.
  • kjs/identifier.h: Added.
  • JavaScriptCore.pbproj/project.pbxproj: Added files.
  • kjs/array_object.cpp:
  • kjs/array_object.h:
  • kjs/completion.cpp:
  • kjs/completion.h:
  • kjs/date_object.cpp:
  • kjs/date_object.h:
  • kjs/function.cpp:
  • kjs/function.h:
  • kjs/function_object.cpp:
  • kjs/grammar.cpp:
  • kjs/grammar.cpp.h:
  • kjs/grammar.h:
  • kjs/grammar.y:
  • kjs/internal.cpp:
  • kjs/internal.h:
  • kjs/lexer.cpp:
  • kjs/lookup.cpp:
  • kjs/lookup.h:
  • kjs/math_object.cpp:
  • kjs/math_object.h:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/number_object.cpp:
  • kjs/number_object.h:
  • kjs/object.cpp:
  • kjs/object.h:
  • kjs/property_map.cpp:
  • kjs/property_map.h:
  • kjs/reference.cpp:
  • kjs/reference.h:
  • kjs/regexp_object.cpp:
  • kjs/regexp_object.h:
  • kjs/string_object.cpp:
  • kjs/string_object.h:

WebCore:

  • a first step towards atomic identifiers in JavaScript

Most places that work with identifiers now use Identifier
instead of UString.

  • khtml/ecma/kjs_binding.cpp:
  • khtml/ecma/kjs_binding.h:
  • khtml/ecma/kjs_css.cpp:
  • khtml/ecma/kjs_css.h:
  • khtml/ecma/kjs_dom.cpp:
  • khtml/ecma/kjs_dom.h:
  • khtml/ecma/kjs_events.cpp:
  • khtml/ecma/kjs_events.h:
  • khtml/ecma/kjs_html.cpp:
  • khtml/ecma/kjs_html.h:
  • khtml/ecma/kjs_navigator.cpp:
  • khtml/ecma/kjs_navigator.h:
  • khtml/ecma/kjs_range.cpp:
  • khtml/ecma/kjs_range.h:
  • khtml/ecma/kjs_traversal.cpp:
  • khtml/ecma/kjs_traversal.h:
  • khtml/ecma/kjs_views.cpp:
  • khtml/ecma/kjs_views.h:
  • khtml/ecma/kjs_window.cpp:
  • khtml/ecma/kjs_window.h:
File:
1 edited

Legend:

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

    r1837 r2760  
    120120    bool abortStatement(ExecState *exec);
    121121    virtual Completion execute(ExecState *exec) = 0;
    122     void pushLabel(const UString *id) {
    123       if (id) ls.push(*id);
    124     }
     122    void pushLabel(const Identifier &id) { ls.push(id); }
    125123  protected:
    126124    LabelStack ls;
     
    185183  class ResolveNode : public Node {
    186184  public:
    187     ResolveNode(const UString *s) : ident(*s) { }
     185    ResolveNode(const Identifier &s) : ident(s) { }
    188186    Value evaluate(ExecState *exec);
    189187    virtual Reference evaluateReference(ExecState *exec);
    190188    virtual void streamTo(SourceStream &s) const;
    191189  private:
    192     UString ident;
     190    Identifier ident;
    193191  };
    194192
     
    273271  public:
    274272    PropertyNode(double d) : numeric(d) { }
    275     PropertyNode(const UString *s) : str(*s) { }
     273    PropertyNode(const Identifier &s) : str(s) { }
    276274    Value evaluate(ExecState *exec);
    277275    virtual void streamTo(SourceStream &s) const;
    278276  private:
    279277    double numeric;
    280     UString str;
     278    Identifier str;
    281279  };
    282280
     
    296294  class AccessorNode2 : public Node {
    297295  public:
    298     AccessorNode2(Node *e, const UString *s) : expr(e), ident(*s) { }
     296    AccessorNode2(Node *e, const Identifier &s) : expr(e), ident(s) { }
    299297    virtual void ref();
    300298    virtual bool deref();
     
    304302  private:
    305303    Node *expr;
    306     UString ident;
     304    Identifier ident;
    307305  };
    308306
     
    617615  class VarDeclNode : public Node {
    618616  public:
    619     VarDeclNode(const UString *id, AssignExprNode *in);
    620     virtual void ref();
    621     virtual bool deref();
    622     Value evaluate(ExecState *exec);
    623     virtual void processVarDecls(ExecState *exec);
    624     virtual void streamTo(SourceStream &s) const;
    625   private:
    626     UString ident;
     617    VarDeclNode(const Identifier &id, AssignExprNode *in);
     618    virtual void ref();
     619    virtual bool deref();
     620    Value evaluate(ExecState *exec);
     621    virtual void processVarDecls(ExecState *exec);
     622    virtual void streamTo(SourceStream &s) const;
     623  private:
     624    Identifier ident;
    627625    AssignExprNode *init;
    628626  };
     
    741739  public:
    742740    ForInNode(Node *l, Node *e, StatementNode *s);
    743     ForInNode(const UString *i, AssignExprNode *in, Node *e, StatementNode *s);
    744     virtual void ref();
    745     virtual bool deref();
    746     virtual Completion execute(ExecState *exec);
    747     virtual void processVarDecls(ExecState *exec);
    748     virtual void streamTo(SourceStream &s) const;
    749   private:
    750     UString ident;
     741    ForInNode(const Identifier &i, AssignExprNode *in, Node *e, StatementNode *s);
     742    virtual void ref();
     743    virtual bool deref();
     744    virtual Completion execute(ExecState *exec);
     745    virtual void processVarDecls(ExecState *exec);
     746    virtual void streamTo(SourceStream &s) const;
     747  private:
     748    Identifier ident;
    751749    AssignExprNode *init;
    752750    Node *lexpr, *expr;
     
    758756  public:
    759757    ContinueNode() { }
    760     ContinueNode(const UString *i) : ident(*i) { }
    761     virtual Completion execute(ExecState *exec);
    762     virtual void streamTo(SourceStream &s) const;
    763   private:
    764     UString ident;
     758    ContinueNode(const Identifier &i) : ident(i) { }
     759    virtual Completion execute(ExecState *exec);
     760    virtual void streamTo(SourceStream &s) const;
     761  private:
     762    Identifier ident;
    765763  };
    766764
     
    768766  public:
    769767    BreakNode() { }
    770     BreakNode(const UString *i) : ident(*i) { }
    771     virtual Completion execute(ExecState *exec);
    772     virtual void streamTo(SourceStream &s) const;
    773   private:
    774     UString ident;
     768    BreakNode(const Identifier &i) : ident(i) { }
     769    virtual Completion execute(ExecState *exec);
     770    virtual void streamTo(SourceStream &s) const;
     771  private:
     772    Identifier ident;
    775773  };
    776774
     
    860858  class LabelNode : public StatementNode {
    861859  public:
    862     LabelNode(const UString *l, StatementNode *s) : label(*l), statement(s) { }
    863     virtual void ref();
    864     virtual bool deref();
    865     virtual Completion execute(ExecState *exec);
    866     virtual void processVarDecls(ExecState *exec);
    867     virtual void streamTo(SourceStream &s) const;
    868   private:
    869     UString label;
     860    LabelNode(const Identifier &l, StatementNode *s) : label(l), statement(s) { }
     861    virtual void ref();
     862    virtual bool deref();
     863    virtual Completion execute(ExecState *exec);
     864    virtual void processVarDecls(ExecState *exec);
     865    virtual void streamTo(SourceStream &s) const;
     866  private:
     867    Identifier label;
    870868    StatementNode *statement;
    871869  };
     
    884882  class CatchNode : public StatementNode {
    885883  public:
    886     CatchNode(const UString *i, StatementNode *b) : ident(*i), block(b) {}
     884    CatchNode(const Identifier &i, StatementNode *b) : ident(i), block(b) {}
    887885    virtual void ref();
    888886    virtual bool deref();
     
    892890    virtual void streamTo(SourceStream &s) const;
    893891  private:
    894     UString ident;
     892    Identifier ident;
    895893    StatementNode *block;
    896894  };
     
    925923  class ParameterNode : public Node {
    926924  public:
    927     ParameterNode(const UString *i) : id(*i), next(0L) { }
    928     ParameterNode *append(const UString *i);
    929     virtual void ref();
    930     virtual bool deref();
    931     Value evaluate(ExecState *exec);
    932     UString ident() { return id; }
     925    ParameterNode(const Identifier &i) : id(i), next(0L) { }
     926    ParameterNode *append(const Identifier &i);
     927    virtual void ref();
     928    virtual bool deref();
     929    Value evaluate(ExecState *exec);
     930    Identifier ident() { return id; }
    933931    ParameterNode *nextParam() { return next; }
    934932    virtual void streamTo(SourceStream &s) const;
    935933  private:
    936     UString id;
     934    Identifier id;
    937935    ParameterNode *next;
    938936  };
     
    954952  class FuncDeclNode : public StatementNode {
    955953  public:
    956     FuncDeclNode(const UString *i, ParameterNode *p, FunctionBodyNode *b)
    957       : ident(*i), param(p), body(b) { }
     954    FuncDeclNode(const Identifier &i, ParameterNode *p, FunctionBodyNode *b)
     955      : ident(i), param(p), body(b) { }
    958956    virtual void ref();
    959957    virtual bool deref();
     
    963961    virtual void streamTo(SourceStream &s) const;
    964962  private:
    965     UString ident;
     963    Identifier ident;
    966964    ParameterNode *param;
    967965    FunctionBodyNode *body;
Note: See TracChangeset for help on using the changeset viewer.