{"record":{"id":"321a6469c9fc97f1","repo":"rouge-ruby/rouge","slug":"please-pass-a-token-to-yield-or-use-a-callback","errorCode":null,"errorMessage":"please pass a token to yield, or use a callback","messagePattern":"please pass a token to yield, or use a callback","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"lib/rouge/regex_lexer.rb","lineNumber":82,"sourceCode":"    # to perform if the test succeeds.\n    #\n    # @see StateDSL#rule\n    class Rule\n      attr_reader :callback\n      attr_reader :re\n      def initialize(lexer_class, re, callback)\n        @lexer_class = lexer_class\n        @re = re\n        @callback = callback\n      end\n\n      def inspect\n        \"#<Rule #{@re.inspect}>\"\n      end\n\n      def self.make_action(re, tok=nil, next_state=nil)\n        if tok.nil?\n          raise \"please pass a token to yield, or use a callback\"\n        end\n\n        matches_empty = re.match?('')\n\n        case next_state\n        when :pop!\n          proc do |stream|\n            puts \"    yielding: #{tok.qualname}, #{stream[0].inspect}\" if @debug\n            @output_stream.call(tok, stream[0])\n            puts \"    popping stack: 1\" if @debug\n            @stack.pop or raise 'empty stack!'\n          end\n        when :push\n          proc do |stream|\n            puts \"    yielding: #{tok.qualname}, #{stream[0].inspect}\" if @debug\n            @output_stream.call(tok, stream[0])\n            puts \"    pushing :#{@stack.last.name}\" if @debug\n            @stack.push(@stack.last)","sourceCodeStart":64,"sourceCodeEnd":100,"githubUrl":"https://github.com/rouge-ruby/rouge/blob/bd7dad7b0939c556e582a0370686f6fc022c8af5/lib/rouge/regex_lexer.rb#L64-L100","documentation":"Error \"please pass a token to yield, or use a callback\" thrown in rouge-ruby/rouge.","triggerScenarios":"Thrown at lib/rouge/regex_lexer.rb:82 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bd7dad7b0939c556e582a0370686f6fc022c8af5","analyzedAt":"2026-08-23T11:34:50.713Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}