[pkg-java] r13836 - in trunk/yui-compressor/debian: . patches
Damien Raude-Morvan
drazzib at alioth.debian.org
Mon Jul 4 21:24:02 UTC 2011
Author: drazzib
Date: 2011-07-04 21:24:02 +0000 (Mon, 04 Jul 2011)
New Revision: 13836
Added:
trunk/yui-compressor/debian/patches/decompiler.patch
trunk/yui-compressor/debian/patches/parser.patch
trunk/yui-compressor/debian/patches/token.patch
trunk/yui-compressor/debian/patches/tokenstream.patch
Removed:
trunk/yui-compressor/debian/patches/rhino17R3.diff
trunk/yui-compressor/debian/patches/tokenstream.patch
Modified:
trunk/yui-compressor/debian/changelog
trunk/yui-compressor/debian/fetch-upstream
trunk/yui-compressor/debian/patches/series
trunk/yui-compressor/debian/rules
Log:
Re-add some part of embedded Rhino source code:
Modified: trunk/yui-compressor/debian/changelog
===================================================================
--- trunk/yui-compressor/debian/changelog 2011-07-04 14:39:10 UTC (rev 13835)
+++ trunk/yui-compressor/debian/changelog 2011-07-04 21:24:02 UTC (rev 13836)
@@ -1,13 +1,11 @@
-yui-compressor (2.4.6+rhino17R3-1) UNRELEASED; urgency=low
+yui-compressor (2.4.6+rhino17R2-1) unstable; urgency=low
- * Re-add some part of embedded Rhino source code because
- some code as not been merged into Rhino 1.7R3 release
+ * Re-add some part of embedded Rhino source code:
(Closes: #630542).
- d/copyright: Readd copyright notice.
- d/fetch-upstream: Update script to download rhino source code.
- - d/patches/tokenstream.patch: Updated for Rhino 1.7R3.
- -- Damien Raude-Morvan <drazzib at debian.org> Mon, 20 Jun 2011 22:29:41 +0200
+ -- Damien Raude-Morvan <drazzib at debian.org> Mon, 04 Jul 2011 23:23:21 +0200
yui-compressor (2.4.6+debian1-1) unstable; urgency=low
Modified: trunk/yui-compressor/debian/fetch-upstream
===================================================================
--- trunk/yui-compressor/debian/fetch-upstream 2011-07-04 14:39:10 UTC (rev 13835)
+++ trunk/yui-compressor/debian/fetch-upstream 2011-07-04 21:24:02 UTC (rev 13836)
@@ -23,12 +23,11 @@
rm -rf yuicompressor-$version/src/org/mozilla/javascript/*
# download rhino source
-apt-get source rhino=$rhino_version
-rhino_version="$(echo $rhino_version | cut -d - -f 1)"
-#cp rhino-$rhino_version/src/org/mozilla/javascript/Decompiler.java yuicompressor-$version/src/org/mozilla/javascript
-#cp rhino-$rhino_version/src/org/mozilla/javascript/Parser.java yuicompressor-$version/src/org/mozilla/javascript
-#cp rhino-$rhino_version/src/org/mozilla/javascript/Token.java yuicompressor-$version/src/org/mozilla/javascript
-cp rhino-$rhino_version/src/org/mozilla/javascript/TokenStream.java yuicompressor-$version/src/org/mozilla/javascript
+debsnap --verbose rhino $rhino_version
+rhino_tar_version="$(echo $rhino_version | cut -d - -f 1)"
+rhino_dir_version="$(echo $rhino_tar_version | sed "s/\./_/")"
+(cd source-rhino/; tar xvzf rhino_$rhino_tar_version.orig.tar.gz)
+cp -r source-rhino/rhino$rhino_dir_version/src/org/mozilla/javascript/* yuicompressor-$version/src/org/mozilla/javascript
# repack
mv yuicompressor-$version yui-compressor-$version
Added: trunk/yui-compressor/debian/patches/decompiler.patch
===================================================================
--- trunk/yui-compressor/debian/patches/decompiler.patch (rev 0)
+++ trunk/yui-compressor/debian/patches/decompiler.patch 2011-07-04 21:24:02 UTC (rev 13836)
@@ -0,0 +1,23 @@
+YUI patch for the Rhino library's Decompiler.java
+===================================================================
+--- a/src/org/mozilla/javascript/Decompiler.java.orig 2008-11-14 10:13:36.000000000 -0500
++++ b/src/org/mozilla/javascript/Decompiler.java 2008-11-14 10:13:36.000000000 -0500
+@@ -166,6 +166,18 @@
+ appendString('/' + regexp + '/' + flags);
+ }
+
++ void addJScriptConditionalComment(String str)
++ {
++ addToken(Token.CONDCOMMENT);
++ appendString(str);
++ }
++
++ void addPreservedComment(String str)
++ {
++ addToken(Token.KEEPCOMMENT);
++ appendString(str);
++ }
++
+ void addNumber(double n)
+ {
+ addToken(Token.NUMBER);
Added: trunk/yui-compressor/debian/patches/parser.patch
===================================================================
--- trunk/yui-compressor/debian/patches/parser.patch (rev 0)
+++ trunk/yui-compressor/debian/patches/parser.patch 2011-07-04 21:24:02 UTC (rev 13836)
@@ -0,0 +1,37 @@
+YUI patch for the Rhino library's Parser.java
+===================================================================
+--- a/src/org/mozilla/javascript/Parser.java
++++ b/src/org/mozilla/javascript/Parser.java
+@@ -169,11 +169,30 @@
+ {
+ int tt = currentFlaggedToken;
+ if (tt == Token.EOF) {
+- tt = ts.getToken();
++
++ while ((tt = ts.getToken()) == Token.CONDCOMMENT || tt == Token.KEEPCOMMENT) {
++ if (tt == Token.CONDCOMMENT) {
++ /* Support for JScript conditional comments */
++ decompiler.addJScriptConditionalComment(ts.getString());
++ } else {
++ /* Support for preserved comments */
++ decompiler.addPreservedComment(ts.getString());
++ }
++ }
++
+ if (tt == Token.EOL) {
+ do {
+ tt = ts.getToken();
+- } while (tt == Token.EOL);
++
++ if (tt == Token.CONDCOMMENT) {
++ /* Support for JScript conditional comments */
++ decompiler.addJScriptConditionalComment(ts.getString());
++ } else if (tt == Token.KEEPCOMMENT) {
++ /* Support for preserved comments */
++ decompiler.addPreservedComment(ts.getString());
++ }
++
++ } while (tt == Token.EOL || tt == Token.CONDCOMMENT || tt == Token.KEEPCOMMENT);
+ tt |= TI_AFTER_EOL;
+ }
+ currentFlaggedToken = tt;
Deleted: trunk/yui-compressor/debian/patches/rhino17R3.diff
===================================================================
--- trunk/yui-compressor/debian/patches/rhino17R3.diff 2011-07-04 14:39:10 UTC (rev 13835)
+++ trunk/yui-compressor/debian/patches/rhino17R3.diff 2011-07-04 21:24:02 UTC (rev 13836)
@@ -1,83 +0,0 @@
-Description: Port this parser to new Rhino 1.7R3 AST API.
-Author: Damien Raude-Morvan <drazzib at debian.org>
-Last-Update: 2011-06-12
-Forwarded: https://github.com/yui/yuicompressor/pull/9
---- a/src/com/yahoo/platform/yui/compressor/JavaScriptCompressor.java
-+++ b/src/com/yahoo/platform/yui/compressor/JavaScriptCompressor.java
-@@ -9,6 +9,7 @@
- package com.yahoo.platform.yui.compressor;
-
- import org.mozilla.javascript.*;
-+import org.mozilla.javascript.ast.*;
-
- import java.io.IOException;
- import java.io.Reader;
-@@ -309,8 +310,11 @@
-
- CompilerEnvirons env = new CompilerEnvirons();
- Parser parser = new Parser(env, reporter);
-- parser.parse(in, null, 1);
-- String source = parser.getEncodedSource();
-+ AstRoot ast = parser.parse(in, null, 1);
-+ IRFactory irf = new IRFactory(env, reporter);
-+ ScriptNode tree = irf.transformTree(ast);
-+
-+ String source = tree.getEncodedSource();
-
- int offset = 0;
- int length = source.length();
-@@ -321,8 +325,7 @@
- int tt = source.charAt(offset++);
- switch (tt) {
-
-- case Token.CONDCOMMENT:
-- case Token.KEEPCOMMENT:
-+ case Token.COMMENT:
- case Token.NAME:
- case Token.REGEXP:
- case Token.STRING:
-@@ -833,12 +836,14 @@
- parensNesting--;
- break;
-
-- case Token.CONDCOMMENT:
-+ case Token.COMMENT:
-+ //if (token.commentType == Token.CommentType.JSDOC) {
- if (mode == BUILDING_SYMBOL_TREE) {
- protectScopeFromObfuscation(currentScope);
- warn("Using JScript conditional comments is not recommended." + (munge ? " Moreover, using JScript conditional comments reduces the level of compression!" : ""), true);
- }
- break;
-+ //}
-
- case Token.NAME:
- symbol = token.getValue();
-@@ -986,7 +991,7 @@
- parseCatch();
- break;
-
-- case Token.CONDCOMMENT:
-+ case Token.COMMENT:
- if (mode == BUILDING_SYMBOL_TREE) {
- protectScopeFromObfuscation(scope);
- warn("Using JScript conditional comments is not recommended." + (munge ? " Moreover, using JScript conditional comments reduces the level of compression." : ""), true);
-@@ -1276,8 +1281,7 @@
- }
- break;
-
-- case Token.CONDCOMMENT:
-- case Token.KEEPCOMMENT:
-+ case Token.COMMENT:
- if (result.length() > 0 && result.charAt(result.length() - 1) != '\n') {
- result.append("\n");
- }
-@@ -1303,8 +1307,7 @@
- // end of one file may very likely cause a syntax error)
- if (!preserveAllSemiColons &&
- result.length() > 0 &&
-- getToken(-1).getType() != Token.CONDCOMMENT &&
-- getToken(-1).getType() != Token.KEEPCOMMENT) {
-+ getToken(-1).getType() != Token.COMMENT) {
- if (result.charAt(result.length() - 1) == '\n') {
- result.setCharAt(result.length() - 1, ';');
- } else {
Modified: trunk/yui-compressor/debian/patches/series
===================================================================
--- trunk/yui-compressor/debian/patches/series 2011-07-04 14:39:10 UTC (rev 13835)
+++ trunk/yui-compressor/debian/patches/series 2011-07-04 21:24:02 UTC (rev 13836)
@@ -1,4 +1,6 @@
-rhino17R3.diff
fix_testsuite.diff
use-system-libraries.patch
+decompiler.patch
+parser.patch
+token.patch
tokenstream.patch
Added: trunk/yui-compressor/debian/patches/token.patch
===================================================================
--- trunk/yui-compressor/debian/patches/token.patch (rev 0)
+++ trunk/yui-compressor/debian/patches/token.patch 2011-07-04 21:24:02 UTC (rev 13836)
@@ -0,0 +1,17 @@
+YUI patch for the Rhino library's Token.java
+===================================================================
+--- a/src/org/mozilla/javascript/Token.java.orig 2009-12-25 00:39:07.000000000 -0500
++++ b/src/org/mozilla/javascript/Token.java 2009-12-25 00:39:39.000000000 -0500
+@@ -258,7 +258,11 @@
+ LETEXPR = 157,
+ WITHEXPR = 158,
+ DEBUGGER = 159,
+- LAST_TOKEN = 159;
++
++ CONDCOMMENT = 160,
++ KEEPCOMMENT = 161,
++
++ LAST_TOKEN = 162;
+
+ public static String name(int token)
+ {
Deleted: trunk/yui-compressor/debian/patches/tokenstream.patch
===================================================================
--- trunk/yui-compressor/debian/patches/tokenstream.patch 2011-07-04 14:39:10 UTC (rev 13835)
+++ trunk/yui-compressor/debian/patches/tokenstream.patch 2011-07-04 21:24:02 UTC (rev 13836)
@@ -1,176 +0,0 @@
-YUI patch for the Rhino library's TokenStream.java
---- a/src/org/mozilla/javascript/TokenStream.java
-+++ b/src/org/mozilla/javascript/TokenStream.java
-@@ -541,7 +541,7 @@
- stringBufferTop = 0;
-
- c = getChar();
-- strLoop: while (c != quoteChar) {
-+ while (c != quoteChar) {
- if (c == '\n' || c == EOF_CHAR) {
- ungetChar(c);
- tokenEnd = cursor;
-@@ -551,89 +551,47 @@
-
- if (c == '\\') {
- // We've hit an escaped character
-- int escapeVal;
-
- c = getChar();
-+
- switch (c) {
-- case 'b': c = '\b'; break;
-- case 'f': c = '\f'; break;
-- case 'n': c = '\n'; break;
-- case 'r': c = '\r'; break;
-- case 't': c = '\t'; break;
--
-- // \v a late addition to the ECMA spec,
-- // it is not in Java, so use 0xb
-- case 'v': c = 0xb; break;
--
-- case 'u':
-- // Get 4 hex digits; if the u escape is not
-- // followed by 4 hex digits, use 'u' + the
-- // literal character sequence that follows.
-- int escapeStart = stringBufferTop;
-- addToString('u');
-- escapeVal = 0;
-- for (int i = 0; i != 4; ++i) {
-- c = getChar();
-- escapeVal = Kit.xDigitToInt(c, escapeVal);
-- if (escapeVal < 0) {
-- continue strLoop;
-- }
-+
-+ case '\\': // backslash
-+ case 'b': // backspace
-+ case 'f': // form feed
-+ case 'n': // line feed
-+ case 'r': // carriage return
-+ case 't': // horizontal tab
-+ case 'v': // vertical tab
-+ case 'd': // octal sequence
-+ case 'u': // unicode sequence
-+ case 'x': // hexadecimal sequence
-+ // Only keep the '\' character for those
-+ // characters that need to be escaped...
-+ // Don't escape quoting characters...
-+ addToString('\\');
- addToString(c);
-- }
-- // prepare for replace of stored 'u' sequence
-- // by escape value
-- stringBufferTop = escapeStart;
-- c = escapeVal;
-- break;
-- case 'x':
-- // Get 2 hex digits, defaulting to 'x'+literal
-- // sequence, as above.
-- c = getChar();
-- escapeVal = Kit.xDigitToInt(c, 0);
-- if (escapeVal < 0) {
-- addToString('x');
-- continue strLoop;
-- } else {
-- int c1 = c;
-- c = getChar();
-- escapeVal = Kit.xDigitToInt(c, escapeVal);
-- if (escapeVal < 0) {
-- addToString('x');
-- addToString(c1);
-- continue strLoop;
-- } else {
-- // got 2 hex digits
-- c = escapeVal;
-- }
-- }
-- break;
-+ break;
-
-- case '\n':
-- // Remove line terminator after escape to follow
-- // SpiderMonkey and C/C++
-- c = getChar();
-- continue strLoop;
--
-- default:
-- if ('0' <= c && c < '8') {
-- int val = c - '0';
-- c = getChar();
-- if ('0' <= c && c < '8') {
-- val = 8 * val + c - '0';
-- c = getChar();
-- if ('0' <= c && c < '8' && val <= 037) {
-- // c is 3rd char of octal sequence only
-- // if the resulting val <= 0377
-- val = 8 * val + c - '0';
-- c = getChar();
-- }
-+ case '\n':
-+ // Remove line terminator after escape
-+ break;
-+
-+ default:
-+ if (isDigit(c)) {
-+ // Octal representation of a character.
-+ // Preserve the escaping (see Y! bug #1637286)
-+ addToString('\\');
- }
-- ungetChar(c);
-- c = val;
-- }
-+ addToString(c);
-+ break;
- }
-+
-+ } else {
-+
-+ addToString(c);
- }
-- addToString(c);
-+
- c = getChar();
- }
-
-@@ -784,6 +742,7 @@
- // is it a /* or /** comment?
- if (matchChar('*')) {
- boolean lookForSlash = false;
-+ StringBuffer sb = new StringBuffer();
- tokenBeg = cursor - 2;
- if (matchChar('*')) {
- lookForSlash = true;
-@@ -797,12 +756,30 @@
- tokenEnd = cursor - 1;
- parser.addError("msg.unterminated.comment");
- return Token.COMMENT;
-- } else if (c == '*') {
-+ }
-+ sb.append((char) c);
-+ if (c == '*') {
- lookForSlash = true;
- } else if (c == '/') {
- if (lookForSlash) {
- tokenEnd = cursor;
-- return Token.COMMENT;
-+ sb.delete(sb.length()-2, sb.length());
-+ String s1 = sb.toString();
-+ String s2 = s1.trim();
-+ if (s1.startsWith("!")) {
-+ // Remove the leading '!' ** EDIT actually don't remove it:
-+ // http://yuilibrary.com/projects/yuicompressor/ticket/2528008
-+ // this.string = s1.substring(1);
-+ this.string = s1;
-+ return Token.COMMENT;
-+ } else if (s2.startsWith("@cc_on") ||
-+ s2.startsWith("@if") ||
-+ s2.startsWith("@elif") ||
-+ s2.startsWith("@else") ||
-+ s2.startsWith("@end")) {
-+ this.string = s1;
-+ return Token.COMMENT;
-+ }
- }
- } else {
- lookForSlash = false;
Added: trunk/yui-compressor/debian/patches/tokenstream.patch
===================================================================
--- trunk/yui-compressor/debian/patches/tokenstream.patch (rev 0)
+++ trunk/yui-compressor/debian/patches/tokenstream.patch 2011-07-04 21:24:02 UTC (rev 13836)
@@ -0,0 +1,174 @@
+YUI patch for the Rhino library's TokenStream.java
+===================================================================
+--- a/src/org/mozilla/javascript/TokenStream.java
++++ b/src/org/mozilla/javascript/TokenStream.java
+@@ -526,7 +526,7 @@
+ stringBufferTop = 0;
+
+ c = getChar();
+- strLoop: while (c != quoteChar) {
++ while (c != quoteChar) {
+ if (c == '\n' || c == EOF_CHAR) {
+ ungetChar(c);
+ parser.addError("msg.unterminated.string.lit");
+@@ -535,89 +535,47 @@
+
+ if (c == '\\') {
+ // We've hit an escaped character
+- int escapeVal;
+
+ c = getChar();
++
+ switch (c) {
+- case 'b': c = '\b'; break;
+- case 'f': c = '\f'; break;
+- case 'n': c = '\n'; break;
+- case 'r': c = '\r'; break;
+- case 't': c = '\t'; break;
+-
+- // \v a late addition to the ECMA spec,
+- // it is not in Java, so use 0xb
+- case 'v': c = 0xb; break;
+-
+- case 'u':
+- // Get 4 hex digits; if the u escape is not
+- // followed by 4 hex digits, use 'u' + the
+- // literal character sequence that follows.
+- int escapeStart = stringBufferTop;
+- addToString('u');
+- escapeVal = 0;
+- for (int i = 0; i != 4; ++i) {
+- c = getChar();
+- escapeVal = Kit.xDigitToInt(c, escapeVal);
+- if (escapeVal < 0) {
+- continue strLoop;
+- }
++
++ case '\\': // backslash
++ case 'b': // backspace
++ case 'f': // form feed
++ case 'n': // line feed
++ case 'r': // carriage return
++ case 't': // horizontal tab
++ case 'v': // vertical tab
++ case 'd': // octal sequence
++ case 'u': // unicode sequence
++ case 'x': // hexadecimal sequence
++ // Only keep the '\' character for those
++ // characters that need to be escaped...
++ // Don't escape quoting characters...
++ addToString('\\');
+ addToString(c);
+- }
+- // prepare for replace of stored 'u' sequence
+- // by escape value
+- stringBufferTop = escapeStart;
+- c = escapeVal;
+- break;
+- case 'x':
+- // Get 2 hex digits, defaulting to 'x'+literal
+- // sequence, as above.
+- c = getChar();
+- escapeVal = Kit.xDigitToInt(c, 0);
+- if (escapeVal < 0) {
+- addToString('x');
+- continue strLoop;
+- } else {
+- int c1 = c;
+- c = getChar();
+- escapeVal = Kit.xDigitToInt(c, escapeVal);
+- if (escapeVal < 0) {
+- addToString('x');
+- addToString(c1);
+- continue strLoop;
+- } else {
+- // got 2 hex digits
+- c = escapeVal;
+- }
+- }
+- break;
++ break;
+
+- case '\n':
+- // Remove line terminator after escape to follow
+- // SpiderMonkey and C/C++
+- c = getChar();
+- continue strLoop;
+-
+- default:
+- if ('0' <= c && c < '8') {
+- int val = c - '0';
+- c = getChar();
+- if ('0' <= c && c < '8') {
+- val = 8 * val + c - '0';
+- c = getChar();
+- if ('0' <= c && c < '8' && val <= 037) {
+- // c is 3rd char of octal sequence only
+- // if the resulting val <= 0377
+- val = 8 * val + c - '0';
+- c = getChar();
+- }
++ case '\n':
++ // Remove line terminator after escape
++ break;
++
++ default:
++ if (isDigit(c)) {
++ // Octal representation of a character.
++ // Preserve the escaping (see Y! bug #1637286)
++ addToString('\\');
+ }
+- ungetChar(c);
+- c = val;
+- }
++ addToString(c);
++ break;
+ }
++
++ } else {
++
++ addToString(c);
+ }
+- addToString(c);
++
+ c = getChar();
+ }
+
+@@ -760,16 +718,35 @@
+ }
+ if (matchChar('*')) {
+ boolean lookForSlash = false;
++ StringBuffer sb = new StringBuffer();
+ for (;;) {
+ c = getChar();
+ if (c == EOF_CHAR) {
+ parser.addError("msg.unterminated.comment");
+ return Token.ERROR;
+- } else if (c == '*') {
++ }
++ sb.append((char) c);
++ if (c == '*') {
+ lookForSlash = true;
+ } else if (c == '/') {
+ if (lookForSlash) {
+- continue retry;
++ sb.delete(sb.length()-2, sb.length());
++ String s1 = sb.toString();
++ String s2 = s1.trim();
++ if (s1.startsWith("!")) {
++ // Remove the leading '!'
++ this.string = s1.substring(1);
++ return Token.KEEPCOMMENT;
++ } else if (s2.startsWith("@cc_on") ||
++ s2.startsWith("@if") ||
++ s2.startsWith("@elif") ||
++ s2.startsWith("@else") ||
++ s2.startsWith("@end")) {
++ this.string = s1;
++ return Token.CONDCOMMENT;
++ } else {
++ continue retry;
++ }
+ }
+ } else {
+ lookForSlash = false;
Modified: trunk/yui-compressor/debian/rules
===================================================================
--- trunk/yui-compressor/debian/rules 2011-07-04 14:39:10 UTC (rev 13835)
+++ trunk/yui-compressor/debian/rules 2011-07-04 21:24:02 UTC (rev 13836)
@@ -13,7 +13,7 @@
LIBRARY=yui-compressor
VERSION=2.4.6
-RHINO_VERSION=1.7R3-2
+RHINO_VERSION=1.7R2-4
install/yui-compressor::
# Launch tests
More information about the pkg-java-commits
mailing list