Loading lib/jsduck/lexer.rb +2 −2 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ module JsDuck end # A slash "/" is a division operator if it follows: # - identifier # - identifier (but not the keyword "return") # - number # - closing bracket ) # - closing square-bracket ] Loading @@ -92,7 +92,7 @@ module JsDuck if @tokens.last then type = @tokens.last[:type] value = @tokens.last[:value] if type == :ident || type == :number || value == ")" || value == "]" then if (type == :ident && value != "return") || type == :number || value == ")" || value == "]" then return false end end Loading test/tc_lexer.rb +11 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,17 @@ class TestLexer < Test::Unit::TestCase ]) end def test_regex_after_return assert_tokens("return /foo/.test;", [ [:ident, "return"], [:regex, "/foo/"], [:operator, "."], [:ident, "test"], [:operator, ";"] ]) end def test_strings d = '"' # double-quote s = "'" # single-quote Loading Loading
lib/jsduck/lexer.rb +2 −2 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ module JsDuck end # A slash "/" is a division operator if it follows: # - identifier # - identifier (but not the keyword "return") # - number # - closing bracket ) # - closing square-bracket ] Loading @@ -92,7 +92,7 @@ module JsDuck if @tokens.last then type = @tokens.last[:type] value = @tokens.last[:value] if type == :ident || type == :number || value == ")" || value == "]" then if (type == :ident && value != "return") || type == :number || value == ")" || value == "]" then return false end end Loading
test/tc_lexer.rb +11 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,17 @@ class TestLexer < Test::Unit::TestCase ]) end def test_regex_after_return assert_tokens("return /foo/.test;", [ [:ident, "return"], [:regex, "/foo/"], [:operator, "."], [:ident, "test"], [:operator, ";"] ]) end def test_strings d = '"' # double-quote s = "'" # single-quote Loading