diff options
author | murphy <murphy@rubychan.de> | 2009-01-13 15:50:17 +0000 |
---|---|---|
committer | murphy <murphy@rubychan.de> | 2009-01-13 15:50:17 +0000 |
commit | 0aa5f6d83c6d2bb0b4b5df45cedf057cd9c5099e (patch) | |
tree | 3261d98e0c1ef2f2fa58e1045eadc6022f7b03fe /lib/coderay/scanners/java.rb | |
parent | db6274c90dc88a2a2ca22a78779a705ecb074465 (diff) | |
download | coderay-0aa5f6d83c6d2bb0b4b5df45cedf057cd9c5099e.tar.gz |
Java Scanner: remove :regexp cases, use :pre_type for built-in types.
Diffstat (limited to 'lib/coderay/scanners/java.rb')
-rw-r--r-- | lib/coderay/scanners/java.rb | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/lib/coderay/scanners/java.rb b/lib/coderay/scanners/java.rb index f24bdf8..8ee35c8 100644 --- a/lib/coderay/scanners/java.rb +++ b/lib/coderay/scanners/java.rb @@ -30,12 +30,11 @@ module Scanners add(KEYWORDS, :keyword). add(MAGIC_VARIABLES, :local_variable). add(TYPES, :type). - add(BuiltinTypes::List, :type). + add(BuiltinTypes::List, :pre_type). add(DIRECTIVES, :directive) ESCAPE = / [bfnrtv\n\\'"] | x[a-fA-F0-9]{1,2} | [0-7]{1,3} /x UNICODE_ESCAPE = / u[a-fA-F0-9]{4} | U[a-fA-F0-9]{8} /x - REGEXP_ESCAPE = / [bBdDsSwW] /x STRING_CONTENT_PATTERN = { "'" => /[^\\']+/, '"' => /[^\\"]+/, @@ -117,15 +116,11 @@ module Scanners end - when :string, :regexp + when :string if scan(STRING_CONTENT_PATTERN[string_delimiter]) kind = :content elsif match = scan(/["'\/]/) tokens << [match, :delimiter] - if state == :regexp - modifiers = scan(/[gim]+/) - tokens << [modifiers, :modifier] if modifiers && !modifiers.empty? - end tokens << [:close, state] string_delimiter = nil state = :initial @@ -136,8 +131,6 @@ module Scanners else kind = :char end - elsif state == :regexp && scan(/ \\ (?: #{ESCAPE} | #{REGEXP_ESCAPE} | #{UNICODE_ESCAPE} ) /mox) - kind = :char elsif scan(/\\./m) kind = :content elsif scan(/ \\ | $ /x) @@ -166,7 +159,7 @@ module Scanners end - if [:string, :regexp].include? state + if state == :string tokens << [:close, state] end |