webengine/osswebengine/JavaScriptCore/kjs/Parser.cpp
changeset 13 10e98eab6f85
parent 0 dd21522fd290
equal deleted inserted replaced
8:7c90e6132015 13:10e98eab6f85
    34 
    34 
    35 namespace KJS {
    35 namespace KJS {
    36 
    36 
    37 int Parser::sid = 0;
    37 int Parser::sid = 0;
    38 
    38 
    39 static RefPtr<ProgramNode>* progNode;
    39 static RefPtr<ProgramNode>* progNode = 0;
    40 static HashSet<Node*>* nodeCycles;
    40 static HashSet<Node*>* nodeCycles;
       
    41 
       
    42 struct cleanupProgNode {
       
    43     ~cleanupProgNode() {
       
    44         if( progNode ) {
       
    45             delete progNode;
       
    46             progNode=0;
       
    47         }
       
    48     }
       
    49 };
       
    50 static cleanupProgNode cleanProgNode;
    41 
    51 
    42 void Parser::noteNodeCycle(Node *node)
    52 void Parser::noteNodeCycle(Node *node)
    43 {
    53 {
    44     if (!nodeCycles)
    54     if (!nodeCycles)
    45         nodeCycles = new HashSet<Node*>;
    55         nodeCycles = new HashSet<Node*>;