Sha256: fc12c8f9c8bbbca3beb04357ee636b7455ce57cca9db0d4161b792c68af7e575

Contents?: true

Size: 1.01 KB

Versions: 79

Compression:

Stored size: 1.01 KB

Contents

module V8

  class StackTrace
    include Enumerable

    def initialize(to, native)
      @to = to
      @native = native
    end

    def length
      @native.GetFrameCount()
    end

    def each
      for i in 0..length - 1
        yield V8::StackFrame.new(@to, @native.GetFrame(i))
      end
    end

    def to_s
      map {|f|"at #{f}"}.join("\n")
    end
  end

  class StackFrame

    def initialize(portal, native)
      @to = portal
      @native = native
    end

    def script_name
      @to.rb(@native.GetScriptName())
    end

    def function_name
      @to.rb(@native.GetFunctionName())
    end

    def line_number
      @native.GetLineNumber()
    end

    def column
      @native.GetColumn()
    end

    def eval?
      @native.IsEval()
    end

    def constructor?
      @native.IsConstructor()
    end

    def to_s
      if @native.GetFunctionName()
        "#{function_name} (#{script_name}:#{line_number}:#{column})"
      else
        "#{script_name}:#{line_number}:#{column}"
      end
    end
  end
end

Version data entries

79 entries across 79 versions & 5 rubygems

Version Path
classiccms-0.7.5 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.7.4 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.7.3 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.7.2 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.7.1 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.7.0 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.6.9 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.6.8 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.6.7 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.6.6 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.6.5 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.6.4 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.6.3 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.6.2 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.6.1 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.6.0 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.5.17 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.5.16 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.5.15 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb
classiccms-0.5.14 vendor/bundle/gems/therubyracer-0.10.1/lib/v8/stack.rb