Changeset 29825 in webkit for trunk/JavaScriptCore
- Timestamp:
- Jan 27, 2008, 4:14:24 PM (17 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r29818 r29825 1 2008-01-27 Sam Weinig <[email protected]> 2 3 Reviewed by Oliver Hunt. 4 5 Patch for http://bugs.webkit.org/show_bug.cgi?id=17025 6 nodes.h/cpp has been rolling around in the mud - lets hose it down 7 8 - Rename member variables to use the m_ prefix. 9 10 (NOTE: Specific changed functions elided for space and clarity) 11 * kjs/grammar.y: 12 * kjs/nodes.cpp: 13 * kjs/nodes.h: 14 * kjs/nodes2string.cpp: 15 1 16 2008-01-27 Darin Adler <[email protected]> 2 17 -
trunk/JavaScriptCore/kjs/grammar.y
r29059 r29825 128 128 { 129 129 unsigned attrs = DeclarationStacks::IsConstant; 130 if (decl-> init)130 if (decl->m_init) 131 131 attrs |= DeclarationStacks::HasInitializer; 132 appendToVarDeclarationList(varDecls, decl-> ident, attrs);132 appendToVarDeclarationList(varDecls, decl->m_ident, attrs); 133 133 } 134 134 … … 792 792 | ConstDeclarationList ',' ConstDeclaration 793 793 { $$.m_node.head = $1.m_node.head; 794 $1.m_node.tail-> next = $3;794 $1.m_node.tail->m_next = $3; 795 795 $$.m_node.tail = $3; 796 796 $$.m_varDeclarations = $1.m_varDeclarations; -
trunk/JavaScriptCore/kjs/nodes.cpp
r29818 r29825 536 536 { 537 537 // Check for missed optimization opportunity. 538 ASSERT(!canSkipLookup(exec, ident));538 ASSERT(!canSkipLookup(exec, m_ident)); 539 539 540 540 const ScopeChain& chain = exec->scopeChain(); … … 549 549 JSObject *o = *iter; 550 550 551 if (o->getPropertySlot(exec, ident, slot))552 return slot.getValue(exec, o, ident);551 if (o->getPropertySlot(exec, m_ident, slot)) 552 return slot.getValue(exec, o, m_ident); 553 553 554 554 ++iter; 555 555 } while (iter != end); 556 556 557 return throwUndefinedVariableError(exec, ident);557 return throwUndefinedVariableError(exec, m_ident); 558 558 } 559 559 … … 593 593 void ResolveNode::optimizeVariableAccess(const SymbolTable& symbolTable, const LocalStorage&, NodeStack&) 594 594 { 595 size_t index = symbolTable.get( ident.ustring().rep());595 size_t index = symbolTable.get(m_ident.ustring().rep()); 596 596 if (index != missingSymbolMarker()) 597 597 new (this) LocalVarAccessNode(index); … … 601 601 { 602 602 ASSERT(exec->variableObject() == exec->scopeChain().top()); 603 return exec->localStorage()[ index].value;603 return exec->localStorage()[m_index].value; 604 604 } 605 605 … … 633 633 void ElementNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 634 634 { 635 if ( next)636 nodeStack.append( next.get());637 ASSERT( node);638 nodeStack.append( node.get());635 if (m_next) 636 nodeStack.append(m_next.get()); 637 ASSERT(m_node); 638 nodeStack.append(m_node.get()); 639 639 } 640 640 … … 644 644 JSObject* array = exec->lexicalGlobalObject()->arrayConstructor()->construct(exec, exec->emptyList()); 645 645 int length = 0; 646 for (ElementNode *n = this; n; n = n-> next.get()) {647 JSValue *val = n-> node->evaluate(exec);646 for (ElementNode *n = this; n; n = n->m_next.get()) { 647 JSValue *val = n->m_node->evaluate(exec); 648 648 KJS_CHECKEXCEPTIONVALUE 649 length += n-> elision;649 length += n->m_elision; 650 650 array->put(exec, length++, val); 651 651 } … … 657 657 void ArrayNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 658 658 { 659 if ( element)660 nodeStack.append( element.get());659 if (m_element) 660 nodeStack.append(m_element.get()); 661 661 } 662 662 … … 668 668 int length; 669 669 670 if ( element) {671 array = static_cast<JSObject*>( element->evaluate(exec));670 if (m_element) { 671 array = static_cast<JSObject*>(m_element->evaluate(exec)); 672 672 KJS_CHECKEXCEPTIONVALUE 673 length = opt ? array->get(exec, exec->propertyNames().length)->toInt32(exec) : 0;673 length = m_opt ? array->get(exec, exec->propertyNames().length)->toInt32(exec) : 0; 674 674 } else { 675 675 JSValue* newArr = exec->lexicalGlobalObject()->arrayConstructor()->construct(exec, exec->emptyList()); … … 678 678 } 679 679 680 if ( opt)681 array->put(exec, exec->propertyNames().length, jsNumber( elision + length), DontEnum | DontDelete);680 if (m_opt) 681 array->put(exec, exec->propertyNames().length, jsNumber(m_elision + length), DontEnum | DontDelete); 682 682 683 683 return array; … … 688 688 void ObjectLiteralNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 689 689 { 690 if ( list)691 nodeStack.append( list.get());690 if (m_list) 691 nodeStack.append(m_list.get()); 692 692 } 693 693 … … 695 695 JSValue *ObjectLiteralNode::evaluate(ExecState *exec) 696 696 { 697 if ( list)698 return list->evaluate(exec);697 if (m_list) 698 return m_list->evaluate(exec); 699 699 700 700 return exec->lexicalGlobalObject()->objectConstructor()->construct(exec, exec->emptyList()); … … 705 705 void PropertyListNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 706 706 { 707 if ( next)708 nodeStack.append( next.get());709 nodeStack.append( node.get());707 if (m_next) 708 nodeStack.append(m_next.get()); 709 nodeStack.append(m_node.get()); 710 710 } 711 711 … … 715 715 JSObject* obj = exec->lexicalGlobalObject()->objectConstructor()->construct(exec, exec->emptyList()); 716 716 717 for (PropertyListNode *p = this; p; p = p-> next.get()) {718 JSValue *v = p-> node->assign->evaluate(exec);717 for (PropertyListNode *p = this; p; p = p->m_next.get()) { 718 JSValue *v = p->m_node->m_assign->evaluate(exec); 719 719 KJS_CHECKEXCEPTIONVALUE 720 720 721 switch (p-> node->type) {721 switch (p->m_node->m_type) { 722 722 case PropertyNode::Getter: 723 723 ASSERT(v->isObject()); 724 obj->defineGetter(exec, p-> node->name(), static_cast<JSObject *>(v));724 obj->defineGetter(exec, p->m_node->name(), static_cast<JSObject *>(v)); 725 725 break; 726 726 case PropertyNode::Setter: 727 727 ASSERT(v->isObject()); 728 obj->defineSetter(exec, p-> node->name(), static_cast<JSObject *>(v));728 obj->defineSetter(exec, p->m_node->name(), static_cast<JSObject *>(v)); 729 729 break; 730 730 case PropertyNode::Constant: 731 obj->put(exec, p-> node->name(), v);731 obj->put(exec, p->m_node->name(), v); 732 732 break; 733 733 } … … 741 741 void PropertyNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 742 742 { 743 nodeStack.append( assign.get());743 nodeStack.append(m_assign.get()); 744 744 } 745 745 … … 755 755 void BracketAccessorNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 756 756 { 757 nodeStack.append( expr2.get());758 nodeStack.append( expr1.get());757 nodeStack.append(m_subscript.get()); 758 nodeStack.append(m_base.get()); 759 759 } 760 760 … … 762 762 JSValue* BracketAccessorNode::inlineEvaluate(ExecState* exec) 763 763 { 764 JSValue* v1 = expr1->evaluate(exec);765 KJS_CHECKEXCEPTIONVALUE 766 JSValue* v2 = expr2->evaluate(exec);764 JSValue* v1 = m_base->evaluate(exec); 765 KJS_CHECKEXCEPTIONVALUE 766 JSValue* v2 = m_subscript->evaluate(exec); 767 767 KJS_CHECKEXCEPTIONVALUE 768 768 JSObject* o = v1->toObject(exec); … … 810 810 void DotAccessorNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 811 811 { 812 nodeStack.append( expr.get());812 nodeStack.append(m_base.get()); 813 813 } 814 814 … … 816 816 JSValue* DotAccessorNode::inlineEvaluate(ExecState* exec) 817 817 { 818 JSValue* v = expr->evaluate(exec);818 JSValue* v = m_base->evaluate(exec); 819 819 KJS_CHECKEXCEPTIONVALUE 820 return v->toObject(exec)->get(exec, ident);820 return v->toObject(exec)->get(exec, m_ident); 821 821 } 822 822 … … 858 858 void ArgumentListNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 859 859 { 860 if ( next)861 nodeStack.append( next.get());862 ASSERT( expr);863 nodeStack.append( expr.get());860 if (m_next) 861 nodeStack.append(m_next.get()); 862 ASSERT(m_expr); 863 nodeStack.append(m_expr.get()); 864 864 } 865 865 … … 867 867 void ArgumentListNode::evaluateList(ExecState* exec, List& list) 868 868 { 869 for (ArgumentListNode *n = this; n; n = n-> next.get()) {870 JSValue *v = n-> expr->evaluate(exec);869 for (ArgumentListNode *n = this; n; n = n->m_next.get()) { 870 JSValue *v = n->m_expr->evaluate(exec); 871 871 KJS_CHECKEXCEPTIONVOID 872 872 list.append(v); … … 878 878 void ArgumentsNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 879 879 { 880 if ( listNode)881 nodeStack.append( listNode.get());880 if (m_listNode) 881 nodeStack.append(m_listNode.get()); 882 882 } 883 883 … … 886 886 void NewExprNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 887 887 { 888 if ( args)889 nodeStack.append( args.get());890 nodeStack.append( expr.get());888 if (m_args) 889 nodeStack.append(m_args.get()); 890 nodeStack.append(m_expr.get()); 891 891 } 892 892 … … 895 895 JSValue* NewExprNode::inlineEvaluate(ExecState* exec) 896 896 { 897 JSValue* v = expr->evaluate(exec);897 JSValue* v = m_expr->evaluate(exec); 898 898 KJS_CHECKEXCEPTIONVALUE 899 899 900 900 List argList; 901 if ( args) {902 args->evaluateList(exec, argList);901 if (m_args) { 902 m_args->evaluateList(exec, argList); 903 903 KJS_CHECKEXCEPTIONVALUE 904 904 } 905 905 906 906 if (!v->isObject()) 907 return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with new.", v, expr.get());907 return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with new.", v, m_expr.get()); 908 908 909 909 JSObject *constr = static_cast<JSObject*>(v); 910 910 if (!constr->implementsConstruct()) 911 return throwError(exec, TypeError, "Value %s (result of expression %s) is not a constructor. Cannot be used with new.", v, expr.get());911 return throwError(exec, TypeError, "Value %s (result of expression %s) is not a constructor. Cannot be used with new.", v, m_expr.get()); 912 912 913 913 return constr->construct(exec, argList); … … 949 949 void FunctionCallValueNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 950 950 { 951 nodeStack.append( args.get());952 nodeStack.append( expr.get());951 nodeStack.append(m_args.get()); 952 nodeStack.append(m_expr.get()); 953 953 } 954 954 … … 956 956 JSValue *FunctionCallValueNode::evaluate(ExecState *exec) 957 957 { 958 JSValue *v = expr->evaluate(exec);958 JSValue *v = m_expr->evaluate(exec); 959 959 KJS_CHECKEXCEPTIONVALUE 960 960 961 961 if (!v->isObject()) { 962 return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, expr.get());962 return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, m_expr.get()); 963 963 } 964 964 … … 966 966 967 967 if (!func->implementsCall()) { 968 return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, expr.get());968 return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, m_expr.get()); 969 969 } 970 970 971 971 List argList; 972 args->evaluateList(exec, argList);972 m_args->evaluateList(exec, argList); 973 973 KJS_CHECKEXCEPTIONVALUE 974 974 … … 980 980 void FunctionCallResolveNode::optimizeVariableAccess(const SymbolTable& symbolTable, const LocalStorage&, NodeStack& nodeStack) 981 981 { 982 nodeStack.append( args.get());983 984 size_t index = symbolTable.get( ident.ustring().rep());982 nodeStack.append(m_args.get()); 983 984 size_t index = symbolTable.get(m_ident.ustring().rep()); 985 985 if (index != missingSymbolMarker()) 986 986 new (this) LocalVarFunctionCallNode(index); … … 991 991 { 992 992 // Check for missed optimization opportunity. 993 ASSERT(!canSkipLookup(exec, ident));993 ASSERT(!canSkipLookup(exec, m_ident)); 994 994 995 995 const ScopeChain& chain = exec->scopeChain(); … … 1001 1001 1002 1002 PropertySlot slot; 1003 JSObject *base;1003 JSObject* base; 1004 1004 do { 1005 1005 base = *iter; 1006 if (base->getPropertySlot(exec, ident, slot)) {1007 JSValue *v = slot.getValue(exec, base,ident);1006 if (base->getPropertySlot(exec, m_ident, slot)) { 1007 JSValue* v = slot.getValue(exec, base, m_ident); 1008 1008 KJS_CHECKEXCEPTIONVALUE 1009 1009 1010 1010 if (!v->isObject()) 1011 return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, ident);1011 return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, m_ident); 1012 1012 1013 1013 JSObject *func = static_cast<JSObject*>(v); 1014 1014 1015 1015 if (!func->implementsCall()) 1016 return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, ident);1016 return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, m_ident); 1017 1017 1018 1018 List argList; 1019 args->evaluateList(exec, argList);1019 m_args->evaluateList(exec, argList); 1020 1020 KJS_CHECKEXCEPTIONVALUE 1021 1021 … … 1035 1035 } while (iter != end); 1036 1036 1037 return throwUndefinedVariableError(exec, ident);1037 return throwUndefinedVariableError(exec, m_ident); 1038 1038 } 1039 1039 … … 1075 1075 ASSERT(exec->variableObject() == exec->scopeChain().top()); 1076 1076 1077 JSValue* v = exec->localStorage()[ index].value;1077 JSValue* v = exec->localStorage()[m_index].value; 1078 1078 1079 1079 if (!v->isObject()) 1080 return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, ident);1080 return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, m_ident); 1081 1081 1082 1082 JSObject* func = static_cast<JSObject*>(v); 1083 1083 if (!func->implementsCall()) 1084 return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, ident);1084 return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, m_ident); 1085 1085 1086 1086 List argList; 1087 args->evaluateList(exec, argList);1087 m_args->evaluateList(exec, argList); 1088 1088 KJS_CHECKEXCEPTIONVALUE 1089 1089 … … 1126 1126 void FunctionCallBracketNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 1127 1127 { 1128 nodeStack.append( args.get());1129 nodeStack.append( subscript.get());1130 nodeStack.append( base.get());1128 nodeStack.append(m_args.get()); 1129 nodeStack.append(m_subscript.get()); 1130 nodeStack.append(m_base.get()); 1131 1131 } 1132 1132 … … 1134 1134 JSValue *FunctionCallBracketNode::evaluate(ExecState *exec) 1135 1135 { 1136 JSValue *baseVal = base->evaluate(exec);1137 KJS_CHECKEXCEPTIONVALUE 1138 1139 JSValue *subscriptVal = subscript->evaluate(exec);1136 JSValue *baseVal = m_base->evaluate(exec); 1137 KJS_CHECKEXCEPTIONVALUE 1138 1139 JSValue *subscriptVal = m_subscript->evaluate(exec); 1140 1140 1141 1141 JSObject *baseObj = baseVal->toObject(exec); … … 1160 1160 1161 1161 if (!funcVal->isObject()) { 1162 return throwError(exec, TypeError, "Value %s (result of expression %s[%s]) is not object.", funcVal, base.get(),subscript.get());1162 return throwError(exec, TypeError, "Value %s (result of expression %s[%s]) is not object.", funcVal, m_base.get(), m_subscript.get()); 1163 1163 } 1164 1164 … … 1166 1166 1167 1167 if (!func->implementsCall()) { 1168 return throwError(exec, TypeError, "Object %s (result of expression %s[%s]) does not allow calls.", funcVal, base.get(),subscript.get());1168 return throwError(exec, TypeError, "Object %s (result of expression %s[%s]) does not allow calls.", funcVal, m_base.get(), m_subscript.get()); 1169 1169 } 1170 1170 1171 1171 List argList; 1172 args->evaluateList(exec, argList);1172 m_args->evaluateList(exec, argList); 1173 1173 KJS_CHECKEXCEPTIONVALUE 1174 1174 … … 1195 1195 void FunctionCallDotNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 1196 1196 { 1197 nodeStack.append( args.get());1198 nodeStack.append( base.get());1197 nodeStack.append(m_args.get()); 1198 nodeStack.append(m_base.get()); 1199 1199 } 1200 1200 … … 1202 1202 JSValue* FunctionCallDotNode::inlineEvaluate(ExecState* exec) 1203 1203 { 1204 JSValue *baseVal = base->evaluate(exec);1204 JSValue *baseVal = m_base->evaluate(exec); 1205 1205 KJS_CHECKEXCEPTIONVALUE 1206 1206 1207 1207 JSObject *baseObj = baseVal->toObject(exec); 1208 1208 PropertySlot slot; 1209 JSValue *funcVal = baseObj->getPropertySlot(exec, ident, slot) ? slot.getValue(exec, baseObj,ident) : jsUndefined();1209 JSValue *funcVal = baseObj->getPropertySlot(exec, m_ident, slot) ? slot.getValue(exec, baseObj, m_ident) : jsUndefined(); 1210 1210 KJS_CHECKEXCEPTIONVALUE 1211 1211 1212 1212 if (!funcVal->isObject()) 1213 return throwError(exec, TypeError, dotExprNotAnObjectString(), funcVal, base.get(),ident);1213 return throwError(exec, TypeError, dotExprNotAnObjectString(), funcVal, m_base.get(), m_ident); 1214 1214 1215 1215 JSObject *func = static_cast<JSObject*>(funcVal); 1216 1216 1217 1217 if (!func->implementsCall()) 1218 return throwError(exec, TypeError, dotExprDoesNotAllowCallsString(), funcVal, base.get(),ident);1218 return throwError(exec, TypeError, dotExprDoesNotAllowCallsString(), funcVal, m_base.get(), m_ident); 1219 1219 1220 1220 List argList; 1221 args->evaluateList(exec, argList);1221 m_args->evaluateList(exec, argList); 1222 1222 KJS_CHECKEXCEPTIONVALUE 1223 1223 … … 1639 1639 void VoidNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 1640 1640 { 1641 nodeStack.append( expr.get());1641 nodeStack.append(m_expr.get()); 1642 1642 } 1643 1643 … … 1645 1645 JSValue *VoidNode::evaluate(ExecState *exec) 1646 1646 { 1647 expr->evaluate(exec);1647 m_expr->evaluate(exec); 1648 1648 KJS_CHECKEXCEPTIONVALUE 1649 1649 … … 2038 2038 void NegateNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2039 2039 { 2040 nodeStack.append( expr.get());2040 nodeStack.append(m_expr.get()); 2041 2041 } 2042 2042 2043 2043 // ECMA 11.4.7 2044 JSValue *NegateNode::evaluate(ExecState *exec)2044 JSValue* NegateNode::evaluate(ExecState* exec) 2045 2045 { 2046 2046 // No need to check exception, caller will do so right after evaluate() 2047 return jsNumber(- expr->evaluateToNumber(exec));2047 return jsNumber(-m_expr->evaluateToNumber(exec)); 2048 2048 } 2049 2049 … … 2051 2051 { 2052 2052 // No need to check exception, caller will do so right after evaluateToNumber() 2053 return - expr->evaluateToNumber(exec);2053 return -m_expr->evaluateToNumber(exec); 2054 2054 } 2055 2055 … … 2058 2058 void BitwiseNotNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2059 2059 { 2060 nodeStack.append( expr.get());2060 nodeStack.append(m_expr.get()); 2061 2061 } 2062 2062 … … 2064 2064 int32_t BitwiseNotNode::inlineEvaluateToInt32(ExecState* exec) 2065 2065 { 2066 return ~ expr->evaluateToInt32(exec);2066 return ~m_expr->evaluateToInt32(exec); 2067 2067 } 2068 2068 … … 2096 2096 void LogicalNotNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2097 2097 { 2098 nodeStack.append( expr.get());2098 nodeStack.append(m_expr.get()); 2099 2099 } 2100 2100 … … 2102 2102 JSValue* LogicalNotNode::evaluate(ExecState* exec) 2103 2103 { 2104 return jsBoolean(! expr->evaluateToBoolean(exec));2104 return jsBoolean(!m_expr->evaluateToBoolean(exec)); 2105 2105 } 2106 2106 2107 2107 bool LogicalNotNode::evaluateToBoolean(ExecState* exec) 2108 2108 { 2109 return ! expr->evaluateToBoolean(exec);2109 return !m_expr->evaluateToBoolean(exec); 2110 2110 } 2111 2111 … … 2114 2114 void MultNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2115 2115 { 2116 nodeStack.append( term1.get());2117 nodeStack.append( term2.get());2116 nodeStack.append(m_term1.get()); 2117 nodeStack.append(m_term2.get()); 2118 2118 } 2119 2119 … … 2121 2121 double MultNode::inlineEvaluateToNumber(ExecState* exec) 2122 2122 { 2123 double n1 = term1->evaluateToNumber(exec);2123 double n1 = m_term1->evaluateToNumber(exec); 2124 2124 KJS_CHECKEXCEPTIONNUMBER 2125 double n2 = term2->evaluateToNumber(exec);2125 double n2 = m_term2->evaluateToNumber(exec); 2126 2126 return n1 * n2; 2127 2127 } … … 2154 2154 void DivNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2155 2155 { 2156 nodeStack.append( term1.get());2157 nodeStack.append( term2.get());2156 nodeStack.append(m_term1.get()); 2157 nodeStack.append(m_term2.get()); 2158 2158 } 2159 2159 … … 2161 2161 double DivNode::inlineEvaluateToNumber(ExecState* exec) 2162 2162 { 2163 double n1 = term1->evaluateToNumber(exec);2163 double n1 = m_term1->evaluateToNumber(exec); 2164 2164 KJS_CHECKEXCEPTIONNUMBER 2165 double n2 = term2->evaluateToNumber(exec);2165 double n2 = m_term2->evaluateToNumber(exec); 2166 2166 return n1 / n2; 2167 2167 } … … 2189 2189 void ModNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2190 2190 { 2191 nodeStack.append( term1.get());2192 nodeStack.append( term2.get());2191 nodeStack.append(m_term1.get()); 2192 nodeStack.append(m_term2.get()); 2193 2193 } 2194 2194 … … 2196 2196 double ModNode::inlineEvaluateToNumber(ExecState* exec) 2197 2197 { 2198 double n1 = term1->evaluateToNumber(exec);2198 double n1 = m_term1->evaluateToNumber(exec); 2199 2199 KJS_CHECKEXCEPTIONNUMBER 2200 double n2 = term2->evaluateToNumber(exec);2200 double n2 = m_term2->evaluateToNumber(exec); 2201 2201 return fmod(n1, n2); 2202 2202 } … … 2326 2326 void AddNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2327 2327 { 2328 nodeStack.append( term1.get());2329 nodeStack.append( term2.get());2328 nodeStack.append(m_term1.get()); 2329 nodeStack.append(m_term2.get()); 2330 2330 } 2331 2331 … … 2333 2333 JSValue* AddNode::evaluate(ExecState* exec) 2334 2334 { 2335 JSValue* v1 = term1->evaluate(exec);2336 KJS_CHECKEXCEPTIONVALUE 2337 2338 JSValue* v2 = term2->evaluate(exec);2335 JSValue* v1 = m_term1->evaluate(exec); 2336 KJS_CHECKEXCEPTIONVALUE 2337 2338 JSValue* v2 = m_term2->evaluate(exec); 2339 2339 KJS_CHECKEXCEPTIONVALUE 2340 2340 … … 2344 2344 double AddNode::inlineEvaluateToNumber(ExecState* exec) 2345 2345 { 2346 JSValue* v1 = term1->evaluate(exec);2346 JSValue* v1 = m_term1->evaluate(exec); 2347 2347 KJS_CHECKEXCEPTIONNUMBER 2348 2348 2349 JSValue* v2 = term2->evaluate(exec);2349 JSValue* v2 = m_term2->evaluate(exec); 2350 2350 KJS_CHECKEXCEPTIONNUMBER 2351 2351 … … 2370 2370 double AddNumbersNode::inlineEvaluateToNumber(ExecState* exec) 2371 2371 { 2372 double n1 = term1->evaluateToNumber(exec);2372 double n1 = m_term1->evaluateToNumber(exec); 2373 2373 KJS_CHECKEXCEPTIONNUMBER 2374 double n2 = term2->evaluateToNumber(exec);2374 double n2 = m_term2->evaluateToNumber(exec); 2375 2375 return n1 + n2; 2376 2376 } … … 2398 2398 JSValue* AddStringsNode::evaluate(ExecState* exec) 2399 2399 { 2400 JSValue* v1 = term1->evaluate(exec);2400 JSValue* v1 = m_term1->evaluate(exec); 2401 2401 KJS_CHECKEXCEPTIONVALUE 2402 2402 2403 JSValue* v2 = term2->evaluate(exec);2403 JSValue* v2 = m_term2->evaluate(exec); 2404 2404 KJS_CHECKEXCEPTIONVALUE 2405 2405 … … 2409 2409 JSValue* AddStringLeftNode::evaluate(ExecState* exec) 2410 2410 { 2411 JSValue* v1 = term1->evaluate(exec);2411 JSValue* v1 = m_term1->evaluate(exec); 2412 2412 KJS_CHECKEXCEPTIONVALUE 2413 2413 2414 JSValue* v2 = term2->evaluate(exec);2414 JSValue* v2 = m_term2->evaluate(exec); 2415 2415 KJS_CHECKEXCEPTIONVALUE 2416 2416 … … 2421 2421 JSValue* AddStringRightNode::evaluate(ExecState* exec) 2422 2422 { 2423 JSValue* v1 = term1->evaluate(exec);2423 JSValue* v1 = m_term1->evaluate(exec); 2424 2424 KJS_CHECKEXCEPTIONVALUE 2425 2425 2426 JSValue* v2 = term2->evaluate(exec);2426 JSValue* v2 = m_term2->evaluate(exec); 2427 2427 KJS_CHECKEXCEPTIONVALUE 2428 2428 … … 2433 2433 void SubNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2434 2434 { 2435 nodeStack.append( term1.get());2436 nodeStack.append( term2.get());2435 nodeStack.append(m_term1.get()); 2436 nodeStack.append(m_term2.get()); 2437 2437 } 2438 2438 … … 2440 2440 double SubNode::inlineEvaluateToNumber(ExecState* exec) 2441 2441 { 2442 double n1 = term1->evaluateToNumber(exec);2442 double n1 = m_term1->evaluateToNumber(exec); 2443 2443 KJS_CHECKEXCEPTIONNUMBER 2444 double n2 = term2->evaluateToNumber(exec);2444 double n2 = m_term2->evaluateToNumber(exec); 2445 2445 return n1 - n2; 2446 2446 } … … 2470 2470 void LeftShiftNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2471 2471 { 2472 nodeStack.append( term1.get());2473 nodeStack.append( term2.get());2472 nodeStack.append(m_term1.get()); 2473 nodeStack.append(m_term2.get()); 2474 2474 } 2475 2475 … … 2477 2477 int32_t LeftShiftNode::inlineEvaluateToInt32(ExecState* exec) 2478 2478 { 2479 int i1 = term1->evaluateToInt32(exec);2479 int i1 = m_term1->evaluateToInt32(exec); 2480 2480 KJS_CHECKEXCEPTIONNUMBER 2481 unsigned int i2 = term2->evaluateToUInt32(exec) & 0x1f;2481 unsigned int i2 = m_term2->evaluateToUInt32(exec) & 0x1f; 2482 2482 return (i1 << i2); 2483 2483 } … … 2505 2505 void RightShiftNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2506 2506 { 2507 nodeStack.append( term1.get());2508 nodeStack.append( term2.get());2507 nodeStack.append(m_term1.get()); 2508 nodeStack.append(m_term2.get()); 2509 2509 } 2510 2510 … … 2512 2512 int32_t RightShiftNode::inlineEvaluateToInt32(ExecState* exec) 2513 2513 { 2514 int i1 = term1->evaluateToInt32(exec);2514 int i1 = m_term1->evaluateToInt32(exec); 2515 2515 KJS_CHECKEXCEPTIONNUMBER 2516 unsigned int i2 = term2->evaluateToUInt32(exec) & 0x1f;2516 unsigned int i2 = m_term2->evaluateToUInt32(exec) & 0x1f; 2517 2517 return (i1 >> i2); 2518 2518 } … … 2540 2540 void UnsignedRightShiftNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2541 2541 { 2542 nodeStack.append( term1.get());2543 nodeStack.append( term2.get());2542 nodeStack.append(m_term1.get()); 2543 nodeStack.append(m_term2.get()); 2544 2544 } 2545 2545 … … 2547 2547 uint32_t UnsignedRightShiftNode::inlineEvaluateToUInt32(ExecState* exec) 2548 2548 { 2549 unsigned int i1 = term1->evaluateToUInt32(exec);2549 unsigned int i1 = m_term1->evaluateToUInt32(exec); 2550 2550 KJS_CHECKEXCEPTIONNUMBER 2551 unsigned int i2 = term2->evaluateToUInt32(exec) & 0x1f;2551 unsigned int i2 = m_term2->evaluateToUInt32(exec) & 0x1f; 2552 2552 return (i1 >> i2); 2553 2553 } … … 2607 2607 void LessNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2608 2608 { 2609 nodeStack.append( expr2.get());2610 nodeStack.append( expr1.get());2609 nodeStack.append(m_expr2.get()); 2610 nodeStack.append(m_expr1.get()); 2611 2611 } 2612 2612 … … 2614 2614 bool LessNode::inlineEvaluateToBoolean(ExecState* exec) 2615 2615 { 2616 JSValue* v1 = expr1->evaluate(exec);2616 JSValue* v1 = m_expr1->evaluate(exec); 2617 2617 KJS_CHECKEXCEPTIONBOOLEAN 2618 JSValue* v2 = expr2->evaluate(exec);2618 JSValue* v2 = m_expr2->evaluate(exec); 2619 2619 KJS_CHECKEXCEPTIONBOOLEAN 2620 2620 return lessThan(exec, v1, v2); … … 2633 2633 bool LessNumbersNode::inlineEvaluateToBoolean(ExecState* exec) 2634 2634 { 2635 double n1 = expr1->evaluateToNumber(exec);2635 double n1 = m_expr1->evaluateToNumber(exec); 2636 2636 KJS_CHECKEXCEPTIONVALUE 2637 double n2 = expr2->evaluateToNumber(exec);2637 double n2 = m_expr2->evaluateToNumber(exec); 2638 2638 return n1 < n2; 2639 2639 } … … 2651 2651 bool LessStringsNode::inlineEvaluateToBoolean(ExecState* exec) 2652 2652 { 2653 JSValue* v1 = expr1->evaluate(exec);2653 JSValue* v1 = m_expr1->evaluate(exec); 2654 2654 KJS_CHECKEXCEPTIONVALUE 2655 JSValue* v2 = expr2->evaluate(exec);2655 JSValue* v2 = m_expr2->evaluate(exec); 2656 2656 return static_cast<StringImp*>(v1)->value() < static_cast<StringImp*>(v2)->value(); 2657 2657 } … … 2669 2669 void GreaterNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2670 2670 { 2671 nodeStack.append( expr2.get());2672 nodeStack.append( expr1.get());2671 nodeStack.append(m_expr2.get()); 2672 nodeStack.append(m_expr1.get()); 2673 2673 } 2674 2674 … … 2676 2676 bool GreaterNode::inlineEvaluateToBoolean(ExecState *exec) 2677 2677 { 2678 JSValue* v1 = expr1->evaluate(exec);2678 JSValue* v1 = m_expr1->evaluate(exec); 2679 2679 KJS_CHECKEXCEPTIONBOOLEAN 2680 JSValue* v2 = expr2->evaluate(exec);2680 JSValue* v2 = m_expr2->evaluate(exec); 2681 2681 KJS_CHECKEXCEPTIONBOOLEAN 2682 2682 return lessThan(exec, v2, v1); … … 2695 2695 void LessEqNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2696 2696 { 2697 nodeStack.append( expr2.get());2698 nodeStack.append( expr1.get());2697 nodeStack.append(m_expr2.get()); 2698 nodeStack.append(m_expr1.get()); 2699 2699 } 2700 2700 … … 2702 2702 bool LessEqNode::inlineEvaluateToBoolean(ExecState* exec) 2703 2703 { 2704 JSValue* v1 = expr1->evaluate(exec);2704 JSValue* v1 = m_expr1->evaluate(exec); 2705 2705 KJS_CHECKEXCEPTIONBOOLEAN 2706 JSValue* v2 = expr2->evaluate(exec);2706 JSValue* v2 = m_expr2->evaluate(exec); 2707 2707 KJS_CHECKEXCEPTIONBOOLEAN 2708 2708 return lessThanEq(exec, v1, v2); … … 2721 2721 void GreaterEqNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2722 2722 { 2723 nodeStack.append( expr2.get());2724 nodeStack.append( expr1.get());2723 nodeStack.append(m_expr2.get()); 2724 nodeStack.append(m_expr1.get()); 2725 2725 } 2726 2726 … … 2728 2728 bool GreaterEqNode::inlineEvaluateToBoolean(ExecState* exec) 2729 2729 { 2730 JSValue* v1 = expr1->evaluate(exec);2730 JSValue* v1 = m_expr1->evaluate(exec); 2731 2731 KJS_CHECKEXCEPTIONBOOLEAN 2732 JSValue* v2 = expr2->evaluate(exec);2732 JSValue* v2 = m_expr2->evaluate(exec); 2733 2733 KJS_CHECKEXCEPTIONBOOLEAN 2734 2734 return lessThanEq(exec, v2, v1); … … 2747 2747 void InstanceOfNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2748 2748 { 2749 nodeStack.append( expr2.get());2750 nodeStack.append( expr1.get());2749 nodeStack.append(m_expr2.get()); 2750 nodeStack.append(m_expr1.get()); 2751 2751 } 2752 2752 … … 2754 2754 JSValue* InstanceOfNode::evaluate(ExecState* exec) 2755 2755 { 2756 JSValue* v1 = expr1->evaluate(exec);2756 JSValue* v1 = m_expr1->evaluate(exec); 2757 2757 KJS_CHECKEXCEPTIONVALUE 2758 JSValue* v2 = expr2->evaluate(exec);2758 JSValue* v2 = m_expr2->evaluate(exec); 2759 2759 KJS_CHECKEXCEPTIONVALUE 2760 2760 2761 2761 if (!v2->isObject()) 2762 return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with instanceof operator.", v2, expr2.get());2762 return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with instanceof operator.", v2, m_expr2.get()); 2763 2763 2764 2764 JSObject* o2 = static_cast<JSObject*>(v2); … … 2776 2776 bool InstanceOfNode::evaluateToBoolean(ExecState* exec) 2777 2777 { 2778 JSValue* v1 = expr1->evaluate(exec);2778 JSValue* v1 = m_expr1->evaluate(exec); 2779 2779 KJS_CHECKEXCEPTIONBOOLEAN 2780 JSValue* v2 = expr2->evaluate(exec);2780 JSValue* v2 = m_expr2->evaluate(exec); 2781 2781 KJS_CHECKEXCEPTIONBOOLEAN 2782 2782 2783 2783 if (!v2->isObject()) { 2784 throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'instanceof' operator.", v2, expr2.get());2784 throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'instanceof' operator.", v2, m_expr2.get()); 2785 2785 return false; 2786 2786 } … … 2800 2800 void InNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2801 2801 { 2802 nodeStack.append( expr2.get());2803 nodeStack.append( expr1.get());2802 nodeStack.append(m_expr2.get()); 2803 nodeStack.append(m_expr1.get()); 2804 2804 } 2805 2805 … … 2807 2807 JSValue* InNode::evaluate(ExecState *exec) 2808 2808 { 2809 JSValue* v1 = expr1->evaluate(exec);2809 JSValue* v1 = m_expr1->evaluate(exec); 2810 2810 KJS_CHECKEXCEPTIONVALUE 2811 JSValue* v2 = expr2->evaluate(exec);2811 JSValue* v2 = m_expr2->evaluate(exec); 2812 2812 KJS_CHECKEXCEPTIONVALUE 2813 2813 2814 2814 if (!v2->isObject()) 2815 return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'in' operator.", v2, expr2.get());2815 return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'in' operator.", v2, m_expr2.get()); 2816 2816 2817 2817 return jsBoolean(static_cast<JSObject*>(v2)->hasProperty(exec, Identifier(v1->toString(exec)))); … … 2820 2820 bool InNode::evaluateToBoolean(ExecState *exec) 2821 2821 { 2822 JSValue* v1 = expr1->evaluate(exec);2822 JSValue* v1 = m_expr1->evaluate(exec); 2823 2823 KJS_CHECKEXCEPTIONBOOLEAN 2824 JSValue* v2 = expr2->evaluate(exec);2824 JSValue* v2 = m_expr2->evaluate(exec); 2825 2825 KJS_CHECKEXCEPTIONBOOLEAN 2826 2826 2827 2827 if (!v2->isObject()) { 2828 throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'in' operator.", v2, expr2.get());2828 throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'in' operator.", v2, m_expr2.get()); 2829 2829 return false; 2830 2830 } … … 2837 2837 void EqualNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2838 2838 { 2839 nodeStack.append( expr2.get());2840 nodeStack.append( expr1.get());2839 nodeStack.append(m_expr2.get()); 2840 nodeStack.append(m_expr1.get()); 2841 2841 } 2842 2842 … … 2844 2844 bool EqualNode::inlineEvaluateToBoolean(ExecState* exec) 2845 2845 { 2846 JSValue* v1 = expr1->evaluate(exec);2846 JSValue* v1 = m_expr1->evaluate(exec); 2847 2847 KJS_CHECKEXCEPTIONBOOLEAN 2848 JSValue* v2 = expr2->evaluate(exec);2848 JSValue* v2 = m_expr2->evaluate(exec); 2849 2849 KJS_CHECKEXCEPTIONBOOLEAN 2850 2850 … … 2864 2864 void NotEqualNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2865 2865 { 2866 nodeStack.append( expr2.get());2867 nodeStack.append( expr1.get());2866 nodeStack.append(m_expr2.get()); 2867 nodeStack.append(m_expr1.get()); 2868 2868 } 2869 2869 … … 2871 2871 bool NotEqualNode::inlineEvaluateToBoolean(ExecState* exec) 2872 2872 { 2873 JSValue* v1 = expr1->evaluate(exec);2873 JSValue* v1 = m_expr1->evaluate(exec); 2874 2874 KJS_CHECKEXCEPTIONBOOLEAN 2875 JSValue* v2 = expr2->evaluate(exec);2875 JSValue* v2 = m_expr2->evaluate(exec); 2876 2876 KJS_CHECKEXCEPTIONBOOLEAN 2877 2877 … … 2891 2891 void StrictEqualNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2892 2892 { 2893 nodeStack.append( expr2.get());2894 nodeStack.append( expr1.get());2893 nodeStack.append(m_expr2.get()); 2894 nodeStack.append(m_expr1.get()); 2895 2895 } 2896 2896 … … 2898 2898 bool StrictEqualNode::inlineEvaluateToBoolean(ExecState* exec) 2899 2899 { 2900 JSValue* v1 = expr1->evaluate(exec);2900 JSValue* v1 = m_expr1->evaluate(exec); 2901 2901 KJS_CHECKEXCEPTIONBOOLEAN 2902 JSValue* v2 = expr2->evaluate(exec);2902 JSValue* v2 = m_expr2->evaluate(exec); 2903 2903 KJS_CHECKEXCEPTIONBOOLEAN 2904 2904 … … 2918 2918 void NotStrictEqualNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2919 2919 { 2920 nodeStack.append( expr2.get());2921 nodeStack.append( expr1.get());2920 nodeStack.append(m_expr2.get()); 2921 nodeStack.append(m_expr1.get()); 2922 2922 } 2923 2923 … … 2925 2925 bool NotStrictEqualNode::inlineEvaluateToBoolean(ExecState* exec) 2926 2926 { 2927 JSValue* v1 = expr1->evaluate(exec);2927 JSValue* v1 = m_expr1->evaluate(exec); 2928 2928 KJS_CHECKEXCEPTIONBOOLEAN 2929 JSValue* v2 = expr2->evaluate(exec);2929 JSValue* v2 = m_expr2->evaluate(exec); 2930 2930 KJS_CHECKEXCEPTIONBOOLEAN 2931 2931 … … 2947 2947 void BitAndNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2948 2948 { 2949 nodeStack.append( expr2.get());2950 nodeStack.append( expr1.get());2949 nodeStack.append(m_expr2.get()); 2950 nodeStack.append(m_expr1.get()); 2951 2951 } 2952 2952 … … 2954 2954 JSValue* BitAndNode::evaluate(ExecState* exec) 2955 2955 { 2956 JSValue *v1 = expr1->evaluate(exec);2956 JSValue *v1 = m_expr1->evaluate(exec); 2957 2957 KJS_CHECKEXCEPTIONVALUE 2958 JSValue *v2 = expr2->evaluate(exec);2958 JSValue *v2 = m_expr2->evaluate(exec); 2959 2959 KJS_CHECKEXCEPTIONVALUE 2960 2960 … … 2964 2964 int32_t BitAndNode::inlineEvaluateToInt32(ExecState* exec) 2965 2965 { 2966 int32_t i1 = expr1->evaluateToInt32(exec);2966 int32_t i1 = m_expr1->evaluateToInt32(exec); 2967 2967 KJS_CHECKEXCEPTIONNUMBER 2968 int32_t i2 = expr2->evaluateToInt32(exec);2968 int32_t i2 = m_expr2->evaluateToInt32(exec); 2969 2969 return (i1 & i2); 2970 2970 } … … 2992 2992 void BitXOrNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 2993 2993 { 2994 nodeStack.append( expr2.get());2995 nodeStack.append( expr1.get());2994 nodeStack.append(m_expr2.get()); 2995 nodeStack.append(m_expr1.get()); 2996 2996 } 2997 2997 2998 2998 int32_t BitXOrNode::inlineEvaluateToInt32(ExecState* exec) 2999 2999 { 3000 int i1 = expr1->evaluateToInt32(exec);3000 int i1 = m_expr1->evaluateToInt32(exec); 3001 3001 KJS_CHECKEXCEPTIONNUMBER 3002 int i2 = expr2->evaluateToInt32(exec);3002 int i2 = m_expr2->evaluateToInt32(exec); 3003 3003 return (i1 ^ i2); 3004 3004 } … … 3031 3031 void BitOrNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3032 3032 { 3033 nodeStack.append( expr2.get());3034 nodeStack.append( expr1.get());3033 nodeStack.append(m_expr2.get()); 3034 nodeStack.append(m_expr1.get()); 3035 3035 } 3036 3036 3037 3037 int32_t BitOrNode::inlineEvaluateToInt32(ExecState* exec) 3038 3038 { 3039 int i1 = expr1->evaluateToInt32(exec);3039 int i1 = m_expr1->evaluateToInt32(exec); 3040 3040 KJS_CHECKEXCEPTIONNUMBER 3041 int i2 = expr2->evaluateToInt32(exec);3041 int i2 = m_expr2->evaluateToInt32(exec); 3042 3042 return (i1 | i2); 3043 3043 } … … 3072 3072 void LogicalAndNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3073 3073 { 3074 nodeStack.append( expr2.get());3075 nodeStack.append( expr1.get());3074 nodeStack.append(m_expr2.get()); 3075 nodeStack.append(m_expr1.get()); 3076 3076 } 3077 3077 … … 3079 3079 JSValue* LogicalAndNode::evaluate(ExecState* exec) 3080 3080 { 3081 JSValue* v1 = expr1->evaluate(exec);3081 JSValue* v1 = m_expr1->evaluate(exec); 3082 3082 KJS_CHECKEXCEPTIONVALUE 3083 3083 bool b1 = v1->toBoolean(exec); … … 3085 3085 if (!b1) 3086 3086 return v1; 3087 JSValue* v2 = expr2->evaluate(exec);3087 JSValue* v2 = m_expr2->evaluate(exec); 3088 3088 KJS_CHECKEXCEPTIONVALUE 3089 3089 return v2; … … 3092 3092 bool LogicalAndNode::evaluateToBoolean(ExecState* exec) 3093 3093 { 3094 bool b = expr1->evaluateToBoolean(exec);3094 bool b = m_expr1->evaluateToBoolean(exec); 3095 3095 KJS_CHECKEXCEPTIONBOOLEAN 3096 return b && expr2->evaluateToBoolean(exec);3096 return b && m_expr2->evaluateToBoolean(exec); 3097 3097 } 3098 3098 3099 3099 void LogicalOrNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3100 3100 { 3101 nodeStack.append( expr2.get());3102 nodeStack.append( expr1.get());3101 nodeStack.append(m_expr2.get()); 3102 nodeStack.append(m_expr1.get()); 3103 3103 } 3104 3104 3105 3105 JSValue* LogicalOrNode::evaluate(ExecState* exec) 3106 3106 { 3107 JSValue* v1 = expr1->evaluate(exec);3107 JSValue* v1 = m_expr1->evaluate(exec); 3108 3108 KJS_CHECKEXCEPTIONVALUE 3109 3109 if (v1->toBoolean(exec)) 3110 3110 return v1; 3111 return expr2->evaluate(exec);3111 return m_expr2->evaluate(exec); 3112 3112 } 3113 3113 3114 3114 bool LogicalOrNode::evaluateToBoolean(ExecState* exec) 3115 3115 { 3116 bool b = expr1->evaluateToBoolean(exec);3116 bool b = m_expr1->evaluateToBoolean(exec); 3117 3117 KJS_CHECKEXCEPTIONBOOLEAN 3118 return b || expr2->evaluateToBoolean(exec);3118 return b || m_expr2->evaluateToBoolean(exec); 3119 3119 } 3120 3120 … … 3123 3123 void ConditionalNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3124 3124 { 3125 nodeStack.append( expr2.get());3126 nodeStack.append( expr1.get());3127 nodeStack.append( logical.get());3125 nodeStack.append(m_expr2.get()); 3126 nodeStack.append(m_expr1.get()); 3127 nodeStack.append(m_logical.get()); 3128 3128 } 3129 3129 … … 3131 3131 JSValue* ConditionalNode::evaluate(ExecState* exec) 3132 3132 { 3133 bool b = logical->evaluateToBoolean(exec);3133 bool b = m_logical->evaluateToBoolean(exec); 3134 3134 KJS_CHECKEXCEPTIONVALUE 3135 return b ? expr1->evaluate(exec) :expr2->evaluate(exec);3135 return b ? m_expr1->evaluate(exec) : m_expr2->evaluate(exec); 3136 3136 } 3137 3137 3138 3138 bool ConditionalNode::evaluateToBoolean(ExecState* exec) 3139 3139 { 3140 bool b = logical->evaluateToBoolean(exec);3140 bool b = m_logical->evaluateToBoolean(exec); 3141 3141 KJS_CHECKEXCEPTIONBOOLEAN 3142 return b ? expr1->evaluateToBoolean(exec) :expr2->evaluateToBoolean(exec);3142 return b ? m_expr1->evaluateToBoolean(exec) : m_expr2->evaluateToBoolean(exec); 3143 3143 } 3144 3144 3145 3145 double ConditionalNode::evaluateToNumber(ExecState* exec) 3146 3146 { 3147 bool b = logical->evaluateToBoolean(exec);3147 bool b = m_logical->evaluateToBoolean(exec); 3148 3148 KJS_CHECKEXCEPTIONNUMBER 3149 return b ? expr1->evaluateToNumber(exec) :expr2->evaluateToNumber(exec);3149 return b ? m_expr1->evaluateToNumber(exec) : m_expr2->evaluateToNumber(exec); 3150 3150 } 3151 3151 3152 3152 int32_t ConditionalNode::evaluateToInt32(ExecState* exec) 3153 3153 { 3154 bool b = logical->evaluateToBoolean(exec);3154 bool b = m_logical->evaluateToBoolean(exec); 3155 3155 KJS_CHECKEXCEPTIONNUMBER 3156 return b ? expr1->evaluateToInt32(exec) :expr2->evaluateToInt32(exec);3156 return b ? m_expr1->evaluateToInt32(exec) : m_expr2->evaluateToInt32(exec); 3157 3157 } 3158 3158 3159 3159 uint32_t ConditionalNode::evaluateToUInt32(ExecState* exec) 3160 3160 { 3161 bool b = logical->evaluateToBoolean(exec);3161 bool b = m_logical->evaluateToBoolean(exec); 3162 3162 KJS_CHECKEXCEPTIONNUMBER 3163 return b ? expr1->evaluateToUInt32(exec) :expr2->evaluateToUInt32(exec);3163 return b ? m_expr1->evaluateToUInt32(exec) : m_expr2->evaluateToUInt32(exec); 3164 3164 } 3165 3165 … … 3521 3521 void CommaNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3522 3522 { 3523 nodeStack.append( expr2.get());3524 nodeStack.append( expr1.get());3523 nodeStack.append(m_expr2.get()); 3524 nodeStack.append(m_expr1.get()); 3525 3525 } 3526 3526 … … 3528 3528 JSValue* CommaNode::evaluate(ExecState *exec) 3529 3529 { 3530 expr1->evaluate(exec);3530 m_expr1->evaluate(exec); 3531 3531 KJS_CHECKEXCEPTIONVALUE 3532 return expr2->evaluate(exec);3532 return m_expr2->evaluate(exec); 3533 3533 } 3534 3534 3535 3535 // ------------------------------ ConstDeclNode ---------------------------------- 3536 3536 3537 ConstDeclNode::ConstDeclNode(const Identifier& id , ExpressionNode* in)3538 : ident(id)3539 , init(in)3537 ConstDeclNode::ConstDeclNode(const Identifier& ident, ExpressionNode* init) 3538 : m_ident(ident) 3539 , m_init(init) 3540 3540 { 3541 3541 } … … 3543 3543 void ConstDeclNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3544 3544 { 3545 if ( next)3546 nodeStack.append( next.get());3547 if ( init)3548 nodeStack.append( init.get());3545 if (m_next) 3546 nodeStack.append(m_next.get()); 3547 if (m_init) 3548 nodeStack.append(m_init.get()); 3549 3549 } 3550 3550 … … 3562 3562 do { 3563 3563 base = *iter; 3564 if (base->getPropertySlot(exec, ident, slot))3564 if (base->getPropertySlot(exec, m_ident, slot)) 3565 3565 break; 3566 3566 … … 3569 3569 3570 3570 unsigned flags = 0; 3571 base->getPropertyAttributes( ident, flags);3571 base->getPropertyAttributes(m_ident, flags); 3572 3572 flags |= ReadOnly; 3573 3573 3574 base->put(exec, ident, val, flags);3574 base->put(exec, m_ident, val, flags); 3575 3575 } 3576 3576 … … 3578 3578 inline void ConstDeclNode::evaluateSingle(ExecState* exec) 3579 3579 { 3580 ASSERT(exec->variableObject()->hasOwnProperty(exec, ident) || exec->codeType() == EvalCode); // Guaranteed by processDeclarations.3580 ASSERT(exec->variableObject()->hasOwnProperty(exec, m_ident) || exec->codeType() == EvalCode); // Guaranteed by processDeclarations. 3581 3581 const ScopeChain& chain = exec->scopeChain(); 3582 3582 JSObject* variableObject = exec->variableObject(); … … 3586 3586 bool inGlobalScope = ++chain.begin() == chain.end(); 3587 3587 3588 if ( init) {3588 if (m_init) { 3589 3589 if (inGlobalScope) { 3590 JSValue* val = init->evaluate(exec);3590 JSValue* val = m_init->evaluate(exec); 3591 3591 int flags = Internal; 3592 3592 if (exec->codeType() != EvalCode) 3593 3593 flags |= DontDelete; 3594 3594 flags |= ReadOnly; 3595 variableObject->put(exec, ident, val, flags);3595 variableObject->put(exec, m_ident, val, flags); 3596 3596 } else { 3597 JSValue* val = init->evaluate(exec);3597 JSValue* val = m_init->evaluate(exec); 3598 3598 KJS_CHECKEXCEPTIONVOID 3599 3599 … … 3605 3605 3606 3606 unsigned flags = 0; 3607 variableObject->getPropertyAttributes( ident, flags);3607 variableObject->getPropertyAttributes(m_ident, flags); 3608 3608 flags |= ReadOnly; 3609 3609 3610 variableObject->put(exec, ident, val, flags);3610 variableObject->put(exec, m_ident, val, flags); 3611 3611 } 3612 3612 } … … 3617 3617 evaluateSingle(exec); 3618 3618 3619 if (ConstDeclNode* n = next.get()) {3619 if (ConstDeclNode* n = m_next.get()) { 3620 3620 do { 3621 3621 n->evaluateSingle(exec); 3622 3622 KJS_CHECKEXCEPTIONVALUE 3623 n = n-> next.get();3623 n = n->m_next.get(); 3624 3624 } while (n); 3625 3625 } … … 3631 3631 void ConstStatementNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3632 3632 { 3633 ASSERT( next);3634 nodeStack.append( next.get());3633 ASSERT(m_next); 3634 nodeStack.append(m_next.get()); 3635 3635 } 3636 3636 … … 3638 3638 JSValue* ConstStatementNode::execute(ExecState* exec) 3639 3639 { 3640 next->evaluate(exec);3640 m_next->evaluate(exec); 3641 3641 KJS_CHECKEXCEPTION 3642 3642 … … 3718 3718 void ExprStatementNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3719 3719 { 3720 ASSERT( expr);3721 nodeStack.append( expr.get());3720 ASSERT(m_expr); 3721 nodeStack.append(m_expr.get()); 3722 3722 } 3723 3723 … … 3725 3725 JSValue* ExprStatementNode::execute(ExecState* exec) 3726 3726 { 3727 JSValue* value = expr->evaluate(exec);3727 JSValue* value = m_expr->evaluate(exec); 3728 3728 KJS_CHECKEXCEPTION 3729 3729 … … 3735 3735 void VarStatementNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3736 3736 { 3737 ASSERT( expr);3738 nodeStack.append( expr.get());3737 ASSERT(m_expr); 3738 nodeStack.append(m_expr.get()); 3739 3739 } 3740 3740 3741 3741 JSValue* VarStatementNode::execute(ExecState* exec) 3742 3742 { 3743 expr->evaluate(exec);3743 m_expr->evaluate(exec); 3744 3744 KJS_CHECKEXCEPTION 3745 3745 … … 3788 3788 void DoWhileNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3789 3789 { 3790 nodeStack.append( statement.get());3791 nodeStack.append( expr.get());3790 nodeStack.append(m_statement.get()); 3791 nodeStack.append(m_expr.get()); 3792 3792 } 3793 3793 … … 3799 3799 while (1) { 3800 3800 exec->pushIteration(); 3801 JSValue* statementValue = statement->execute(exec);3801 JSValue* statementValue = m_statement->execute(exec); 3802 3802 exec->popIteration(); 3803 3803 … … 3809 3809 3810 3810 if (exec->completionType() != Normal) { 3811 if (exec->completionType() == Continue && ls.contains(exec->breakOrContinueTarget()))3811 if (exec->completionType() == Continue && m_labelStack.contains(exec->breakOrContinueTarget())) 3812 3812 goto continueDoWhileLoop; 3813 if (exec->completionType() == Break && ls.contains(exec->breakOrContinueTarget()))3813 if (exec->completionType() == Break && m_labelStack.contains(exec->breakOrContinueTarget())) 3814 3814 break; 3815 3815 return statementValue; … … 3817 3817 3818 3818 continueDoWhileLoop: 3819 bool b = expr->evaluateToBoolean(exec);3819 bool b = m_expr->evaluateToBoolean(exec); 3820 3820 KJS_CHECKEXCEPTION 3821 3821 if (!b) … … 3830 3830 void WhileNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3831 3831 { 3832 nodeStack.append( statement.get());3833 nodeStack.append( expr.get());3832 nodeStack.append(m_statement.get()); 3833 nodeStack.append(m_expr.get()); 3834 3834 } 3835 3835 … … 3840 3840 3841 3841 while (1) { 3842 bool b = expr->evaluateToBoolean(exec);3842 bool b = m_expr->evaluateToBoolean(exec); 3843 3843 KJS_CHECKEXCEPTION 3844 3844 if (!b) … … 3846 3846 3847 3847 exec->pushIteration(); 3848 JSValue* statementValue = statement->execute(exec);3848 JSValue* statementValue = m_statement->execute(exec); 3849 3849 exec->popIteration(); 3850 3850 … … 3856 3856 3857 3857 if (exec->completionType() != Normal) { 3858 if (exec->completionType() == Continue && ls.contains(exec->breakOrContinueTarget()))3858 if (exec->completionType() == Continue && m_labelStack.contains(exec->breakOrContinueTarget())) 3859 3859 continue; 3860 if (exec->completionType() == Break && ls.contains(exec->breakOrContinueTarget()))3860 if (exec->completionType() == Break && m_labelStack.contains(exec->breakOrContinueTarget())) 3861 3861 break; 3862 3862 return statementValue; … … 3871 3871 void ForNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3872 3872 { 3873 nodeStack.append( statement.get());3874 nodeStack.append( expr3.get());3875 nodeStack.append( expr2.get());3876 nodeStack.append( expr1.get());3873 nodeStack.append(m_statement.get()); 3874 nodeStack.append(m_expr3.get()); 3875 nodeStack.append(m_expr2.get()); 3876 nodeStack.append(m_expr1.get()); 3877 3877 } 3878 3878 … … 3882 3882 JSValue* value = 0; 3883 3883 3884 expr1->evaluate(exec);3884 m_expr1->evaluate(exec); 3885 3885 KJS_CHECKEXCEPTION 3886 3886 3887 3887 while (1) { 3888 bool b = expr2->evaluateToBoolean(exec);3888 bool b = m_expr2->evaluateToBoolean(exec); 3889 3889 KJS_CHECKEXCEPTION 3890 3890 if (!b) … … 3892 3892 3893 3893 exec->pushIteration(); 3894 JSValue* statementValue = statement->execute(exec);3894 JSValue* statementValue = m_statement->execute(exec); 3895 3895 exec->popIteration(); 3896 3896 if (statementValue) … … 3901 3901 3902 3902 if (exec->completionType() != Normal) { 3903 if (exec->completionType() == Continue && ls.contains(exec->breakOrContinueTarget()))3903 if (exec->completionType() == Continue && m_labelStack.contains(exec->breakOrContinueTarget())) 3904 3904 goto continueForLoop; 3905 if (exec->completionType() == Break && ls.contains(exec->breakOrContinueTarget()))3905 if (exec->completionType() == Break && m_labelStack.contains(exec->breakOrContinueTarget())) 3906 3906 break; 3907 3907 return statementValue; … … 3909 3909 3910 3910 continueForLoop: 3911 expr3->evaluate(exec);3911 m_expr3->evaluate(exec); 3912 3912 KJS_CHECKEXCEPTION 3913 3913 } … … 3918 3918 // ------------------------------ ForInNode ------------------------------------ 3919 3919 3920 ForInNode::ForInNode(ExpressionNode* l, ExpressionNode* e, StatementNode* s) 3921 : init(0L), lexpr(l), expr(e), statement(s), identIsVarDecl(false) 3922 { 3923 } 3924 3925 ForInNode::ForInNode(const Identifier& i, ExpressionNode* in, ExpressionNode* e, StatementNode* s) 3926 : ident(i), lexpr(new ResolveNode(i)), expr(e), statement(s), identIsVarDecl(true) 3920 ForInNode::ForInNode(ExpressionNode* l, ExpressionNode* expr, StatementNode* statement) 3921 : m_init(0L) 3922 , m_lexpr(l) 3923 , m_expr(expr) 3924 , m_statement(statement) 3925 , m_identIsVarDecl(false) 3926 { 3927 } 3928 3929 ForInNode::ForInNode(const Identifier& ident, ExpressionNode* in, ExpressionNode* expr, StatementNode* statement) 3930 : m_ident(ident) 3931 , m_lexpr(new ResolveNode(ident)) 3932 , m_expr(expr) 3933 , m_statement(statement) 3934 , m_identIsVarDecl(true) 3927 3935 { 3928 3936 if (in) 3929 init = new AssignResolveNode(i, in);3937 m_init = new AssignResolveNode(ident, in); 3930 3938 // for( var foo = bar in baz ) 3931 3939 } … … 3933 3941 void ForInNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 3934 3942 { 3935 nodeStack.append( statement.get());3936 nodeStack.append( expr.get());3937 nodeStack.append( lexpr.get());3938 if ( init)3939 nodeStack.append( init.get());3943 nodeStack.append(m_statement.get()); 3944 nodeStack.append(m_expr.get()); 3945 nodeStack.append(m_lexpr.get()); 3946 if (m_init) 3947 nodeStack.append(m_init.get()); 3940 3948 } 3941 3949 … … 3945 3953 JSValue* value = 0; 3946 3954 3947 if ( init) {3948 init->evaluate(exec);3955 if (m_init) { 3956 m_init->evaluate(exec); 3949 3957 KJS_CHECKEXCEPTION 3950 3958 } 3951 3959 3952 JSValue* e = expr->evaluate(exec);3960 JSValue* e = m_expr->evaluate(exec); 3953 3961 KJS_CHECKEXCEPTION 3954 3962 … … 3970 3978 JSValue *str = jsOwnedString(name.ustring()); 3971 3979 3972 if ( lexpr->isResolveNode()) {3973 const Identifier &ident = static_cast<ResolveNode *>(lexpr.get())->identifier();3980 if (m_lexpr->isResolveNode()) { 3981 const Identifier& ident = static_cast<ResolveNode*>(m_lexpr.get())->identifier(); 3974 3982 3975 3983 const ScopeChain& chain = exec->scopeChain(); … … 3993 4001 if (iter == end) 3994 4002 o->put(exec, ident, str); 3995 } else if ( lexpr->isDotAccessorNode()) {3996 const Identifier& ident = static_cast<DotAccessorNode *>(lexpr.get())->identifier();3997 JSValue *v = static_cast<DotAccessorNode *>(lexpr.get())->base()->evaluate(exec);4003 } else if (m_lexpr->isDotAccessorNode()) { 4004 const Identifier& ident = static_cast<DotAccessorNode*>(m_lexpr.get())->identifier(); 4005 JSValue* v = static_cast<DotAccessorNode*>(m_lexpr.get())->base()->evaluate(exec); 3998 4006 KJS_CHECKEXCEPTION 3999 4007 JSObject *o = v->toObject(exec); … … 4001 4009 o->put(exec, ident, str); 4002 4010 } else { 4003 ASSERT( lexpr->isBracketAccessorNode());4004 JSValue *v = static_cast<BracketAccessorNode *>(lexpr.get())->base()->evaluate(exec);4011 ASSERT(m_lexpr->isBracketAccessorNode()); 4012 JSValue* v = static_cast<BracketAccessorNode*>(m_lexpr.get())->base()->evaluate(exec); 4005 4013 KJS_CHECKEXCEPTION 4006 JSValue *v2 = static_cast<BracketAccessorNode *>(lexpr.get())->subscript()->evaluate(exec);4014 JSValue* v2 = static_cast<BracketAccessorNode*>(m_lexpr.get())->subscript()->evaluate(exec); 4007 4015 KJS_CHECKEXCEPTION 4008 4016 JSObject *o = v->toObject(exec); … … 4017 4025 4018 4026 exec->pushIteration(); 4019 JSValue* statementValue = statement->execute(exec);4027 JSValue* statementValue = m_statement->execute(exec); 4020 4028 exec->popIteration(); 4021 4029 if (statementValue) … … 4023 4031 4024 4032 if (exec->completionType() != Normal) { 4025 if (exec->completionType() == Continue && ls.contains(exec->breakOrContinueTarget()))4033 if (exec->completionType() == Continue && m_labelStack.contains(exec->breakOrContinueTarget())) 4026 4034 continue; 4027 if (exec->completionType() == Break && ls.contains(exec->breakOrContinueTarget()))4035 if (exec->completionType() == Break && m_labelStack.contains(exec->breakOrContinueTarget())) 4028 4036 break; 4029 4037 return statementValue; … … 4039 4047 JSValue* ContinueNode::execute(ExecState* exec) 4040 4048 { 4041 if ( ident.isEmpty() && !exec->inIteration())4049 if (m_ident.isEmpty() && !exec->inIteration()) 4042 4050 return setErrorCompletion(exec, SyntaxError, "Invalid continue statement."); 4043 if (! ident.isEmpty() && !exec->seenLabels().contains(ident))4044 return setErrorCompletion(exec, SyntaxError, "Label %s not found.", ident);4045 return exec->setContinueCompletion(& ident);4051 if (!m_ident.isEmpty() && !exec->seenLabels().contains(m_ident)) 4052 return setErrorCompletion(exec, SyntaxError, "Label %s not found.", m_ident); 4053 return exec->setContinueCompletion(&m_ident); 4046 4054 } 4047 4055 … … 4051 4059 JSValue* BreakNode::execute(ExecState *exec) 4052 4060 { 4053 if ( ident.isEmpty() && !exec->inIteration() && !exec->inSwitch())4061 if (m_ident.isEmpty() && !exec->inIteration() && !exec->inSwitch()) 4054 4062 return setErrorCompletion(exec, SyntaxError, "Invalid break statement."); 4055 if (! ident.isEmpty() && !exec->seenLabels().contains(ident))4063 if (!m_ident.isEmpty() && !exec->seenLabels().contains(m_ident)) 4056 4064 return setErrorCompletion(exec, SyntaxError, "Label %s not found."); 4057 return exec->setBreakCompletion(& ident);4065 return exec->setBreakCompletion(&m_ident); 4058 4066 } 4059 4067 … … 4062 4070 void ReturnNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 4063 4071 { 4064 if ( value)4065 nodeStack.append( value.get());4072 if (m_value) 4073 nodeStack.append(m_value.get()); 4066 4074 } 4067 4075 … … 4073 4081 return setErrorCompletion(exec, SyntaxError, "Invalid return statement."); 4074 4082 4075 if (! value)4083 if (!m_value) 4076 4084 return exec->setReturnValueCompletion(jsUndefined()); 4077 4085 4078 JSValue* v = value->evaluate(exec);4086 JSValue* v = m_value->evaluate(exec); 4079 4087 KJS_CHECKEXCEPTION 4080 4088 … … 4087 4095 { 4088 4096 // Can't optimize within statement because "with" introduces a dynamic scope. 4089 nodeStack.append( expr.get());4097 nodeStack.append(m_expr.get()); 4090 4098 } 4091 4099 … … 4093 4101 JSValue* WithNode::execute(ExecState *exec) 4094 4102 { 4095 JSValue *v = expr->evaluate(exec);4103 JSValue *v = m_expr->evaluate(exec); 4096 4104 KJS_CHECKEXCEPTION 4097 4105 JSObject *o = v->toObject(exec); … … 4099 4107 exec->dynamicGlobalObject()->tearOffActivation(exec); 4100 4108 exec->pushScope(o); 4101 JSValue* value = statement->execute(exec);4109 JSValue* value = m_statement->execute(exec); 4102 4110 exec->popScope(); 4103 4111 … … 4109 4117 void CaseClauseNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 4110 4118 { 4111 if ( expr)4112 nodeStack.append( expr.get());4119 if (m_expr) 4120 nodeStack.append(m_expr.get()); 4113 4121 statementListPushFIFO(m_children, nodeStack); 4114 4122 } … … 4117 4125 JSValue *CaseClauseNode::evaluate(ExecState *exec) 4118 4126 { 4119 JSValue *v = expr->evaluate(exec);4127 JSValue *v = m_expr->evaluate(exec); 4120 4128 KJS_CHECKEXCEPTIONVALUE 4121 4129 … … 4133 4141 void ClauseListNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 4134 4142 { 4135 if ( next)4136 nodeStack.append( next.get());4137 nodeStack.append( clause.get());4143 if (m_next) 4144 nodeStack.append(m_next.get()); 4145 nodeStack.append(m_clause.get()); 4138 4146 } 4139 4147 4140 4148 // ------------------------------ CaseBlockNode -------------------------------- 4141 4149 4142 CaseBlockNode::CaseBlockNode(ClauseListNode* l 1, CaseClauseNode* d, ClauseListNode* l2)4143 : list1(l1)4144 , def(d)4145 , list2(l2)4150 CaseBlockNode::CaseBlockNode(ClauseListNode* list1, CaseClauseNode* defaultClause, ClauseListNode* list2) 4151 : m_list1(list1) 4152 , m_defaultClause(defaultClause) 4153 , m_list2(list2) 4146 4154 { 4147 4155 } … … 4149 4157 void CaseBlockNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 4150 4158 { 4151 if ( list2)4152 nodeStack.append( list2.get());4153 if ( def)4154 nodeStack.append( def.get());4155 if ( list1)4156 nodeStack.append( list1.get());4159 if (m_list2) 4160 nodeStack.append(m_list2.get()); 4161 if (m_defaultClause) 4162 nodeStack.append(m_defaultClause.get()); 4163 if (m_list1) 4164 nodeStack.append(m_list1.get()); 4157 4165 } 4158 4166 … … 4160 4168 JSValue* CaseBlockNode::executeBlock(ExecState* exec, JSValue* input) 4161 4169 { 4162 ClauseListNode* a = list1.get();4170 ClauseListNode* a = m_list1.get(); 4163 4171 while (a) { 4164 4172 CaseClauseNode* clause = a->getClause(); … … 4179 4187 } 4180 4188 4181 ClauseListNode* b = list2.get();4189 ClauseListNode* b = m_list2.get(); 4182 4190 while (b) { 4183 4191 CaseClauseNode* clause = b->getClause(); … … 4194 4202 4195 4203 // default clause 4196 if ( def) {4197 JSValue* res = def->executeStatements(exec);4204 if (m_defaultClause) { 4205 JSValue* res = m_defaultClause->executeStatements(exec); 4198 4206 if (exec->completionType() != Normal) 4199 4207 return res; 4200 4208 } 4201 b = list2.get();4209 b = m_list2.get(); 4202 4210 step18: 4203 4211 while (b) { … … 4219 4227 void SwitchNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 4220 4228 { 4221 nodeStack.append( block.get());4222 nodeStack.append( expr.get());4229 nodeStack.append(m_block.get()); 4230 nodeStack.append(m_expr.get()); 4223 4231 } 4224 4232 … … 4226 4234 JSValue* SwitchNode::execute(ExecState* exec) 4227 4235 { 4228 JSValue *v = expr->evaluate(exec);4236 JSValue *v = m_expr->evaluate(exec); 4229 4237 KJS_CHECKEXCEPTION 4230 4238 4231 4239 exec->pushSwitch(); 4232 JSValue* result = block->executeBlock(exec, v);4240 JSValue* result = m_block->executeBlock(exec, v); 4233 4241 exec->popSwitch(); 4234 4242 4235 if (exec->completionType() == Break && ls.contains(exec->breakOrContinueTarget()))4243 if (exec->completionType() == Break && m_labelStack.contains(exec->breakOrContinueTarget())) 4236 4244 exec->setCompletionType(Normal); 4237 4245 return result; … … 4242 4250 void LabelNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 4243 4251 { 4244 nodeStack.append( statement.get());4252 nodeStack.append(m_statement.get()); 4245 4253 } 4246 4254 4247 4255 // ECMA 12.12 4248 JSValue* LabelNode::execute(ExecState *exec)4249 { 4250 if (!exec->seenLabels().push( label))4251 return setErrorCompletion(exec, SyntaxError, "Duplicated label %s found.", label);4252 JSValue* result = statement->execute(exec);4256 JSValue* LabelNode::execute(ExecState* exec) 4257 { 4258 if (!exec->seenLabels().push(m_label)) 4259 return setErrorCompletion(exec, SyntaxError, "Duplicated label %s found.", m_label); 4260 JSValue* result = m_statement->execute(exec); 4253 4261 exec->seenLabels().pop(); 4254 4262 4255 if (exec->completionType() == Break && exec->breakOrContinueTarget() == label)4263 if (exec->completionType() == Break && exec->breakOrContinueTarget() == m_label) 4256 4264 exec->setCompletionType(Normal); 4257 4265 return result; … … 4262 4270 void ThrowNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack) 4263 4271 { 4264 nodeStack.append( expr.get());4272 nodeStack.append(m_expr.get()); 4265 4273 } 4266 4274 … … 4268 4276 JSValue* ThrowNode::execute(ExecState* exec) 4269 4277 { 4270 JSValue *v = expr->evaluate(exec);4278 JSValue *v = m_expr->evaluate(exec); 4271 4279 KJS_CHECKEXCEPTION 4272 4280 … … 4280 4288 { 4281 4289 // Can't optimize within catchBlock because "catch" introduces a dynamic scope. 4282 if ( finallyBlock)4283 nodeStack.append( finallyBlock.get());4284 nodeStack.append( tryBlock.get());4290 if (m_finallyBlock) 4291 nodeStack.append(m_finallyBlock.get()); 4292 nodeStack.append(m_tryBlock.get()); 4285 4293 } 4286 4294 4287 4295 // ECMA 12.14 4288 JSValue* TryNode::execute(ExecState *exec)4289 { 4290 JSValue* result = tryBlock->execute(exec);4296 JSValue* TryNode::execute(ExecState* exec) 4297 { 4298 JSValue* result = m_tryBlock->execute(exec); 4291 4299 4292 4300 if (Collector::isOutOfMemory()) 4293 4301 return result; // don't try to catch an out of memory exception thrown by the collector 4294 4302 4295 if ( catchBlock && exec->completionType() == Throw) {4303 if (m_catchBlock && exec->completionType() == Throw) { 4296 4304 JSObject* obj = new JSObject; 4297 obj->put(exec, exceptionIdent, result, DontDelete);4305 obj->put(exec, m_exceptionIdent, result, DontDelete); 4298 4306 exec->dynamicGlobalObject()->tearOffActivation(exec); 4299 4307 exec->pushScope(obj); 4300 result = catchBlock->execute(exec);4308 result = m_catchBlock->execute(exec); 4301 4309 exec->popScope(); 4302 4310 } 4303 4311 4304 if ( finallyBlock) {4312 if (m_finallyBlock) { 4305 4313 ComplType savedCompletionType = exec->completionType(); 4306 JSValue* finallyResult = finallyBlock->execute(exec);4314 JSValue* finallyResult = m_finallyBlock->execute(exec); 4307 4315 if (exec->completionType() != Normal) 4308 4316 result = finallyResult; … … 4381 4389 4382 4390 for (size_t i = 0, size = m_functionStack.size(); i < size; ++i, ++localStorageIndex) { 4383 UString::Rep* rep = m_functionStack[i]-> ident.ustring().rep();4391 UString::Rep* rep = m_functionStack[i]->m_ident.ustring().rep(); 4384 4392 symbolTable.set(rep, localStorageIndex); 4385 4393 } … … 4412 4420 m_functionIndexes.resize(size); 4413 4421 for (size_t i = 0; i < size; ++i) { 4414 UString::Rep* rep = m_functionStack[i]-> ident.ustring().rep();4422 UString::Rep* rep = m_functionStack[i]->m_ident.ustring().rep(); 4415 4423 pair<SymbolTable::iterator, bool> result = symbolTable.add(rep, localStorageIndex); 4416 4424 m_functionIndexes[i] = result.first->second; … … 4582 4590 for (i = 0, size = m_functionStack.size(); i < size; ++i) { 4583 4591 FuncDeclNode* node = m_functionStack[i]; 4584 variableObject->put(exec, node-> ident, node->makeFunction(exec), minAttributes);4592 variableObject->put(exec, node->m_ident, node->makeFunction(exec), minAttributes); 4585 4593 } 4586 4594 } … … 4652 4660 void FuncDeclNode::addParams() 4653 4661 { 4654 for (ParameterNode *p = param.get(); p != 0L; p = p->nextParam())4655 body->parameters().append(p->ident());4662 for (ParameterNode *p = m_parameter.get(); p != 0L; p = p->nextParam()) 4663 m_body->parameters().append(p->ident()); 4656 4664 } 4657 4665 4658 4666 FunctionImp* FuncDeclNode::makeFunction(ExecState* exec) 4659 4667 { 4660 FunctionImp *func = new FunctionImp(exec, ident,body.get(), exec->scopeChain());4668 FunctionImp *func = new FunctionImp(exec, m_ident, m_body.get(), exec->scopeChain()); 4661 4669 4662 4670 JSObject* proto = exec->lexicalGlobalObject()->objectConstructor()->construct(exec, exec->emptyList()); … … 4664 4672 func->put(exec, exec->propertyNames().prototype, proto, Internal|DontDelete); 4665 4673 4666 func->put(exec, exec->propertyNames().length, jsNumber( body->parameters().size()), ReadOnly|DontDelete|DontEnum);4674 func->put(exec, exec->propertyNames().length, jsNumber(m_body->parameters().size()), ReadOnly|DontDelete|DontEnum); 4667 4675 return func; 4668 4676 } … … 4678 4686 void FuncExprNode::addParams() 4679 4687 { 4680 for (ParameterNode *p = param.get(); p != 0L; p = p->nextParam())4681 body->parameters().append(p->ident());4688 for (ParameterNode* p = m_parameter.get(); p != 0L; p = p->nextParam()) 4689 m_body->parameters().append(p->ident()); 4682 4690 } 4683 4691 … … 4686 4694 exec->dynamicGlobalObject()->tearOffActivation(exec); 4687 4695 4688 bool named = ! ident.isNull();4696 bool named = !m_ident.isNull(); 4689 4697 JSObject *functionScopeObject = 0; 4690 4698 … … 4697 4705 } 4698 4706 4699 FunctionImp* func = new FunctionImp(exec, ident,body.get(), exec->scopeChain());4707 FunctionImp* func = new FunctionImp(exec, m_ident, m_body.get(), exec->scopeChain()); 4700 4708 JSObject* proto = exec->lexicalGlobalObject()->objectConstructor()->construct(exec, exec->emptyList()); 4701 4709 proto->put(exec, exec->propertyNames().constructor, func, ReadOnly | DontDelete | DontEnum); … … 4703 4711 4704 4712 if (named) { 4705 functionScopeObject->put(exec, ident, func, Internal | ReadOnly | (exec->codeType() == EvalCode ? 0 : DontDelete));4713 functionScopeObject->put(exec, m_ident, func, Internal | ReadOnly | (exec->codeType() == EvalCode ? 0 : DontDelete)); 4706 4714 exec->popScope(); 4707 4715 } -
trunk/JavaScriptCore/kjs/nodes.h
r29818 r29825 207 207 int lastLine() const KJS_FAST_CALL { return m_lastLine; } 208 208 virtual JSValue* execute(ExecState *exec) KJS_FAST_CALL = 0; 209 void pushLabel(const Identifier &id) KJS_FAST_CALL { ls.push(id); }209 void pushLabel(const Identifier& ident) KJS_FAST_CALL { m_labelStack.push(ident); } 210 210 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 211 211 virtual bool isEmptyStatement() const KJS_FAST_CALL { return false; } 212 212 protected: 213 LabelStack ls;213 LabelStack m_labelStack; 214 214 private: 215 215 int m_lastLine; … … 316 316 class ResolveNode : public ExpressionNode { 317 317 public: 318 ResolveNode(const Identifier &s) KJS_FAST_CALL319 : ident(s)318 ResolveNode(const Identifier& ident) KJS_FAST_CALL 319 : m_ident(ident) 320 320 { 321 321 } … … 324 324 ResolveNode(PlacementNewAdoptType) KJS_FAST_CALL 325 325 : ExpressionNode(PlacementNewAdopt) 326 , ident(PlacementNewAdopt)326 , m_ident(PlacementNewAdopt) 327 327 { 328 328 } … … 340 340 virtual bool isLocation() const KJS_FAST_CALL { return true; } 341 341 virtual bool isResolveNode() const KJS_FAST_CALL { return true; } 342 const Identifier& identifier() const KJS_FAST_CALL { return ident; }342 const Identifier& identifier() const KJS_FAST_CALL { return m_ident; } 343 343 344 344 protected: 345 345 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 346 Identifier ident;347 size_t index; // Used by LocalVarAccessNode.346 Identifier m_ident; 347 size_t m_index; // Used by LocalVarAccessNode. 348 348 }; 349 349 … … 355 355 { 356 356 ASSERT(i != missingSymbolMarker()); 357 index = i;357 m_index = i; 358 358 } 359 359 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 368 368 class ElementNode : public Node { 369 369 public: 370 ElementNode(int e, ExpressionNode* n) KJS_FAST_CALL : elision(e), node(n) { } 371 ElementNode(ElementNode* l, int e, ExpressionNode* n) KJS_FAST_CALL 372 : elision(e), node(n) { l->next = this; } 370 ElementNode(int elision, ExpressionNode* node) KJS_FAST_CALL 371 : m_elision(elision), m_node(node) { } 372 ElementNode(ElementNode* l, int elision, ExpressionNode* node) KJS_FAST_CALL 373 : m_elision(elision), m_node(node) { l->m_next = this; } 373 374 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 374 375 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 375 376 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 376 377 377 PassRefPtr<ElementNode> releaseNext() KJS_FAST_CALL { return next.release(); }378 PassRefPtr<ElementNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 378 379 379 380 JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 381 382 private: 382 383 friend class ArrayNode; 383 ListRefPtr<ElementNode> next;384 int elision;385 RefPtr<ExpressionNode> node;384 ListRefPtr<ElementNode> m_next; 385 int m_elision; 386 RefPtr<ExpressionNode> m_node; 386 387 }; 387 388 388 389 class ArrayNode : public ExpressionNode { 389 390 public: 390 ArrayNode(int e) KJS_FAST_CALL : elision(e), opt(true) { } 391 ArrayNode(ElementNode* ele) KJS_FAST_CALL 392 : element(ele), elision(0), opt(false) { } 393 ArrayNode(int eli, ElementNode* ele) KJS_FAST_CALL 394 : element(ele), elision(eli), opt(true) { } 391 ArrayNode(int e) KJS_FAST_CALL 392 : m_elision(e), m_opt(true) { } 393 ArrayNode(ElementNode* element) KJS_FAST_CALL 394 : m_element(element), m_elision(0), m_opt(false) { } 395 ArrayNode(int elision, ElementNode* element) KJS_FAST_CALL 396 : m_element(element), m_elision(elision), m_opt(true) { } 395 397 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 396 398 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 398 400 virtual Precedence precedence() const { return PrecPrimary; } 399 401 private: 400 RefPtr<ElementNode> element;401 int elision;402 bool opt;402 RefPtr<ElementNode> m_element; 403 int m_elision; 404 bool m_opt; 403 405 }; 404 406 … … 407 409 enum Type { Constant, Getter, Setter }; 408 410 PropertyNode(const Identifier& n, ExpressionNode* a, Type t) KJS_FAST_CALL 409 : m_name(n), assign(a),type(t) { }411 : m_name(n), m_assign(a), m_type(t) { } 410 412 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 411 413 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 418 420 friend class PropertyListNode; 419 421 Identifier m_name; 420 RefPtr<ExpressionNode> assign;421 Type type;422 RefPtr<ExpressionNode> m_assign; 423 Type m_type; 422 424 }; 423 425 424 426 class PropertyListNode : public Node { 425 427 public: 426 PropertyListNode(PropertyNode* n ) KJS_FAST_CALL427 : node(n) { }428 PropertyListNode(PropertyNode* n , PropertyListNode* l) KJS_FAST_CALL429 : node(n) { l->next = this; }428 PropertyListNode(PropertyNode* node) KJS_FAST_CALL 429 : m_node(node) { } 430 PropertyListNode(PropertyNode* node, PropertyListNode* list) KJS_FAST_CALL 431 : m_node(node) { list->m_next = this; } 430 432 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 431 433 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 433 435 434 436 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 435 PassRefPtr<PropertyListNode> releaseNext() KJS_FAST_CALL { return next.release(); }437 PassRefPtr<PropertyListNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 436 438 437 439 private: 438 440 friend class ObjectLiteralNode; 439 RefPtr<PropertyNode> node;440 ListRefPtr<PropertyListNode> next;441 RefPtr<PropertyNode> m_node; 442 ListRefPtr<PropertyListNode> m_next; 441 443 }; 442 444 … … 444 446 public: 445 447 ObjectLiteralNode() KJS_FAST_CALL { } 446 ObjectLiteralNode(PropertyListNode* l ) KJS_FAST_CALL : list(l) { }448 ObjectLiteralNode(PropertyListNode* list) KJS_FAST_CALL : m_list(list) { } 447 449 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 448 450 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 451 453 virtual bool needsParensIfLeftmost() const { return true; } 452 454 private: 453 RefPtr<PropertyListNode> list;455 RefPtr<PropertyListNode> m_list; 454 456 }; 455 457 456 458 class BracketAccessorNode : public ExpressionNode { 457 459 public: 458 BracketAccessorNode(ExpressionNode* e1, ExpressionNode* e2) KJS_FAST_CALL : expr1(e1), expr2(e2) {} 460 BracketAccessorNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 461 : m_base(base), m_subscript(subscript) { } 459 462 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 460 463 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 468 471 virtual bool isLocation() const KJS_FAST_CALL { return true; } 469 472 virtual bool isBracketAccessorNode() const KJS_FAST_CALL { return true; } 470 ExpressionNode* base() KJS_FAST_CALL { return expr1.get(); }471 ExpressionNode* subscript() KJS_FAST_CALL { return expr2.get(); }473 ExpressionNode* base() KJS_FAST_CALL { return m_base.get(); } 474 ExpressionNode* subscript() KJS_FAST_CALL { return m_subscript.get(); } 472 475 473 476 private: 474 477 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 475 RefPtr<ExpressionNode> expr1;476 RefPtr<ExpressionNode> expr2;478 RefPtr<ExpressionNode> m_base; 479 RefPtr<ExpressionNode> m_subscript; 477 480 }; 478 481 479 482 class DotAccessorNode : public ExpressionNode { 480 483 public: 481 DotAccessorNode(ExpressionNode* e, const Identifier& s) KJS_FAST_CALL : expr(e), ident(s) { }484 DotAccessorNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL : m_base(base), m_ident(ident) { } 482 485 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 483 486 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 491 494 virtual bool isLocation() const KJS_FAST_CALL { return true; } 492 495 virtual bool isDotAccessorNode() const KJS_FAST_CALL { return true; } 493 ExpressionNode* base() const KJS_FAST_CALL { return expr.get(); }494 const Identifier& identifier() const KJS_FAST_CALL { return ident; }496 ExpressionNode* base() const KJS_FAST_CALL { return m_base.get(); } 497 const Identifier& identifier() const KJS_FAST_CALL { return m_ident; } 495 498 496 499 private: 497 500 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 498 RefPtr<ExpressionNode> expr;499 Identifier ident;501 RefPtr<ExpressionNode> m_base; 502 Identifier m_ident; 500 503 }; 501 504 502 505 class ArgumentListNode : public Node { 503 506 public: 504 ArgumentListNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) { } 505 ArgumentListNode(ArgumentListNode* l, ExpressionNode* e) KJS_FAST_CALL 506 : expr(e) { l->next = this; } 507 ArgumentListNode(ExpressionNode* expr) KJS_FAST_CALL 508 : m_expr(expr) { } 509 ArgumentListNode(ArgumentListNode* listNode, ExpressionNode* expr) KJS_FAST_CALL 510 : m_expr(expr) { listNode->m_next = this; } 507 511 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 508 512 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 510 514 511 515 void evaluateList(ExecState*, List&) KJS_FAST_CALL; 512 PassRefPtr<ArgumentListNode> releaseNext() KJS_FAST_CALL { return next.release(); }516 PassRefPtr<ArgumentListNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 513 517 514 518 private: 515 519 friend class ArgumentsNode; 516 ListRefPtr<ArgumentListNode> next;517 RefPtr<ExpressionNode> expr;520 ListRefPtr<ArgumentListNode> m_next; 521 RefPtr<ExpressionNode> m_expr; 518 522 }; 519 523 … … 521 525 public: 522 526 ArgumentsNode() KJS_FAST_CALL { } 523 ArgumentsNode(ArgumentListNode* l ) KJS_FAST_CALL524 : listNode(l) { }527 ArgumentsNode(ArgumentListNode* listNode) KJS_FAST_CALL 528 : m_listNode(listNode) { } 525 529 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 526 530 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 527 531 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 528 532 529 void evaluateList(ExecState* exec, List& list) KJS_FAST_CALL { if ( listNode)listNode->evaluateList(exec, list); }530 531 private: 532 RefPtr<ArgumentListNode> listNode;533 void evaluateList(ExecState* exec, List& list) KJS_FAST_CALL { if (m_listNode) m_listNode->evaluateList(exec, list); } 534 535 private: 536 RefPtr<ArgumentListNode> m_listNode; 533 537 }; 534 538 535 539 class NewExprNode : public ExpressionNode { 536 540 public: 537 NewExprNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) {} 538 NewExprNode(ExpressionNode* e, ArgumentsNode* a) KJS_FAST_CALL : expr(e), args(a) {} 541 NewExprNode(ExpressionNode* expr) KJS_FAST_CALL 542 : m_expr(expr) { } 543 NewExprNode(ExpressionNode* expr, ArgumentsNode* args) KJS_FAST_CALL 544 : m_expr(expr), m_args(args) { } 539 545 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 540 546 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 547 553 private: 548 554 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 549 RefPtr<ExpressionNode> expr;550 RefPtr<ArgumentsNode> args;555 RefPtr<ExpressionNode> m_expr; 556 RefPtr<ArgumentsNode> m_args; 551 557 }; 552 558 553 559 class FunctionCallValueNode : public ExpressionNode { 554 560 public: 555 FunctionCallValueNode(ExpressionNode* e, ArgumentsNode* a) KJS_FAST_CALL : expr(e), args(a) {} 561 FunctionCallValueNode(ExpressionNode* expr, ArgumentsNode* args) KJS_FAST_CALL 562 : m_expr(expr), m_args(args) { } 556 563 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 557 564 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 559 566 virtual Precedence precedence() const { return PrecCall; } 560 567 private: 561 RefPtr<ExpressionNode> expr;562 RefPtr<ArgumentsNode> args;568 RefPtr<ExpressionNode> m_expr; 569 RefPtr<ArgumentsNode> m_args; 563 570 }; 564 571 565 572 class FunctionCallResolveNode : public ExpressionNode { 566 573 public: 567 FunctionCallResolveNode(const Identifier& i , ArgumentsNode* a) KJS_FAST_CALL568 : ident(i)569 , args(a)574 FunctionCallResolveNode(const Identifier& ident, ArgumentsNode* args) KJS_FAST_CALL 575 : m_ident(ident) 576 , m_args(args) 570 577 { 571 578 } … … 573 580 FunctionCallResolveNode(PlacementNewAdoptType) KJS_FAST_CALL 574 581 : ExpressionNode(PlacementNewAdopt) 575 , ident(PlacementNewAdopt)576 , args(PlacementNewAdopt)582 , m_ident(PlacementNewAdopt) 583 , m_args(PlacementNewAdopt) 577 584 { 578 585 } … … 589 596 protected: 590 597 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 591 Identifier ident;592 RefPtr<ArgumentsNode> args;593 size_t index; // Used by LocalVarFunctionCallNode.598 Identifier m_ident; 599 RefPtr<ArgumentsNode> m_args; 600 size_t m_index; // Used by LocalVarFunctionCallNode. 594 601 }; 595 602 … … 600 607 { 601 608 ASSERT(i != missingSymbolMarker()); 602 index = i;609 m_index = i; 603 610 } 604 611 … … 614 621 class FunctionCallBracketNode : public ExpressionNode { 615 622 public: 616 FunctionCallBracketNode(ExpressionNode* b, ExpressionNode* s, ArgumentsNode* a) KJS_FAST_CALL : base(b), subscript(s), args(a) {} 623 FunctionCallBracketNode(ExpressionNode* base, ExpressionNode* subscript, ArgumentsNode* args) KJS_FAST_CALL 624 : m_base(base), m_subscript(subscript), m_args(args) { } 617 625 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 618 626 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 620 628 virtual Precedence precedence() const { return PrecCall; } 621 629 protected: 622 RefPtr<ExpressionNode> base;623 RefPtr<ExpressionNode> subscript;624 RefPtr<ArgumentsNode> args;630 RefPtr<ExpressionNode> m_base; 631 RefPtr<ExpressionNode> m_subscript; 632 RefPtr<ArgumentsNode> m_args; 625 633 }; 626 634 627 635 class FunctionCallDotNode : public ExpressionNode { 628 636 public: 629 FunctionCallDotNode(ExpressionNode* b, const Identifier& i, ArgumentsNode* a) KJS_FAST_CALL : base(b), ident(i), args(a) {} 637 FunctionCallDotNode(ExpressionNode* base, const Identifier& ident, ArgumentsNode* args) KJS_FAST_CALL 638 : m_base(base), m_ident(ident), m_args(args) { } 630 639 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 631 640 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 638 647 private: 639 648 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 640 RefPtr<ExpressionNode> base;641 Identifier ident;642 RefPtr<ArgumentsNode> args;649 RefPtr<ExpressionNode> m_base; 650 Identifier m_ident; 651 RefPtr<ArgumentsNode> m_args; 643 652 }; 644 653 … … 746 755 class PostfixBracketNode : public ExpressionNode { 747 756 public: 748 PostfixBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : m_base(b), m_subscript(s) {} 757 PostfixBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 758 : m_base(base), m_subscript(subscript) { } 749 759 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 750 760 virtual Precedence precedence() const { return PrecPostfix; } … … 756 766 class PostIncBracketNode : public PostfixBracketNode { 757 767 public: 758 PostIncBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : PostfixBracketNode(b, s) {} 768 PostIncBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 769 : PostfixBracketNode(base, subscript) { } 759 770 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 760 771 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 763 774 class PostDecBracketNode : public PostfixBracketNode { 764 775 public: 765 PostDecBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : PostfixBracketNode(b, s) {} 776 PostDecBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 777 : PostfixBracketNode(base, subscript) { } 766 778 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 767 779 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 770 782 class PostfixDotNode : public ExpressionNode { 771 783 public: 772 PostfixDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : m_base(b), m_ident(i) {} 784 PostfixDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 785 : m_base(base), m_ident(ident) { } 773 786 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 774 787 virtual Precedence precedence() const { return PrecPostfix; } … … 780 793 class PostIncDotNode : public PostfixDotNode { 781 794 public: 782 PostIncDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : PostfixDotNode(b, i) {} 795 PostIncDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 796 : PostfixDotNode(base, ident) { } 783 797 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 784 798 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 787 801 class PostDecDotNode : public PostfixDotNode { 788 802 public: 789 PostDecDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : PostfixDotNode(b, i) {} 803 PostDecDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 804 : PostfixDotNode(base, ident) { } 790 805 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 791 806 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 794 809 class PostfixErrorNode : public ExpressionNode { 795 810 public: 796 PostfixErrorNode(ExpressionNode* e, Operator o) KJS_FAST_CALL : m_expr(e), m_oper(o) {} 811 PostfixErrorNode(ExpressionNode* expr, Operator oper) KJS_FAST_CALL 812 : m_expr(expr), m_oper(oper) { } 797 813 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 798 814 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 805 821 class DeleteResolveNode : public ExpressionNode { 806 822 public: 807 DeleteResolveNode(const Identifier& i) KJS_FAST_CALL : m_ident(i) {} 823 DeleteResolveNode(const Identifier& ident) KJS_FAST_CALL 824 : m_ident(ident) 825 { 826 } 808 827 DeleteResolveNode(PlacementNewAdoptType) KJS_FAST_CALL 809 828 : ExpressionNode(PlacementNewAdopt) … … 832 851 class DeleteBracketNode : public ExpressionNode { 833 852 public: 834 DeleteBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL : m_base(base), m_subscript(subscript) {} 853 DeleteBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 854 : m_base(base), m_subscript(subscript) { } 835 855 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 836 856 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 844 864 class DeleteDotNode : public ExpressionNode { 845 865 public: 846 DeleteDotNode(ExpressionNode* base, const Identifier& i) KJS_FAST_CALL : m_base(base), m_ident(i) {} 866 DeleteDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 867 : m_base(base), m_ident(ident) { } 847 868 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 848 869 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 856 877 class DeleteValueNode : public ExpressionNode { 857 878 public: 858 DeleteValueNode(ExpressionNode* e) KJS_FAST_CALL : m_expr(e) {} 879 DeleteValueNode(ExpressionNode* expr) KJS_FAST_CALL 880 : m_expr(expr) { } 859 881 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 860 882 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 867 889 class VoidNode : public ExpressionNode { 868 890 public: 869 VoidNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) {} 891 VoidNode(ExpressionNode* expr) KJS_FAST_CALL 892 : m_expr(expr) { } 870 893 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 871 894 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 873 896 virtual Precedence precedence() const { return PrecUnary; } 874 897 private: 875 RefPtr<ExpressionNode> expr;898 RefPtr<ExpressionNode> m_expr; 876 899 }; 877 900 878 901 class TypeOfResolveNode : public ExpressionNode { 879 902 public: 880 TypeOfResolveNode(const Identifier &s) KJS_FAST_CALL 881 : ExpressionNode(StringType), m_ident(s) {} 903 TypeOfResolveNode(const Identifier& ident) KJS_FAST_CALL 904 : ExpressionNode(StringType) 905 , m_ident(ident) 906 { 907 } 882 908 883 909 TypeOfResolveNode(PlacementNewAdoptType) KJS_FAST_CALL … … 927 953 class PreIncResolveNode : public PrePostResolveNode { 928 954 public: 929 PreIncResolveNode(const Identifier &s) KJS_FAST_CALL930 : PrePostResolveNode( s)955 PreIncResolveNode(const Identifier& ident) KJS_FAST_CALL 956 : PrePostResolveNode(ident) 931 957 { 932 958 } … … 969 995 class PreDecResolveNode : public PrePostResolveNode { 970 996 public: 971 PreDecResolveNode(const Identifier &s) KJS_FAST_CALL972 : PrePostResolveNode( s)997 PreDecResolveNode(const Identifier& ident) KJS_FAST_CALL 998 : PrePostResolveNode(ident) 973 999 { 974 1000 } … … 1011 1037 class PrefixBracketNode : public ExpressionNode { 1012 1038 public: 1013 PrefixBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : m_base(b), m_subscript(s) {} 1014 1039 PrefixBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 1040 : m_base(base), m_subscript(subscript) { } 1041 1015 1042 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1016 1043 virtual Precedence precedence() const { return PrecUnary; } … … 1022 1049 class PreIncBracketNode : public PrefixBracketNode { 1023 1050 public: 1024 PreIncBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : PrefixBracketNode(b, s) {} 1051 PreIncBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 1052 : PrefixBracketNode(base, subscript) { } 1025 1053 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1026 1054 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1029 1057 class PreDecBracketNode : public PrefixBracketNode { 1030 1058 public: 1031 PreDecBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : PrefixBracketNode(b, s) {} 1059 PreDecBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 1060 : PrefixBracketNode(base, subscript) { } 1032 1061 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1033 1062 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1036 1065 class PrefixDotNode : public ExpressionNode { 1037 1066 public: 1038 PrefixDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : m_base(b), m_ident(i) {} 1067 PrefixDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 1068 : m_base(base), m_ident(ident) { } 1039 1069 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1040 1070 virtual Precedence precedence() const { return PrecPostfix; } … … 1046 1076 class PreIncDotNode : public PrefixDotNode { 1047 1077 public: 1048 PreIncDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : PrefixDotNode(b, i) {} 1078 PreIncDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 1079 : PrefixDotNode(base, ident) { } 1049 1080 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1050 1081 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1053 1084 class PreDecDotNode : public PrefixDotNode { 1054 1085 public: 1055 PreDecDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : PrefixDotNode(b, i) {} 1086 PreDecDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 1087 : PrefixDotNode(base, ident) { } 1056 1088 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1057 1089 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1060 1092 class PrefixErrorNode : public ExpressionNode { 1061 1093 public: 1062 PrefixErrorNode(ExpressionNode* e, Operator o) KJS_FAST_CALL : m_expr(e), m_oper(o) {} 1094 PrefixErrorNode(ExpressionNode* expr, Operator oper) KJS_FAST_CALL 1095 : m_expr(expr), m_oper(oper) { } 1063 1096 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1064 1097 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1071 1104 class UnaryPlusNode : public ExpressionNode { 1072 1105 public: 1073 UnaryPlusNode(ExpressionNode* e) KJS_FAST_CALL : ExpressionNode(NumberType), m_expr(e) {} 1106 UnaryPlusNode(ExpressionNode* expr) KJS_FAST_CALL 1107 : ExpressionNode(NumberType), m_expr(expr) { } 1074 1108 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1075 1109 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1086 1120 class NegateNode : public ExpressionNode { 1087 1121 public: 1088 NegateNode(ExpressionNode* e) KJS_FAST_CALL : ExpressionNode(NumberType), expr(e) {} 1122 NegateNode(ExpressionNode* expr) KJS_FAST_CALL 1123 : ExpressionNode(NumberType), m_expr(expr) { } 1089 1124 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1090 1125 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1093 1128 virtual Precedence precedence() const { return PrecUnary; } 1094 1129 private: 1095 RefPtr<ExpressionNode> expr;1130 RefPtr<ExpressionNode> m_expr; 1096 1131 }; 1097 1132 1098 1133 class BitwiseNotNode : public ExpressionNode { 1099 1134 public: 1100 BitwiseNotNode(ExpressionNode* e) KJS_FAST_CALL : ExpressionNode(NumberType), expr(e) {} 1135 BitwiseNotNode(ExpressionNode* expr) KJS_FAST_CALL 1136 : ExpressionNode(NumberType), m_expr(expr) { } 1101 1137 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1102 1138 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1109 1145 private: 1110 1146 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1111 RefPtr<ExpressionNode> expr;1147 RefPtr<ExpressionNode> m_expr; 1112 1148 }; 1113 1149 1114 1150 class LogicalNotNode : public ExpressionNode { 1115 1151 public: 1116 LogicalNotNode(ExpressionNode* e) KJS_FAST_CALL : ExpressionNode(BooleanType), expr(e) {} 1152 LogicalNotNode(ExpressionNode* expr) KJS_FAST_CALL 1153 : ExpressionNode(BooleanType), m_expr(expr) { } 1117 1154 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1118 1155 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1121 1158 virtual Precedence precedence() const { return PrecUnary; } 1122 1159 private: 1123 RefPtr<ExpressionNode> expr;1160 RefPtr<ExpressionNode> m_expr; 1124 1161 }; 1125 1162 1126 1163 class MultNode : public ExpressionNode { 1127 1164 public: 1128 MultNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : ExpressionNode(NumberType), term1(t1), term2(t2) {} 1165 MultNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1166 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1129 1167 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1130 1168 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1137 1175 private: 1138 1176 ALWAYS_INLINE double inlineEvaluateToNumber(ExecState*); 1139 RefPtr<ExpressionNode> term1;1140 RefPtr<ExpressionNode> term2;1177 RefPtr<ExpressionNode> m_term1; 1178 RefPtr<ExpressionNode> m_term2; 1141 1179 }; 1142 1180 1143 1181 class DivNode : public ExpressionNode { 1144 1182 public: 1145 DivNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : ExpressionNode(NumberType), term1(t1), term2(t2) {} 1183 DivNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1184 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1146 1185 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1147 1186 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1153 1192 private: 1154 1193 ALWAYS_INLINE double inlineEvaluateToNumber(ExecState*); 1155 RefPtr<ExpressionNode> term1;1156 RefPtr<ExpressionNode> term2;1194 RefPtr<ExpressionNode> m_term1; 1195 RefPtr<ExpressionNode> m_term2; 1157 1196 }; 1158 1197 1159 1198 class ModNode : public ExpressionNode { 1160 1199 public: 1161 ModNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : ExpressionNode(NumberType), term1(t1), term2(t2) {} 1200 ModNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1201 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1162 1202 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1163 1203 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1170 1210 private: 1171 1211 ALWAYS_INLINE double inlineEvaluateToNumber(ExecState*); 1172 RefPtr<ExpressionNode> term1;1173 RefPtr<ExpressionNode> term2;1212 RefPtr<ExpressionNode> m_term1; 1213 RefPtr<ExpressionNode> m_term2; 1174 1214 }; 1175 1215 1176 1216 class AddNode : public ExpressionNode { 1177 1217 public: 1178 AddNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : term1(t1), term2(t2) {} 1218 AddNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1219 : m_term1(term1), m_term2(term2) { } 1179 1220 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1180 1221 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1185 1226 virtual Precedence precedence() const { return PrecAdditive; } 1186 1227 protected: 1187 AddNode(ExpressionNode* t1, ExpressionNode* t2, JSType expectedReturn) KJS_FAST_CALL : ExpressionNode(expectedReturn), term1(t1), term2(t2) {} 1188 RefPtr<ExpressionNode> term1; 1189 RefPtr<ExpressionNode> term2; 1228 AddNode(ExpressionNode* term1, ExpressionNode* term2, JSType expectedReturn) KJS_FAST_CALL 1229 : ExpressionNode(expectedReturn), m_term1(term1), m_term2(term2) { } 1230 RefPtr<ExpressionNode> m_term1; 1231 RefPtr<ExpressionNode> m_term2; 1190 1232 private: 1191 1233 ALWAYS_INLINE double inlineEvaluateToNumber(ExecState*); … … 1194 1236 class AddNumbersNode : public AddNode { 1195 1237 public: 1196 AddNumbersNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : AddNode(t1, t2, NumberType) {} 1238 AddNumbersNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1239 : AddNode(term1, term2, NumberType) { } 1197 1240 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1198 1241 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; … … 1205 1248 class AddStringLeftNode : public AddNode { 1206 1249 public: 1207 AddStringLeftNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : AddNode(t1, t2, StringType) {} 1250 AddStringLeftNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1251 : AddNode(term1, term2, StringType) { } 1208 1252 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1209 1253 }; … … 1211 1255 class AddStringRightNode : public AddNode { 1212 1256 public: 1213 AddStringRightNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : AddNode(t1, t2, StringType) {} 1257 AddStringRightNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1258 : AddNode(term1, term2, StringType) { } 1214 1259 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1215 1260 }; … … 1217 1262 class AddStringsNode : public AddNode { 1218 1263 public: 1219 AddStringsNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : AddNode(t1, t2, StringType) {} 1264 AddStringsNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1265 : AddNode(term1, term2, StringType) { } 1220 1266 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1221 1267 }; … … 1223 1269 class SubNode : public ExpressionNode { 1224 1270 public: 1225 SubNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : ExpressionNode(NumberType), term1(t1), term2(t2) {} 1271 SubNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1272 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1226 1273 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1227 1274 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1233 1280 private: 1234 1281 ALWAYS_INLINE double inlineEvaluateToNumber(ExecState*); 1235 RefPtr<ExpressionNode> term1;1236 RefPtr<ExpressionNode> term2;1282 RefPtr<ExpressionNode> m_term1; 1283 RefPtr<ExpressionNode> m_term2; 1237 1284 }; 1238 1285 1239 1286 class LeftShiftNode : public ExpressionNode { 1240 1287 public: 1241 LeftShiftNode(ExpressionNode* t 1, ExpressionNode* t2) KJS_FAST_CALL1242 : ExpressionNode(NumberType), term1(t1), term2(t2) {}1288 LeftShiftNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1289 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1243 1290 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1244 1291 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1250 1297 private: 1251 1298 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1252 RefPtr<ExpressionNode> term1;1253 RefPtr<ExpressionNode> term2;1299 RefPtr<ExpressionNode> m_term1; 1300 RefPtr<ExpressionNode> m_term2; 1254 1301 }; 1255 1302 1256 1303 class RightShiftNode : public ExpressionNode { 1257 1304 public: 1258 RightShiftNode(ExpressionNode* t 1, ExpressionNode* t2) KJS_FAST_CALL1259 : ExpressionNode(NumberType), term1(t1), term2(t2) {}1305 RightShiftNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1306 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1260 1307 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1261 1308 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1267 1314 private: 1268 1315 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1269 RefPtr<ExpressionNode> term1;1270 RefPtr<ExpressionNode> term2;1316 RefPtr<ExpressionNode> m_term1; 1317 RefPtr<ExpressionNode> m_term2; 1271 1318 }; 1272 1319 1273 1320 class UnsignedRightShiftNode : public ExpressionNode { 1274 1321 public: 1275 UnsignedRightShiftNode(ExpressionNode* t 1, ExpressionNode* t2) KJS_FAST_CALL1276 : ExpressionNode(NumberType), term1(t1), term2(t2) {}1322 UnsignedRightShiftNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1323 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1277 1324 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1278 1325 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1284 1331 private: 1285 1332 ALWAYS_INLINE uint32_t inlineEvaluateToUInt32(ExecState*); 1286 RefPtr<ExpressionNode> term1;1287 RefPtr<ExpressionNode> term2;1333 RefPtr<ExpressionNode> m_term1; 1334 RefPtr<ExpressionNode> m_term2; 1288 1335 }; 1289 1336 1290 1337 class LessNode : public ExpressionNode { 1291 1338 public: 1292 LessNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1293 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1339 LessNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1340 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) {} 1294 1341 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1295 1342 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1300 1347 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1301 1348 protected: 1302 RefPtr<ExpressionNode> expr1;1303 RefPtr<ExpressionNode> expr2;1349 RefPtr<ExpressionNode> m_expr1; 1350 RefPtr<ExpressionNode> m_expr2; 1304 1351 }; 1305 1352 1306 1353 class LessNumbersNode : public LessNode { 1307 1354 public: 1308 LessNumbersNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1309 : LessNode(e 1, e2) {}1355 LessNumbersNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1356 : LessNode(expr1, expr2) { } 1310 1357 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1311 1358 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; … … 1316 1363 class LessStringsNode : public LessNode { 1317 1364 public: 1318 LessStringsNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1319 : LessNode(e 1, e2) {}1365 LessStringsNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1366 : LessNode(expr1, expr2) { } 1320 1367 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1321 1368 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; … … 1327 1374 public: 1328 1375 GreaterNode(ExpressionNode* e1, ExpressionNode* e2) KJS_FAST_CALL : 1329 expr1(e1),expr2(e2) {}1376 m_expr1(e1), m_expr2(e2) {} 1330 1377 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1331 1378 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1335 1382 private: 1336 1383 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1337 RefPtr<ExpressionNode> expr1;1338 RefPtr<ExpressionNode> expr2;1384 RefPtr<ExpressionNode> m_expr1; 1385 RefPtr<ExpressionNode> m_expr2; 1339 1386 }; 1340 1387 1341 1388 class LessEqNode : public ExpressionNode { 1342 1389 public: 1343 LessEqNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL :1344 expr1(e1), expr2(e2) {}1390 LessEqNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1391 : m_expr1(expr1), m_expr2(expr2) { } 1345 1392 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1346 1393 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1350 1397 private: 1351 1398 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1352 RefPtr<ExpressionNode> expr1;1353 RefPtr<ExpressionNode> expr2;1399 RefPtr<ExpressionNode> m_expr1; 1400 RefPtr<ExpressionNode> m_expr2; 1354 1401 }; 1355 1402 1356 1403 class GreaterEqNode : public ExpressionNode { 1357 1404 public: 1358 GreaterEqNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL :1359 expr1(e1), expr2(e2) {}1405 GreaterEqNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1406 : m_expr1(expr1), m_expr2(expr2) { } 1360 1407 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1361 1408 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1365 1412 private: 1366 1413 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1367 RefPtr<ExpressionNode> expr1;1368 RefPtr<ExpressionNode> expr2;1414 RefPtr<ExpressionNode> m_expr1; 1415 RefPtr<ExpressionNode> m_expr2; 1369 1416 }; 1370 1417 1371 1418 class InstanceOfNode : public ExpressionNode { 1372 1419 public: 1373 InstanceOfNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1374 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1420 InstanceOfNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1421 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1375 1422 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1376 1423 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1379 1426 virtual Precedence precedence() const { return PrecRelational; } 1380 1427 private: 1381 RefPtr<ExpressionNode> expr1;1382 RefPtr<ExpressionNode> expr2;1428 RefPtr<ExpressionNode> m_expr1; 1429 RefPtr<ExpressionNode> m_expr2; 1383 1430 }; 1384 1431 1385 1432 class InNode : public ExpressionNode { 1386 1433 public: 1387 InNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL :1388 expr1(e1), expr2(e2) {}1434 InNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1435 : m_expr1(expr1), m_expr2(expr2) { } 1389 1436 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1390 1437 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1393 1440 virtual Precedence precedence() const { return PrecRelational; } 1394 1441 private: 1395 RefPtr<ExpressionNode> expr1;1396 RefPtr<ExpressionNode> expr2;1442 RefPtr<ExpressionNode> m_expr1; 1443 RefPtr<ExpressionNode> m_expr2; 1397 1444 }; 1398 1445 1399 1446 class EqualNode : public ExpressionNode { 1400 1447 public: 1401 EqualNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1402 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1448 EqualNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1449 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1403 1450 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1404 1451 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1408 1455 private: 1409 1456 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1410 RefPtr<ExpressionNode> expr1;1411 RefPtr<ExpressionNode> expr2;1457 RefPtr<ExpressionNode> m_expr1; 1458 RefPtr<ExpressionNode> m_expr2; 1412 1459 }; 1413 1460 1414 1461 class NotEqualNode : public ExpressionNode { 1415 1462 public: 1416 NotEqualNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1417 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1463 NotEqualNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1464 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1418 1465 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1419 1466 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1423 1470 private: 1424 1471 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1425 RefPtr<ExpressionNode> expr1;1426 RefPtr<ExpressionNode> expr2;1472 RefPtr<ExpressionNode> m_expr1; 1473 RefPtr<ExpressionNode> m_expr2; 1427 1474 }; 1428 1475 1429 1476 class StrictEqualNode : public ExpressionNode { 1430 1477 public: 1431 StrictEqualNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1432 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1478 StrictEqualNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1479 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1433 1480 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1434 1481 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1438 1485 private: 1439 1486 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1440 RefPtr<ExpressionNode> expr1;1441 RefPtr<ExpressionNode> expr2;1487 RefPtr<ExpressionNode> m_expr1; 1488 RefPtr<ExpressionNode> m_expr2; 1442 1489 }; 1443 1490 1444 1491 class NotStrictEqualNode : public ExpressionNode { 1445 1492 public: 1446 NotStrictEqualNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1447 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1493 NotStrictEqualNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1494 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1448 1495 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1449 1496 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1453 1500 private: 1454 1501 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1455 RefPtr<ExpressionNode> expr1;1456 RefPtr<ExpressionNode> expr2;1502 RefPtr<ExpressionNode> m_expr1; 1503 RefPtr<ExpressionNode> m_expr2; 1457 1504 }; 1458 1505 1459 1506 class BitAndNode : public ExpressionNode { 1460 1507 public: 1461 BitAndNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1462 : ExpressionNode(NumberType), expr1(e1), expr2(e2) {}1508 BitAndNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1509 : ExpressionNode(NumberType), m_expr1(expr1), m_expr2(expr2) { } 1463 1510 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1464 1511 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1471 1518 private: 1472 1519 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1473 RefPtr<ExpressionNode> expr1;1474 RefPtr<ExpressionNode> expr2;1520 RefPtr<ExpressionNode> m_expr1; 1521 RefPtr<ExpressionNode> m_expr2; 1475 1522 }; 1476 1523 1477 1524 class BitOrNode : public ExpressionNode { 1478 1525 public: 1479 BitOrNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1480 : ExpressionNode(NumberType), expr1(e1), expr2(e2) {}1526 BitOrNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1527 : ExpressionNode(NumberType), m_expr1(expr1), m_expr2(expr2) { } 1481 1528 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1482 1529 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1489 1536 private: 1490 1537 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1491 RefPtr<ExpressionNode> expr1;1492 RefPtr<ExpressionNode> expr2;1493 }; 1494 1495 1496 public: 1497 BitXOrNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1498 : ExpressionNode(NumberType), expr1(e1), expr2(e2) {}1538 RefPtr<ExpressionNode> m_expr1; 1539 RefPtr<ExpressionNode> m_expr2; 1540 }; 1541 1542 class BitXOrNode : public ExpressionNode { 1543 public: 1544 BitXOrNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1545 : ExpressionNode(NumberType), m_expr1(expr1), m_expr2(expr2) { } 1499 1546 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1500 1547 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1507 1554 private: 1508 1555 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1509 RefPtr<ExpressionNode> expr1;1510 RefPtr<ExpressionNode> expr2;1556 RefPtr<ExpressionNode> m_expr1; 1557 RefPtr<ExpressionNode> m_expr2; 1511 1558 }; 1512 1559 1513 1560 /** 1514 * expr1 && expr2, expr1 ||expr21561 * m_expr1 && m_expr2, m_expr1 || m_expr2 1515 1562 */ 1516 1563 class LogicalAndNode : public ExpressionNode { 1517 1564 public: 1518 LogicalAndNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1519 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1565 LogicalAndNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1566 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1520 1567 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1521 1568 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1525 1572 private: 1526 1573 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1527 RefPtr<ExpressionNode> expr1;1528 RefPtr<ExpressionNode> expr2;1574 RefPtr<ExpressionNode> m_expr1; 1575 RefPtr<ExpressionNode> m_expr2; 1529 1576 }; 1530 1577 1531 1578 class LogicalOrNode : public ExpressionNode { 1532 1579 public: 1533 LogicalOrNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1534 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1580 LogicalOrNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1581 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1535 1582 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1536 1583 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1540 1587 private: 1541 1588 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1542 RefPtr<ExpressionNode> expr1;1543 RefPtr<ExpressionNode> expr2;1589 RefPtr<ExpressionNode> m_expr1; 1590 RefPtr<ExpressionNode> m_expr2; 1544 1591 }; 1545 1592 1546 1593 /** 1547 * The ternary operator, " logical ? expr1 :expr2"1594 * The ternary operator, "m_logical ? m_expr1 : m_expr2" 1548 1595 */ 1549 1550 public: 1551 ConditionalNode(ExpressionNode* l, ExpressionNode* e1, ExpressionNode* e2) KJS_FAST_CALL :1552 logical(l), expr1(e1), expr2(e2) {}1596 class ConditionalNode : public ExpressionNode { 1597 public: 1598 ConditionalNode(ExpressionNode* logical, ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1599 : m_logical(logical), m_expr1(expr1), m_expr2(expr2) { } 1553 1600 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1554 1601 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1560 1607 virtual Precedence precedence() const { return PrecConditional; } 1561 1608 private: 1562 RefPtr<ExpressionNode> logical;1563 RefPtr<ExpressionNode> expr1;1564 RefPtr<ExpressionNode> expr2;1565 }; 1566 1567 1568 public: 1569 ReadModifyResolveNode(const Identifier &ident, Operator oper, ExpressionNode* right) KJS_FAST_CALL1609 RefPtr<ExpressionNode> m_logical; 1610 RefPtr<ExpressionNode> m_expr1; 1611 RefPtr<ExpressionNode> m_expr2; 1612 }; 1613 1614 class ReadModifyResolveNode : public ExpressionNode { 1615 public: 1616 ReadModifyResolveNode(const Identifier& ident, Operator oper, ExpressionNode* right) KJS_FAST_CALL 1570 1617 : m_ident(ident) 1571 1618 , m_oper(oper) 1572 1619 , m_right(right) 1573 1574 1620 { 1621 } 1575 1622 1576 1623 ReadModifyResolveNode(PlacementNewAdoptType) KJS_FAST_CALL … … 1615 1662 }; 1616 1663 1617 1618 public: 1619 AssignResolveNode(const Identifier &ident, ExpressionNode*right) KJS_FAST_CALL1664 class AssignResolveNode : public ExpressionNode { 1665 public: 1666 AssignResolveNode(const Identifier& ident, ExpressionNode* right) KJS_FAST_CALL 1620 1667 : m_ident(ident) 1621 1668 , m_right(right) … … 1661 1708 }; 1662 1709 1663 1664 public: 1665 ReadModifyBracketNode(ExpressionNode* base, ExpressionNode* subscript, Operator oper, ExpressionNode*right) KJS_FAST_CALL1666 : m_base(base), m_subscript(subscript), m_oper(oper), m_right(right) { }1710 class ReadModifyBracketNode : public ExpressionNode { 1711 public: 1712 ReadModifyBracketNode(ExpressionNode* base, ExpressionNode* subscript, Operator oper, ExpressionNode* right) KJS_FAST_CALL 1713 : m_base(base), m_subscript(subscript), m_oper(oper), m_right(right) { } 1667 1714 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1668 1715 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1676 1723 }; 1677 1724 1678 1679 public: 1680 AssignBracketNode(ExpressionNode* base, ExpressionNode* subscript, ExpressionNode*right) KJS_FAST_CALL1681 : m_base(base), m_subscript(subscript), m_right(right) { }1725 class AssignBracketNode : public ExpressionNode { 1726 public: 1727 AssignBracketNode(ExpressionNode* base, ExpressionNode* subscript, ExpressionNode* right) KJS_FAST_CALL 1728 : m_base(base), m_subscript(subscript), m_right(right) { } 1682 1729 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1683 1730 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1690 1737 }; 1691 1738 1692 1693 public: 1694 AssignDotNode(ExpressionNode* base, const Identifier& ident, ExpressionNode*right) KJS_FAST_CALL1695 : m_base(base), m_ident(ident), m_right(right) { }1739 class AssignDotNode : public ExpressionNode { 1740 public: 1741 AssignDotNode(ExpressionNode* base, const Identifier& ident, ExpressionNode* right) KJS_FAST_CALL 1742 : m_base(base), m_ident(ident), m_right(right) { } 1696 1743 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1697 1744 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1704 1751 }; 1705 1752 1706 1707 public: 1708 ReadModifyDotNode(ExpressionNode* base, const Identifier& ident, Operator oper, ExpressionNode*right) KJS_FAST_CALL1709 : m_base(base), m_ident(ident), m_oper(oper), m_right(right) { }1753 class ReadModifyDotNode : public ExpressionNode { 1754 public: 1755 ReadModifyDotNode(ExpressionNode* base, const Identifier& ident, Operator oper, ExpressionNode* right) KJS_FAST_CALL 1756 : m_base(base), m_ident(ident), m_oper(oper), m_right(right) { } 1710 1757 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1711 1758 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1719 1766 }; 1720 1767 1721 1768 class AssignErrorNode : public ExpressionNode { 1722 1769 public: 1723 1770 AssignErrorNode(ExpressionNode* left, Operator oper, ExpressionNode* right) KJS_FAST_CALL 1724 : m_left(left), m_oper(oper), m_right(right) { }1771 : m_left(left), m_oper(oper), m_right(right) { } 1725 1772 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1726 1773 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1732 1779 }; 1733 1780 1734 class CommaNode : public ExpressionNode { 1735 public: 1736 CommaNode(ExpressionNode* e1, ExpressionNode* e2) KJS_FAST_CALL : expr1(e1), expr2(e2) 1737 { 1738 e1->optimizeForUnnecessaryResult(); 1781 class CommaNode : public ExpressionNode { 1782 public: 1783 CommaNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1784 : m_expr1(expr1) 1785 , m_expr2(expr2) 1786 { 1787 m_expr1->optimizeForUnnecessaryResult(); 1739 1788 } 1740 1789 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; … … 1743 1792 virtual Precedence precedence() const { return PrecExpression; } 1744 1793 private: 1745 RefPtr<ExpressionNode> expr1;1746 RefPtr<ExpressionNode> expr2;1794 RefPtr<ExpressionNode> m_expr1; 1795 RefPtr<ExpressionNode> m_expr2; 1747 1796 }; 1748 1797 1749 1798 class ConstDeclNode : public ExpressionNode { 1750 1799 public: 1751 ConstDeclNode(const Identifier& id , ExpressionNode* in) KJS_FAST_CALL;1800 ConstDeclNode(const Identifier& ident, ExpressionNode* in) KJS_FAST_CALL; 1752 1801 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1753 1802 virtual KJS::JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1755 1804 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1756 1805 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 1757 PassRefPtr<ConstDeclNode> releaseNext() KJS_FAST_CALL { return next.release(); }1758 1759 Identifier ident;1760 ListRefPtr<ConstDeclNode> next;1761 RefPtr<ExpressionNode> init;1806 PassRefPtr<ConstDeclNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 1807 1808 Identifier m_ident; 1809 ListRefPtr<ConstDeclNode> m_next; 1810 RefPtr<ExpressionNode> m_init; 1762 1811 private: 1763 1812 void handleSlowCase(ExecState*, const ScopeChain&, JSValue*) KJS_FAST_CALL NEVER_INLINE; … … 1766 1815 class ConstStatementNode : public StatementNode { 1767 1816 public: 1768 ConstStatementNode(ConstDeclNode* l) KJS_FAST_CALL : next(l) { } 1817 ConstStatementNode(ConstDeclNode* next) KJS_FAST_CALL 1818 : m_next(next) { } 1769 1819 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1770 1820 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1771 1821 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1772 1822 private: 1773 RefPtr<ConstDeclNode> next;1823 RefPtr<ConstDeclNode> m_next; 1774 1824 }; 1775 1825 … … 1808 1858 class ExprStatementNode : public StatementNode { 1809 1859 public: 1810 ExprStatementNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) { } 1860 ExprStatementNode(ExpressionNode* expr) KJS_FAST_CALL 1861 : m_expr(expr) { } 1811 1862 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1812 1863 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1813 1864 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1814 1865 private: 1815 RefPtr<ExpressionNode> expr;1866 RefPtr<ExpressionNode> m_expr; 1816 1867 }; 1817 1868 1818 1869 class VarStatementNode : public StatementNode { 1819 1870 public: 1820 VarStatementNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) { }1871 VarStatementNode(ExpressionNode* e) KJS_FAST_CALL : m_expr(e) { } 1821 1872 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1822 1873 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1823 1874 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1824 1875 private: 1825 RefPtr<ExpressionNode> expr;1876 RefPtr<ExpressionNode> m_expr; 1826 1877 }; 1827 1878 1828 1879 class IfNode : public StatementNode { 1829 1880 public: 1830 IfNode(ExpressionNode* e, StatementNode *s) KJS_FAST_CALL1831 : m_condition( e), m_ifBlock(s) { }1881 IfNode(ExpressionNode* condition, StatementNode* ifBlock) KJS_FAST_CALL 1882 : m_condition(condition), m_ifBlock(ifBlock) { } 1832 1883 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1833 1884 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; … … 1840 1891 class IfElseNode : public IfNode { 1841 1892 public: 1842 IfElseNode(ExpressionNode* e, StatementNode* ifBlock, StatementNode* elseBlock) KJS_FAST_CALL1843 : IfNode( e, ifBlock), m_elseBlock(elseBlock) { }1893 IfElseNode(ExpressionNode* condtion, StatementNode* ifBlock, StatementNode* elseBlock) KJS_FAST_CALL 1894 : IfNode(condtion, ifBlock), m_elseBlock(elseBlock) { } 1844 1895 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1845 1896 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; … … 1851 1902 class DoWhileNode : public StatementNode { 1852 1903 public: 1853 DoWhileNode(StatementNode *s, ExpressionNode* e) KJS_FAST_CALL : statement(s), expr(e) { } 1904 DoWhileNode(StatementNode* statement, ExpressionNode* expr) KJS_FAST_CALL 1905 : m_statement(statement), m_expr(expr) { } 1854 1906 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1855 1907 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1856 1908 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1857 1909 private: 1858 RefPtr<StatementNode> statement;1859 RefPtr<ExpressionNode> expr;1910 RefPtr<StatementNode> m_statement; 1911 RefPtr<ExpressionNode> m_expr; 1860 1912 }; 1861 1913 1862 1914 class WhileNode : public StatementNode { 1863 1915 public: 1864 WhileNode(ExpressionNode* e, StatementNode *s) KJS_FAST_CALL : expr(e), statement(s) { } 1916 WhileNode(ExpressionNode* expr, StatementNode* statement) KJS_FAST_CALL 1917 : m_expr(expr), m_statement(statement) { } 1865 1918 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1866 1919 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1867 1920 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1868 1921 private: 1869 RefPtr<ExpressionNode> expr;1870 RefPtr<StatementNode> statement;1922 RefPtr<ExpressionNode> m_expr; 1923 RefPtr<StatementNode> m_statement; 1871 1924 }; 1872 1925 1873 1926 class ForNode : public StatementNode { 1874 1927 public: 1875 ForNode(ExpressionNode* e 1, ExpressionNode* e2, ExpressionNode* e3, StatementNode* s, bool e1WasVarDecl) KJS_FAST_CALL1876 : expr1(e1 ? e1 : new PlaceholderTrueNode)1877 , expr2(e2 ? e2 : new PlaceholderTrueNode)1878 , expr3(e3 ? e3 : new PlaceholderTrueNode)1879 , statement(s)1880 , expr1WasVarDecl(e1 && e1WasVarDecl)1881 { 1882 ASSERT( expr1);1883 ASSERT( expr2);1884 ASSERT( expr3);1928 ForNode(ExpressionNode* expr1, ExpressionNode* expr2, ExpressionNode* expr3, StatementNode* statement, bool expr1WasVarDecl) KJS_FAST_CALL 1929 : m_expr1(expr1 ? expr1 : new PlaceholderTrueNode) 1930 , m_expr2(expr2 ? expr2 : new PlaceholderTrueNode) 1931 , m_expr3(expr3 ? expr3 : new PlaceholderTrueNode) 1932 , m_statement(statement) 1933 , m_expr1WasVarDecl(expr1 && expr1WasVarDecl) 1934 { 1935 ASSERT(m_expr1); 1936 ASSERT(m_expr2); 1937 ASSERT(m_expr3); 1885 1938 ASSERT(statement); 1886 1939 1887 expr1->optimizeForUnnecessaryResult();1888 expr3->optimizeForUnnecessaryResult();1940 m_expr1->optimizeForUnnecessaryResult(); 1941 m_expr3->optimizeForUnnecessaryResult(); 1889 1942 } 1890 1943 … … 1893 1946 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1894 1947 private: 1895 RefPtr<ExpressionNode> expr1;1896 RefPtr<ExpressionNode> expr2;1897 RefPtr<ExpressionNode> expr3;1898 RefPtr<StatementNode> statement;1899 bool expr1WasVarDecl;1948 RefPtr<ExpressionNode> m_expr1; 1949 RefPtr<ExpressionNode> m_expr2; 1950 RefPtr<ExpressionNode> m_expr3; 1951 RefPtr<StatementNode> m_statement; 1952 bool m_expr1WasVarDecl; 1900 1953 }; 1901 1954 1902 1955 class ForInNode : public StatementNode { 1903 1956 public: 1904 ForInNode(ExpressionNode* l, ExpressionNode* e, StatementNode *s) KJS_FAST_CALL;1905 ForInNode(const Identifier &i, ExpressionNode *in, ExpressionNode* e, StatementNode *s) KJS_FAST_CALL;1957 ForInNode(ExpressionNode*, ExpressionNode*, StatementNode*) KJS_FAST_CALL; 1958 ForInNode(const Identifier&, ExpressionNode*, ExpressionNode*, StatementNode*) KJS_FAST_CALL; 1906 1959 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1907 1960 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1908 1961 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1909 1962 private: 1910 Identifier ident;1911 RefPtr<ExpressionNode> init;1912 RefPtr<ExpressionNode> lexpr;1913 RefPtr<ExpressionNode> expr;1914 RefPtr<StatementNode> statement;1915 bool identIsVarDecl;1963 Identifier m_ident; 1964 RefPtr<ExpressionNode> m_init; 1965 RefPtr<ExpressionNode> m_lexpr; 1966 RefPtr<ExpressionNode> m_expr; 1967 RefPtr<StatementNode> m_statement; 1968 bool m_identIsVarDecl; 1916 1969 }; 1917 1970 … … 1919 1972 public: 1920 1973 ContinueNode() KJS_FAST_CALL { } 1921 ContinueNode(const Identifier &i) KJS_FAST_CALL : ident(i) { } 1974 ContinueNode(const Identifier& ident) KJS_FAST_CALL 1975 : m_ident(ident) { } 1922 1976 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1923 1977 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1924 1978 private: 1925 Identifier ident;1979 Identifier m_ident; 1926 1980 }; 1927 1981 … … 1929 1983 public: 1930 1984 BreakNode() KJS_FAST_CALL { } 1931 BreakNode(const Identifier &i) KJS_FAST_CALL : ident(i) { } 1985 BreakNode(const Identifier& ident) KJS_FAST_CALL 1986 : m_ident(ident) { } 1932 1987 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1933 1988 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1934 1989 private: 1935 Identifier ident;1990 Identifier m_ident; 1936 1991 }; 1937 1992 1938 1993 class ReturnNode : public StatementNode { 1939 1994 public: 1940 ReturnNode(ExpressionNode* v) KJS_FAST_CALL : value(v) {} 1995 ReturnNode(ExpressionNode* value) KJS_FAST_CALL 1996 : m_value(value) { } 1941 1997 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1942 1998 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1943 1999 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1944 2000 private: 1945 RefPtr<ExpressionNode> value;2001 RefPtr<ExpressionNode> m_value; 1946 2002 }; 1947 2003 1948 2004 class WithNode : public StatementNode { 1949 2005 public: 1950 WithNode(ExpressionNode* e, StatementNode* s) KJS_FAST_CALL : expr(e), statement(s) { } 2006 WithNode(ExpressionNode* expr, StatementNode* statement) KJS_FAST_CALL 2007 : m_expr(expr), m_statement(statement) { } 1951 2008 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1952 2009 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1953 2010 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1954 2011 private: 1955 RefPtr<ExpressionNode> expr;1956 RefPtr<StatementNode> statement;2012 RefPtr<ExpressionNode> m_expr; 2013 RefPtr<StatementNode> m_statement; 1957 2014 }; 1958 2015 1959 2016 class LabelNode : public StatementNode { 1960 2017 public: 1961 LabelNode(const Identifier &l, StatementNode *s) KJS_FAST_CALL : label(l), statement(s) { } 2018 LabelNode(const Identifier& label, StatementNode* statement) KJS_FAST_CALL 2019 : m_label(label), m_statement(statement) { } 1962 2020 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1963 2021 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1964 2022 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1965 2023 private: 1966 Identifier label;1967 RefPtr<StatementNode> statement;2024 Identifier m_label; 2025 RefPtr<StatementNode> m_statement; 1968 2026 }; 1969 2027 1970 2028 class ThrowNode : public StatementNode { 1971 2029 public: 1972 ThrowNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) {} 2030 ThrowNode(ExpressionNode* expr) KJS_FAST_CALL 2031 : m_expr(expr) { } 1973 2032 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1974 2033 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1975 2034 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1976 2035 private: 1977 RefPtr<ExpressionNode> expr;2036 RefPtr<ExpressionNode> m_expr; 1978 2037 }; 1979 2038 1980 2039 class TryNode : public StatementNode { 1981 2040 public: 1982 TryNode(StatementNode *b, const Identifier &e, StatementNode *c, StatementNode *f) KJS_FAST_CALL1983 : tryBlock(b), exceptionIdent(e), catchBlock(c), finallyBlock(f) { }2041 TryNode(StatementNode* tryBlock, const Identifier& exceptionIdent, StatementNode* catchBlock, StatementNode* finallyBlock) KJS_FAST_CALL 2042 : m_tryBlock(tryBlock), m_exceptionIdent(exceptionIdent), m_catchBlock(catchBlock), m_finallyBlock(finallyBlock) { } 1984 2043 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1985 2044 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1986 2045 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1987 2046 private: 1988 RefPtr<StatementNode> tryBlock; 1989 Identifier exceptionIdent; 1990 RefPtr<StatementNode> catchBlock; 1991 RefPtr<StatementNode> finallyBlock; 1992 }; 1993 1994 class ParameterNode : public Node { 1995 public: 1996 ParameterNode(const Identifier& i) KJS_FAST_CALL : id(i) { } 1997 ParameterNode(ParameterNode* l, const Identifier& i) KJS_FAST_CALL 1998 : id(i) { l->next = this; } 1999 Identifier ident() KJS_FAST_CALL { return id; } 2000 ParameterNode *nextParam() KJS_FAST_CALL { return next.get(); } 2001 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2002 PassRefPtr<ParameterNode> releaseNext() KJS_FAST_CALL { return next.release(); } 2047 RefPtr<StatementNode> m_tryBlock; 2048 Identifier m_exceptionIdent; 2049 RefPtr<StatementNode> m_catchBlock; 2050 RefPtr<StatementNode> m_finallyBlock; 2051 }; 2052 2053 class ParameterNode : public Node { 2054 public: 2055 ParameterNode(const Identifier& ident) KJS_FAST_CALL 2056 : m_ident(ident) { } 2057 ParameterNode(ParameterNode* l, const Identifier& ident) KJS_FAST_CALL 2058 : m_ident(ident) { l->m_next = this; } 2059 Identifier ident() KJS_FAST_CALL { return m_ident; } 2060 ParameterNode *nextParam() KJS_FAST_CALL { return m_next.get(); } 2061 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2062 PassRefPtr<ParameterNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 2003 2063 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 2004 2064 private: 2005 2065 friend class FuncDeclNode; 2006 2066 friend class FuncExprNode; 2007 Identifier id;2008 ListRefPtr<ParameterNode> next;2067 Identifier m_ident; 2068 ListRefPtr<ParameterNode> m_next; 2009 2069 }; 2010 2070 … … 2077 2137 class FuncExprNode : public ExpressionNode { 2078 2138 public: 2079 FuncExprNode(const Identifier& i , FunctionBodyNode* b, ParameterNode* p= 0) KJS_FAST_CALL2080 : ident(i), param(p), body(b) { addParams(); }2139 FuncExprNode(const Identifier& ident, FunctionBodyNode* body, ParameterNode* parameter = 0) KJS_FAST_CALL 2140 : m_ident(ident), m_parameter(parameter), m_body(body) { addParams(); } 2081 2141 virtual JSValue *evaluate(ExecState*) KJS_FAST_CALL; 2082 2142 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 2087 2147 // Used for streamTo 2088 2148 friend class PropertyNode; 2089 Identifier ident;2090 RefPtr<ParameterNode> param;2091 RefPtr<FunctionBodyNode> body;2149 Identifier m_ident; 2150 RefPtr<ParameterNode> m_parameter; 2151 RefPtr<FunctionBodyNode> m_body; 2092 2152 }; 2093 2153 2094 2154 class FuncDeclNode : public StatementNode { 2095 2155 public: 2096 FuncDeclNode(const Identifier& i , FunctionBodyNode* b) KJS_FAST_CALL2097 : ident(i), body(b) { addParams(); }2098 FuncDeclNode(const Identifier& i , ParameterNode* p, FunctionBodyNode* b) KJS_FAST_CALL2099 : ident(i), param(p), body(b) { addParams(); }2156 FuncDeclNode(const Identifier& ident, FunctionBodyNode* body) KJS_FAST_CALL 2157 : m_ident(ident), m_body(body) { addParams(); } 2158 FuncDeclNode(const Identifier& ident, ParameterNode* parameter, FunctionBodyNode* body) KJS_FAST_CALL 2159 : m_ident(ident), m_parameter(parameter), m_body(body) { addParams(); } 2100 2160 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2101 2161 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2102 2162 ALWAYS_INLINE FunctionImp* makeFunction(ExecState*) KJS_FAST_CALL; 2103 Identifier ident;2163 Identifier m_ident; 2104 2164 private: 2105 2165 void addParams() KJS_FAST_CALL; 2106 RefPtr<ParameterNode> param; 2107 RefPtr<FunctionBodyNode> body; 2108 }; 2109 2110 class CaseClauseNode : public Node { 2111 public: 2112 CaseClauseNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) { } 2166 RefPtr<ParameterNode> m_parameter; 2167 RefPtr<FunctionBodyNode> m_body; 2168 }; 2169 2170 class CaseClauseNode : public Node { 2171 public: 2172 CaseClauseNode(ExpressionNode* e) KJS_FAST_CALL 2173 : m_expr(e) { } 2113 2174 CaseClauseNode(ExpressionNode* e, SourceElements* children) KJS_FAST_CALL 2114 :expr(e) { if (children) children->releaseContentsIntoVector(m_children); }2175 : m_expr(e) { if (children) children->releaseContentsIntoVector(m_children); } 2115 2176 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2116 2177 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 2121 2182 2122 2183 private: 2123 RefPtr<ExpressionNode> expr;2184 RefPtr<ExpressionNode> m_expr; 2124 2185 StatementVector m_children; 2125 2186 }; 2126 2187 2127 class ClauseListNode : public Node { 2128 public: 2129 ClauseListNode(CaseClauseNode* c) KJS_FAST_CALL : clause(c) { } 2130 ClauseListNode(ClauseListNode* n, CaseClauseNode* c) KJS_FAST_CALL 2131 : clause(c) { n->next = this; } 2188 class ClauseListNode : public Node { 2189 public: 2190 ClauseListNode(CaseClauseNode* clause) KJS_FAST_CALL 2191 : m_clause(clause) { } 2192 ClauseListNode(ClauseListNode* clauseList, CaseClauseNode* clause) KJS_FAST_CALL 2193 : m_clause(clause) { clauseList->m_next = this; } 2132 2194 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2133 CaseClauseNode* getClause() const KJS_FAST_CALL { return clause.get(); }2134 ClauseListNode* getNext() const KJS_FAST_CALL { return next.get(); }2195 CaseClauseNode* getClause() const KJS_FAST_CALL { return m_clause.get(); } 2196 ClauseListNode* getNext() const KJS_FAST_CALL { return m_next.get(); } 2135 2197 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2136 PassRefPtr<ClauseListNode> releaseNext() KJS_FAST_CALL { return next.release(); }2198 PassRefPtr<ClauseListNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 2137 2199 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 2138 2200 private: 2139 2201 friend class CaseBlockNode; 2140 RefPtr<CaseClauseNode> clause;2141 ListRefPtr<ClauseListNode> next;2202 RefPtr<CaseClauseNode> m_clause; 2203 ListRefPtr<ClauseListNode> m_next; 2142 2204 }; 2143 2205 2144 2145 public: 2146 CaseBlockNode(ClauseListNode* l 1, CaseClauseNode* d, ClauseListNode* l2) KJS_FAST_CALL;2206 class CaseBlockNode : public Node { 2207 public: 2208 CaseBlockNode(ClauseListNode* list1, CaseClauseNode* defaultClause, ClauseListNode* list2) KJS_FAST_CALL; 2147 2209 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2148 2210 JSValue* executeBlock(ExecState*, JSValue *input) KJS_FAST_CALL; … … 2150 2212 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 2151 2213 private: 2152 RefPtr<ClauseListNode> list1;2153 RefPtr<CaseClauseNode> def;2154 RefPtr<ClauseListNode> list2;2214 RefPtr<ClauseListNode> m_list1; 2215 RefPtr<CaseClauseNode> m_defaultClause; 2216 RefPtr<ClauseListNode> m_list2; 2155 2217 }; 2156 2218 2157 2219 class SwitchNode : public StatementNode { 2158 2220 public: 2159 SwitchNode(ExpressionNode* e, CaseBlockNode *b) KJS_FAST_CALL : expr(e), block(b) { } 2221 SwitchNode(ExpressionNode* expr, CaseBlockNode* block) KJS_FAST_CALL 2222 : m_expr(expr), m_block(block) { } 2160 2223 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2161 2224 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2162 2225 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2163 2226 private: 2164 RefPtr<ExpressionNode> expr;2165 RefPtr<CaseBlockNode> block;2227 RefPtr<ExpressionNode> m_expr; 2228 RefPtr<CaseBlockNode> m_block; 2166 2229 }; 2167 2230 … … 2206 2269 }; 2207 2270 2208 } // namespace 2209 2210 #endif 2271 } // namespace KJS 2272 2273 #endif // NODES_H_ -
trunk/JavaScriptCore/kjs/nodes2string.cpp
r29815 r29825 326 326 void ResolveNode::streamTo(SourceStream& s) const 327 327 { 328 s << ident;328 s << m_ident; 329 329 } 330 330 331 331 void ElementNode::streamTo(SourceStream& s) const 332 332 { 333 for (const ElementNode* n = this; n; n = n-> next.get()) {334 for (int i = 0; i < n-> elision; i++)333 for (const ElementNode* n = this; n; n = n->m_next.get()) { 334 for (int i = 0; i < n->m_elision; i++) 335 335 s << ','; 336 s << PrecAssignment << n-> node;337 if (n-> next)336 s << PrecAssignment << n->m_node; 337 if (n->m_next) 338 338 s << ','; 339 339 } … … 342 342 void ArrayNode::streamTo(SourceStream& s) const 343 343 { 344 s << '[' << element;345 for (int i = 0; i < elision; i++)344 s << '[' << m_element; 345 for (int i = 0; i < m_elision; i++) 346 346 s << ','; 347 347 // Parser consumes one elision comma if there's array elements 348 348 // present in the expression. 349 if ( opt &&element)349 if (m_opt && m_element) 350 350 s << ','; 351 351 s << ']'; … … 354 354 void ObjectLiteralNode::streamTo(SourceStream& s) const 355 355 { 356 if ( list)357 s << "{ " << list << " }";356 if (m_list) 357 s << "{ " << m_list << " }"; 358 358 else 359 359 s << "{ }"; … … 362 362 void PropertyListNode::streamTo(SourceStream& s) const 363 363 { 364 s << node;365 for (const PropertyListNode* n = next.get(); n; n = n->next.get())366 s << ", " << n-> node;364 s << m_node; 365 for (const PropertyListNode* n = m_next.get(); n; n = n->m_next.get()) 366 s << ", " << n->m_node; 367 367 } 368 368 369 369 void PropertyNode::streamTo(SourceStream& s) const 370 370 { 371 switch ( type) {371 switch (m_type) { 372 372 case Constant: { 373 373 UString propertyName = name().ustring(); … … 376 376 else 377 377 s << '"' << escapeStringForPrettyPrinting(propertyName) << '"'; 378 s << ": " << PrecAssignment << assign;378 s << ": " << PrecAssignment << m_assign; 379 379 break; 380 380 } 381 381 case Getter: 382 382 case Setter: { 383 const FuncExprNode* func = static_cast<const FuncExprNode*>( assign.get());384 if ( type == Getter)383 const FuncExprNode* func = static_cast<const FuncExprNode*>(m_assign.get()); 384 if (m_type == Getter) 385 385 s << "get "; 386 386 else 387 387 s << "set "; 388 388 s << escapeStringForPrettyPrinting(name().ustring()) 389 << "(" << func-> param << ')' << func->body;389 << "(" << func->m_parameter << ')' << func->m_body; 390 390 break; 391 391 } … … 395 395 void BracketAccessorNode::streamTo(SourceStream& s) const 396 396 { 397 bracketNodeStreamTo(s, expr1, expr2);397 bracketNodeStreamTo(s, m_base, m_subscript); 398 398 } 399 399 400 400 void DotAccessorNode::streamTo(SourceStream& s) const 401 401 { 402 dotNodeStreamTo(s, expr,ident);402 dotNodeStreamTo(s, m_base, m_ident); 403 403 } 404 404 405 405 void ArgumentListNode::streamTo(SourceStream& s) const 406 406 { 407 s << PrecAssignment << expr;408 for (ArgumentListNode* n = next.get(); n; n = n->next.get())409 s << ", " << PrecAssignment << n-> expr;407 s << PrecAssignment << m_expr; 408 for (ArgumentListNode* n = m_next.get(); n; n = n->m_next.get()) 409 s << ", " << PrecAssignment << n->m_expr; 410 410 } 411 411 412 412 void ArgumentsNode::streamTo(SourceStream& s) const 413 413 { 414 s << '(' << listNode << ')';414 s << '(' << m_listNode << ')'; 415 415 } 416 416 417 417 void NewExprNode::streamTo(SourceStream& s) const 418 418 { 419 s << "new " << PrecMember << expr <<args;419 s << "new " << PrecMember << m_expr << m_args; 420 420 } 421 421 422 422 void FunctionCallValueNode::streamTo(SourceStream& s) const 423 423 { 424 s << PrecCall << expr <<args;424 s << PrecCall << m_expr << m_args; 425 425 } 426 426 427 427 void FunctionCallResolveNode::streamTo(SourceStream& s) const 428 428 { 429 s << ident <<args;429 s << m_ident << m_args; 430 430 } 431 431 432 432 void FunctionCallBracketNode::streamTo(SourceStream& s) const 433 433 { 434 bracketNodeStreamTo(s, base,subscript);435 s << args;434 bracketNodeStreamTo(s, m_base, m_subscript); 435 s << m_args; 436 436 } 437 437 438 438 void FunctionCallDotNode::streamTo(SourceStream& s) const 439 439 { 440 dotNodeStreamTo(s, base,ident);441 s << args;440 dotNodeStreamTo(s, m_base, m_ident); 441 s << m_args; 442 442 } 443 443 … … 509 509 void VoidNode::streamTo(SourceStream& s) const 510 510 { 511 s << "void " << PrecUnary << expr;511 s << "void " << PrecUnary << m_expr; 512 512 } 513 513 … … 571 571 void NegateNode::streamTo(SourceStream& s) const 572 572 { 573 s << "- " << PrecUnary << expr;573 s << "- " << PrecUnary << m_expr; 574 574 } 575 575 576 576 void BitwiseNotNode::streamTo(SourceStream& s) const 577 577 { 578 s << "~" << PrecUnary << expr;578 s << "~" << PrecUnary << m_expr; 579 579 } 580 580 581 581 void LogicalNotNode::streamTo(SourceStream& s) const 582 582 { 583 s << "!" << PrecUnary << expr;583 s << "!" << PrecUnary << m_expr; 584 584 } 585 585 586 586 void MultNode::streamTo(SourceStream& s) const 587 587 { 588 streamLeftAssociativeBinaryOperator(s, precedence(), "*", term1,term2);588 streamLeftAssociativeBinaryOperator(s, precedence(), "*", m_term1, m_term2); 589 589 } 590 590 591 591 void DivNode::streamTo(SourceStream& s) const 592 592 { 593 streamLeftAssociativeBinaryOperator(s, precedence(), "/", term1,term2);593 streamLeftAssociativeBinaryOperator(s, precedence(), "/", m_term1, m_term2); 594 594 } 595 595 596 596 void ModNode::streamTo(SourceStream& s) const 597 597 { 598 streamLeftAssociativeBinaryOperator(s, precedence(), "%", term1,term2);598 streamLeftAssociativeBinaryOperator(s, precedence(), "%", m_term1, m_term2); 599 599 } 600 600 601 601 void AddNode::streamTo(SourceStream& s) const 602 602 { 603 streamLeftAssociativeBinaryOperator(s, precedence(), "+", term1,term2);603 streamLeftAssociativeBinaryOperator(s, precedence(), "+", m_term1, m_term2); 604 604 } 605 605 606 606 void SubNode::streamTo(SourceStream& s) const 607 607 { 608 streamLeftAssociativeBinaryOperator(s, precedence(), "-", term1,term2);608 streamLeftAssociativeBinaryOperator(s, precedence(), "-", m_term1, m_term2); 609 609 } 610 610 611 611 void LeftShiftNode::streamTo(SourceStream& s) const 612 612 { 613 streamLeftAssociativeBinaryOperator(s, precedence(), "<<", term1,term2);613 streamLeftAssociativeBinaryOperator(s, precedence(), "<<", m_term1, m_term2); 614 614 } 615 615 616 616 void RightShiftNode::streamTo(SourceStream& s) const 617 617 { 618 streamLeftAssociativeBinaryOperator(s, precedence(), ">>", term1,term2);618 streamLeftAssociativeBinaryOperator(s, precedence(), ">>", m_term1, m_term2); 619 619 } 620 620 621 621 void UnsignedRightShiftNode::streamTo(SourceStream& s) const 622 622 { 623 streamLeftAssociativeBinaryOperator(s, precedence(), ">>>", term1,term2);623 streamLeftAssociativeBinaryOperator(s, precedence(), ">>>", m_term1, m_term2); 624 624 } 625 625 626 626 void LessNode::streamTo(SourceStream& s) const 627 627 { 628 streamLeftAssociativeBinaryOperator(s, precedence(), "<", expr1,expr2);628 streamLeftAssociativeBinaryOperator(s, precedence(), "<", m_expr1, m_expr2); 629 629 } 630 630 631 631 void GreaterNode::streamTo(SourceStream& s) const 632 632 { 633 streamLeftAssociativeBinaryOperator(s, precedence(), ">", expr1,expr2);633 streamLeftAssociativeBinaryOperator(s, precedence(), ">", m_expr1, m_expr2); 634 634 } 635 635 636 636 void LessEqNode::streamTo(SourceStream& s) const 637 637 { 638 streamLeftAssociativeBinaryOperator(s, precedence(), "<=", expr1,expr2);638 streamLeftAssociativeBinaryOperator(s, precedence(), "<=", m_expr1, m_expr2); 639 639 } 640 640 641 641 void GreaterEqNode::streamTo(SourceStream& s) const 642 642 { 643 streamLeftAssociativeBinaryOperator(s, precedence(), ">=", expr1,expr2);643 streamLeftAssociativeBinaryOperator(s, precedence(), ">=", m_expr1, m_expr2); 644 644 } 645 645 646 646 void InstanceOfNode::streamTo(SourceStream& s) const 647 647 { 648 streamLeftAssociativeBinaryOperator(s, precedence(), "instanceof", expr1,expr2);648 streamLeftAssociativeBinaryOperator(s, precedence(), "instanceof", m_expr1, m_expr2); 649 649 } 650 650 651 651 void InNode::streamTo(SourceStream& s) const 652 652 { 653 streamLeftAssociativeBinaryOperator(s, precedence(), "in", expr1,expr2);653 streamLeftAssociativeBinaryOperator(s, precedence(), "in", m_expr1, m_expr2); 654 654 } 655 655 656 656 void EqualNode::streamTo(SourceStream& s) const 657 657 { 658 streamLeftAssociativeBinaryOperator(s, precedence(), "==", expr1,expr2);658 streamLeftAssociativeBinaryOperator(s, precedence(), "==", m_expr1, m_expr2); 659 659 } 660 660 661 661 void NotEqualNode::streamTo(SourceStream& s) const 662 662 { 663 streamLeftAssociativeBinaryOperator(s, precedence(), "!=", expr1,expr2);663 streamLeftAssociativeBinaryOperator(s, precedence(), "!=", m_expr1, m_expr2); 664 664 } 665 665 666 666 void StrictEqualNode::streamTo(SourceStream& s) const 667 667 { 668 streamLeftAssociativeBinaryOperator(s, precedence(), "===", expr1,expr2);668 streamLeftAssociativeBinaryOperator(s, precedence(), "===", m_expr1, m_expr2); 669 669 } 670 670 671 671 void NotStrictEqualNode::streamTo(SourceStream& s) const 672 672 { 673 streamLeftAssociativeBinaryOperator(s, precedence(), "!==", expr1,expr2);673 streamLeftAssociativeBinaryOperator(s, precedence(), "!==", m_expr1, m_expr2); 674 674 } 675 675 676 676 void BitAndNode::streamTo(SourceStream& s) const 677 677 { 678 streamLeftAssociativeBinaryOperator(s, precedence(), "&", expr1,expr2);678 streamLeftAssociativeBinaryOperator(s, precedence(), "&", m_expr1, m_expr2); 679 679 } 680 680 681 681 void BitXOrNode::streamTo(SourceStream& s) const 682 682 { 683 streamLeftAssociativeBinaryOperator(s, precedence(), "^", expr1,expr2);683 streamLeftAssociativeBinaryOperator(s, precedence(), "^", m_expr1, m_expr2); 684 684 } 685 685 686 686 void BitOrNode::streamTo(SourceStream& s) const 687 687 { 688 streamLeftAssociativeBinaryOperator(s, precedence(), "|", expr1,expr2);688 streamLeftAssociativeBinaryOperator(s, precedence(), "|", m_expr1, m_expr2); 689 689 } 690 690 691 691 void LogicalAndNode::streamTo(SourceStream& s) const 692 692 { 693 streamLeftAssociativeBinaryOperator(s, precedence(), "&&", expr1,expr2);693 streamLeftAssociativeBinaryOperator(s, precedence(), "&&", m_expr1, m_expr2); 694 694 } 695 695 696 696 void LogicalOrNode::streamTo(SourceStream& s) const 697 697 { 698 streamLeftAssociativeBinaryOperator(s, precedence(), "||", expr1,expr2);698 streamLeftAssociativeBinaryOperator(s, precedence(), "||", m_expr1, m_expr2); 699 699 } 700 700 701 701 void ConditionalNode::streamTo(SourceStream& s) const 702 702 { 703 s << PrecLogicalOr << logical704 << " ? " << PrecAssignment << expr1705 << " : " << PrecAssignment << expr2;703 s << PrecLogicalOr << m_logical 704 << " ? " << PrecAssignment << m_expr1 705 << " : " << PrecAssignment << m_expr2; 706 706 } 707 707 … … 748 748 void CommaNode::streamTo(SourceStream& s) const 749 749 { 750 s << PrecAssignment << expr1 << ", " << PrecAssignment <<expr2;750 s << PrecAssignment << m_expr1 << ", " << PrecAssignment << m_expr2; 751 751 } 752 752 753 753 void ConstDeclNode::streamTo(SourceStream& s) const 754 754 { 755 s << ident;756 if ( init)757 s << " = " << init;758 for (ConstDeclNode* n = next.get(); n; n = n->next.get()) {759 s << ", " << ident;760 if ( init)761 s << " = " << init;755 s << m_ident; 756 if (m_init) 757 s << " = " << m_init; 758 for (ConstDeclNode* n = m_next.get(); n; n = n->m_next.get()) { 759 s << ", " << m_ident; 760 if (m_init) 761 s << " = " << m_init; 762 762 } 763 763 } … … 765 765 void ConstStatementNode::streamTo(SourceStream& s) const 766 766 { 767 s << Endl << "const " << next << ';';767 s << Endl << "const " << m_next << ';'; 768 768 } 769 769 … … 810 810 void ExprStatementNode::streamTo(SourceStream& s) const 811 811 { 812 s << Endl << expr << ';';812 s << Endl << m_expr << ';'; 813 813 } 814 814 815 815 void VarStatementNode::streamTo(SourceStream& s) const 816 816 { 817 s << Endl << "var " << expr << ';';817 s << Endl << "var " << m_expr << ';'; 818 818 } 819 819 … … 831 831 void DoWhileNode::streamTo(SourceStream& s) const 832 832 { 833 s << Endl << "do " << Indent << statement << Unindent << Endl834 << "while (" << expr << ");";833 s << Endl << "do " << Indent << m_statement << Unindent << Endl 834 << "while (" << m_expr << ");"; 835 835 } 836 836 837 837 void WhileNode::streamTo(SourceStream& s) const 838 838 { 839 s << Endl << "while (" << expr << ')' << Indent <<statement << Unindent;839 s << Endl << "while (" << m_expr << ')' << Indent << m_statement << Unindent; 840 840 } 841 841 … … 843 843 { 844 844 s << Endl << "for (" 845 << ( expr1WasVarDecl ? "var " : "")846 << expr1847 << "; " << expr2848 << "; " << expr3849 << ')' << Indent << statement << Unindent;845 << (m_expr1WasVarDecl ? "var " : "") 846 << m_expr1 847 << "; " << m_expr2 848 << "; " << m_expr3 849 << ')' << Indent << m_statement << Unindent; 850 850 } 851 851 … … 853 853 { 854 854 s << Endl << "for ("; 855 if ( identIsVarDecl) {855 if (m_identIsVarDecl) { 856 856 s << "var "; 857 if ( init)858 s << init;857 if (m_init) 858 s << m_init; 859 859 else 860 s << PrecLeftHandSide << lexpr;860 s << PrecLeftHandSide << m_lexpr; 861 861 } else 862 s << PrecLeftHandSide << lexpr;863 864 s << " in " << expr << ')' << Indent <<statement << Unindent;862 s << PrecLeftHandSide << m_lexpr; 863 864 s << " in " << m_expr << ')' << Indent << m_statement << Unindent; 865 865 } 866 866 … … 868 868 { 869 869 s << Endl << "continue"; 870 if (! ident.isNull())871 s << ' ' << ident;870 if (!m_ident.isNull()) 871 s << ' ' << m_ident; 872 872 s << ';'; 873 873 } … … 876 876 { 877 877 s << Endl << "break"; 878 if (! ident.isNull())879 s << ' ' << ident;878 if (!m_ident.isNull()) 879 s << ' ' << m_ident; 880 880 s << ';'; 881 881 } … … 884 884 { 885 885 s << Endl << "return"; 886 if ( value)887 s << ' ' << value;886 if (m_value) 887 s << ' ' << m_value; 888 888 s << ';'; 889 889 } … … 891 891 void WithNode::streamTo(SourceStream& s) const 892 892 { 893 s << Endl << "with (" << expr << ") " <<statement;893 s << Endl << "with (" << m_expr << ") " << m_statement; 894 894 } 895 895 … … 897 897 { 898 898 s << Endl; 899 if ( expr)900 s << "case " << expr;899 if (m_expr) 900 s << "case " << m_expr; 901 901 else 902 902 s << "default"; … … 914 914 void CaseBlockNode::streamTo(SourceStream& s) const 915 915 { 916 for (const ClauseListNode* n = list1.get(); n; n = n->getNext())916 for (const ClauseListNode* n = m_list1.get(); n; n = n->getNext()) 917 917 s << n->getClause(); 918 s << def;919 for (const ClauseListNode* n = list2.get(); n; n = n->getNext())918 s << m_defaultClause; 919 for (const ClauseListNode* n = m_list2.get(); n; n = n->getNext()) 920 920 s << n->getClause(); 921 921 } … … 923 923 void SwitchNode::streamTo(SourceStream& s) const 924 924 { 925 s << Endl << "switch (" << expr << ") {"926 << Indent << block << Unindent925 s << Endl << "switch (" << m_expr << ") {" 926 << Indent << m_block << Unindent 927 927 << Endl << "}"; 928 928 } … … 930 930 void LabelNode::streamTo(SourceStream& s) const 931 931 { 932 s << Endl << label << ":" << Indent <<statement << Unindent;932 s << Endl << m_label << ":" << Indent << m_statement << Unindent; 933 933 } 934 934 935 935 void ThrowNode::streamTo(SourceStream& s) const 936 936 { 937 s << Endl << "throw " << expr << ';';937 s << Endl << "throw " << m_expr << ';'; 938 938 } 939 939 940 940 void TryNode::streamTo(SourceStream& s) const 941 941 { 942 s << Endl << "try " << tryBlock;943 if ( catchBlock)944 s << Endl << "catch (" << exceptionIdent << ')' <<catchBlock;945 if ( finallyBlock)946 s << Endl << "finally " << finallyBlock;942 s << Endl << "try " << m_tryBlock; 943 if (m_catchBlock) 944 s << Endl << "catch (" << m_exceptionIdent << ')' << m_catchBlock; 945 if (m_finallyBlock) 946 s << Endl << "finally " << m_finallyBlock; 947 947 } 948 948 949 949 void ParameterNode::streamTo(SourceStream& s) const 950 950 { 951 s << id;952 for (ParameterNode* n = next.get(); n; n = n->next.get())953 s << ", " << n-> id;951 s << m_ident; 952 for (ParameterNode* n = m_next.get(); n; n = n->m_next.get()) 953 s << ", " << n->m_ident; 954 954 } 955 955 956 956 void FuncDeclNode::streamTo(SourceStream& s) const 957 957 { 958 s << Endl << "function " << ident << '(' << param << ')' <<body;958 s << Endl << "function " << m_ident << '(' << m_parameter << ')' << m_body; 959 959 } 960 960 961 961 void FuncExprNode::streamTo(SourceStream& s) const 962 962 { 963 s << "function " << ident << '(' << param << ')' <<body;963 s << "function " << m_ident << '(' << m_parameter << ')' << m_body; 964 964 } 965 965
Note:
See TracChangeset
for help on using the changeset viewer.