From 7550e0aaddfd75a2b3bb6eb4edff9e26e2651500 Mon Sep 17 00:00:00 2001 From: Aryeh Gregor Date: Fri, 29 Jan 2010 00:02:57 +0000 Subject: [PATCH] stylize.php and fix whitespace for JSMin.php Two spaces were being used for indentation instead of a tab, and for some reason stylize.php didn't fix that, but repeated s/^\(\( \)*\) /\1\t/ worked. --- includes/JSMin.php | 478 ++++++++++++++++++++++----------------------- 1 file changed, 239 insertions(+), 239 deletions(-) diff --git a/includes/JSMin.php b/includes/JSMin.php index 3c2f859dfd..fb97e98be9 100644 --- a/includes/JSMin.php +++ b/includes/JSMin.php @@ -46,246 +46,246 @@ */ class JSMin { - const ORD_LF = 10; - const ORD_SPACE = 32; - - protected $a = ''; - protected $b = ''; - protected $input = ''; - protected $inputIndex = 0; - protected $inputLength = 0; - protected $lookAhead = null; - protected $output = ''; - - // -- Public Static Methods -------------------------------------------------- - - public static function minify($js) { - $jsmin = new JSMin($js); - return $jsmin->min(); - } - - // -- Public Instance Methods ------------------------------------------------ - - public function __construct($input) { - $this->input = str_replace("\r\n", "\n", $input); - $this->inputLength = strlen($this->input); - } - - // -- Protected Instance Methods --------------------------------------------- - - protected function action($d) { - switch($d) { - case 1: - $this->output .= $this->a; - - case 2: - $this->a = $this->b; - - if ($this->a === "'" || $this->a === '"') { - for (;;) { - $this->output .= $this->a; - $this->a = $this->get(); - - if ($this->a === $this->b) { - break; - } - - if (ord($this->a) <= self::ORD_LF) { - throw new JSMinException('Unterminated string literal.'); - } - - if ($this->a === '\\') { - $this->output .= $this->a; - $this->a = $this->get(); - } - } - } - - case 3: - $this->b = $this->next(); - - if ($this->b === '/' && ( - $this->a === '(' || $this->a === ',' || $this->a === '=' || - $this->a === ':' || $this->a === '[' || $this->a === '!' || - $this->a === '&' || $this->a === '|' || $this->a === '?')) { - - $this->output .= $this->a . $this->b; - - for (;;) { - $this->a = $this->get(); - - if ($this->a === '/') { - break; - } elseif ($this->a === '\\') { - $this->output .= $this->a; - $this->a = $this->get(); - } elseif (ord($this->a) <= self::ORD_LF) { - throw new JSMinException('Unterminated regular expression '. - 'literal.'); - } - - $this->output .= $this->a; - } - - $this->b = $this->next(); - } - } - } - - protected function get() { - $c = $this->lookAhead; - $this->lookAhead = null; - - if ($c === null) { - if ($this->inputIndex < $this->inputLength) { - $c = substr($this->input, $this->inputIndex, 1); - $this->inputIndex += 1; - } else { - $c = null; - } - } - - if ($c === "\r") { - return "\n"; - } - - if ($c === null || $c === "\n" || ord($c) >= self::ORD_SPACE) { - return $c; - } - - return ' '; - } - - protected function isAlphaNum($c) { - return ord($c) > 126 || $c === '\\' || preg_match('/^[\w\$]$/', $c) === 1; - } - - protected function min() { - $this->a = "\n"; - $this->action(3); - - while ($this->a !== null) { - switch ($this->a) { - case ' ': - if ($this->isAlphaNum($this->b)) { - $this->action(1); - } else { - $this->action(2); - } - break; - - case "\n": - switch ($this->b) { - case '{': - case '[': - case '(': - case '+': - case '-': - $this->action(1); - break; - - case ' ': - $this->action(3); - break; - - default: - if ($this->isAlphaNum($this->b)) { - $this->action(1); - } - else { - $this->action(2); - } - } - break; - - default: - switch ($this->b) { - case ' ': - if ($this->isAlphaNum($this->a)) { - $this->action(1); - break; - } - - $this->action(3); - break; - - case "\n": - switch ($this->a) { - case '}': - case ']': - case ')': - case '+': - case '-': - case '"': - case "'": - $this->action(1); - break; - - default: - if ($this->isAlphaNum($this->a)) { - $this->action(1); - } - else { - $this->action(3); - } - } - break; - - default: - $this->action(1); - break; - } - } - } - - return $this->output; - } - - protected function next() { - $c = $this->get(); - - if ($c === '/') { - switch($this->peek()) { - case '/': - for (;;) { - $c = $this->get(); - - if (ord($c) <= self::ORD_LF) { - return $c; - } - } - - case '*': - $this->get(); - - for (;;) { - switch($this->get()) { - case '*': - if ($this->peek() === '/') { - $this->get(); - return ' '; - } - break; - - case null: - throw new JSMinException('Unterminated comment.'); - } - } - - default: - return $c; - } - } - - return $c; - } - - protected function peek() { - $this->lookAhead = $this->get(); - return $this->lookAhead; - } + const ORD_LF = 10; + const ORD_SPACE = 32; + + protected $a = ''; + protected $b = ''; + protected $input = ''; + protected $inputIndex = 0; + protected $inputLength = 0; + protected $lookAhead = null; + protected $output = ''; + + // -- Public Static Methods -------------------------------------------------- + + public static function minify( $js ) { + $jsmin = new JSMin( $js ); + return $jsmin->min(); + } + + // -- Public Instance Methods ------------------------------------------------ + + public function __construct( $input ) { + $this->input = str_replace( "\r\n", "\n", $input ); + $this->inputLength = strlen( $this->input ); + } + + // -- Protected Instance Methods --------------------------------------------- + + protected function action( $d ) { + switch( $d ) { + case 1: + $this->output .= $this->a; + + case 2: + $this->a = $this->b; + + if ( $this->a === "'" || $this->a === '"' ) { + for ( ; ; ) { + $this->output .= $this->a; + $this->a = $this->get(); + + if ( $this->a === $this->b ) { + break; + } + + if ( ord( $this->a ) <= self::ORD_LF ) { + throw new JSMinException( 'Unterminated string literal.' ); + } + + if ( $this->a === '\\' ) { + $this->output .= $this->a; + $this->a = $this->get(); + } + } + } + + case 3: + $this->b = $this->next(); + + if ( $this->b === '/' && ( + $this->a === '(' || $this->a === ',' || $this->a === '=' || + $this->a === ':' || $this->a === '[' || $this->a === '!' || + $this->a === '&' || $this->a === '|' || $this->a === '?' ) ) { + + $this->output .= $this->a . $this->b; + + for ( ; ; ) { + $this->a = $this->get(); + + if ( $this->a === '/' ) { + break; + } elseif ( $this->a === '\\' ) { + $this->output .= $this->a; + $this->a = $this->get(); + } elseif ( ord( $this->a ) <= self::ORD_LF ) { + throw new JSMinException( 'Unterminated regular expression ' . + 'literal.' ); + } + + $this->output .= $this->a; + } + + $this->b = $this->next(); + } + } + } + + protected function get() { + $c = $this->lookAhead; + $this->lookAhead = null; + + if ( $c === null ) { + if ( $this->inputIndex < $this->inputLength ) { + $c = substr( $this->input, $this->inputIndex, 1 ); + $this->inputIndex += 1; + } else { + $c = null; + } + } + + if ( $c === "\r" ) { + return "\n"; + } + + if ( $c === null || $c === "\n" || ord( $c ) >= self::ORD_SPACE ) { + return $c; + } + + return ' '; + } + + protected function isAlphaNum( $c ) { + return ord( $c ) > 126 || $c === '\\' || preg_match( '/^[\w\$]$/', $c ) === 1; + } + + protected function min() { + $this->a = "\n"; + $this->action( 3 ); + + while ( $this->a !== null ) { + switch ( $this->a ) { + case ' ': + if ( $this->isAlphaNum( $this->b ) ) { + $this->action( 1 ); + } else { + $this->action( 2 ); + } + break; + + case "\n": + switch ( $this->b ) { + case '{': + case '[': + case '(': + case '+': + case '-': + $this->action( 1 ); + break; + + case ' ': + $this->action( 3 ); + break; + + default: + if ( $this->isAlphaNum( $this->b ) ) { + $this->action( 1 ); + } + else { + $this->action( 2 ); + } + } + break; + + default: + switch ( $this->b ) { + case ' ': + if ( $this->isAlphaNum( $this->a ) ) { + $this->action( 1 ); + break; + } + + $this->action( 3 ); + break; + + case "\n": + switch ( $this->a ) { + case '}': + case ']': + case ')': + case '+': + case '-': + case '"': + case "'": + $this->action( 1 ); + break; + + default: + if ( $this->isAlphaNum( $this->a ) ) { + $this->action( 1 ); + } + else { + $this->action( 3 ); + } + } + break; + + default: + $this->action( 1 ); + break; + } + } + } + + return $this->output; + } + + protected function next() { + $c = $this->get(); + + if ( $c === '/' ) { + switch( $this->peek() ) { + case '/': + for ( ; ; ) { + $c = $this->get(); + + if ( ord( $c ) <= self::ORD_LF ) { + return $c; + } + } + + case '*': + $this->get(); + + for ( ; ; ) { + switch( $this->get() ) { + case '*': + if ( $this->peek() === '/' ) { + $this->get(); + return ' '; + } + break; + + case null: + throw new JSMinException( 'Unterminated comment.' ); + } + } + + default: + return $c; + } + } + + return $c; + } + + protected function peek() { + $this->lookAhead = $this->get(); + return $this->lookAhead; + } } // -- Exceptions --------------------------------------------------------------- class JSMinException extends Exception {} -?> \ No newline at end of file +?> -- 2.20.1