Reviewed by Geoffrey Garen and Anders Carlsson.
authorweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 Jan 2008 21:50:19 +0000 (21:50 +0000)
committerweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 Jan 2008 21:50:19 +0000 (21:50 +0000)
        Remove uses of KJS_PURE_ECMA as we don't ever build with it defined,
        and we have many features that are not included in the ECMA spec.

        * kjs/lexer.cpp:
        (KJS::Lexer::Lexer):
        (KJS::Lexer::setCode):
        (KJS::Lexer::nextLine):
        (KJS::Lexer::lex):
        * kjs/lexer.h:
        * kjs/string_object.cpp:
        * kjs/string_object.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29537 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/kjs/lexer.cpp
JavaScriptCore/kjs/lexer.h
JavaScriptCore/kjs/string_object.cpp
JavaScriptCore/kjs/string_object.h

index b332c05..03ed160 100644 (file)
@@ -1,3 +1,19 @@
+2008-01-16  Sam Weinig  <sam@webkit.org>
+
+        Reviewed by Geoffrey Garen and Anders Carlsson.
+
+        Remove uses of KJS_PURE_ECMA as we don't ever build with it defined,
+        and we have many features that are not included in the ECMA spec.
+
+        * kjs/lexer.cpp:
+        (KJS::Lexer::Lexer):
+        (KJS::Lexer::setCode):
+        (KJS::Lexer::nextLine):
+        (KJS::Lexer::lex):
+        * kjs/lexer.h:
+        * kjs/string_object.cpp:
+        * kjs/string_object.h:
+
 2008-01-15  Sam Weinig  <sam@webkit.org>
 
         Reviewed by Geoffrey Garen.
index 8cca3cb..1c3e991 100644 (file)
@@ -82,9 +82,7 @@ Lexer::Lexer()
   , pos(0)
   , code(0)
   , length(0)
-#ifndef KJS_PURE_ECMA
   , bol(true)
-#endif
   , current(0)
   , next1(0)
   , next2(0)
@@ -110,9 +108,7 @@ void Lexer::setCode(int startingLineNumber, const KJS::UChar *c, unsigned int le
   skipLF = false;
   skipCR = false;
   error = false;
-#ifndef KJS_PURE_ECMA
   bol = true;
-#endif
 
   // read first characters
   current = (length > 0) ? code[0].uc : -1;
@@ -138,9 +134,7 @@ void Lexer::shift(unsigned int p)
 void Lexer::nextLine()
 {
   yylineno++;
-#ifndef KJS_PURE_ECMA
   bol = true;
-#endif
 }
 
 void Lexer::setDone(State s)
@@ -222,7 +216,6 @@ int Lexer::lex()
       } else if (current == '.' && isDecimalDigit(next1)) {
         record8(current);
         state = InDecimal;
-#ifndef KJS_PURE_ECMA
         // <!-- marks the beginning of a line comment (for www usage)
       } else if (current == '<' && next1 == '!' &&
                  next2 == '-' && next3 == '-') {
@@ -232,7 +225,6 @@ int Lexer::lex()
       } else if (bol && current == '-' && next1 == '-' &&  next2 == '>') {
         shift(2);
         state = InSingleLineComment;
-#endif
       } else {
         token = matchPunctuator(current, next1, next2, next3);
         if (token != -1) {
@@ -465,10 +457,8 @@ int Lexer::lex()
     // move on to the next character
     if (!done)
       shift(1);
-#ifndef KJS_PURE_ECMA
     if (state != Start && state != InSingleLineComment)
       bol = false;
-#endif
   }
 
   // no identifiers allowed directly after numeric literal, e.g. "3in" is bad
index 595fbc8..51fffa1 100644 (file)
@@ -129,9 +129,7 @@ namespace KJS {
     const UChar *code;
     unsigned int length;
     int yycolumn;
-#ifndef KJS_PURE_ECMA
     int bol;     // begin of line
-#endif
     bool error;
 
     // current and following unicode characters (int to allow for -1 for end-of-file marker)
index 49a4b11..43c245e 100644 (file)
@@ -153,10 +153,7 @@ const ClassInfo StringPrototype::info = { "String", &StringInstance::info, &stri
   toLocaleLowerCase     &stringProtoFuncToLocaleLowerCase DontEnum|Function       0
   toLocaleUpperCase     &stringProtoFuncToLocaleUpperCase DontEnum|Function       0
   localeCompare         &stringProtoFuncLocaleCompare     DontEnum|Function       1
-#
-# Under here: html extension, should only exist if KJS_PURE_ECMA is not defined
-# I guess we need to generate two hashtables in the .lut.h file, and use #ifdef
-# to select the right one... TODO. #####
+
   big                   &stringProtoFuncBig               DontEnum|Function       0
   small                 &stringProtoFuncSmall             DontEnum|Function       0
   blink                 &stringProtoFuncBlink             DontEnum|Function       0
@@ -893,8 +890,6 @@ JSValue* stringProtoFuncLocaleCompare(ExecState* exec, JSObject* thisObj, const
     return jsNumber(localeCompare(s, a0->toString(exec)));
 }
 
-#ifndef KJS_PURE_ECMA
-
 JSValue* stringProtoFuncBig(ExecState* exec, JSObject* thisObj, const List&)
 {
     // This optimizes the common case that thisObj is a StringInstance
@@ -990,8 +985,6 @@ JSValue* stringProtoFuncLink(ExecState* exec, JSObject* thisObj, const List& arg
     return jsString("<a href=\"" + a0->toString(exec) + "\">" + s + "</a>");
 }
 
-#endif // KJS_PURE_ECMA
-
 // ------------------------------ StringObjectImp ------------------------------
 
 StringObjectImp::StringObjectImp(ExecState* exec,
index c5ce6bb..3bc9cb2 100644 (file)
@@ -105,7 +105,6 @@ namespace KJS {
   JSValue* stringProtoFuncToLocaleUpperCase(ExecState*, JSObject*, const List&);
   JSValue* stringProtoFuncLocaleCompare(ExecState*, JSObject*, const List&);
 
-#ifndef KJS_PURE_ECMA
   JSValue* stringProtoFuncBig(ExecState*, JSObject*, const List&);
   JSValue* stringProtoFuncSmall(ExecState*, JSObject*, const List&);
   JSValue* stringProtoFuncBlink(ExecState*, JSObject*, const List&);
@@ -119,7 +118,6 @@ namespace KJS {
   JSValue* stringProtoFuncFontsize(ExecState*, JSObject*, const List&);
   JSValue* stringProtoFuncAnchor(ExecState*, JSObject*, const List&);
   JSValue* stringProtoFuncLink(ExecState*, JSObject*, const List&);
-#endif // KJS_PURE_ECMA
 
   /**
    * @internal