# class Prism::MagicComment

This represents a magic comment that was encountered during parsing.

### Attributes

key_loc[R]

A `Location` object representing the location of the key in the source.

value_loc[R]

A `Location` object representing the location of the value in the source.

### Public Class Methods

new(key_loc, value_loc) click to toggle source

Create a new magic comment object with the given key and value locations.

    # File lib/prism/parse_result.rb, line 281
    def initialize(key_loc, value_loc)
      @key_loc = key_loc
      @value_loc = value_loc
    end

### Public Instance Methods

deconstruct_keys(keys) click to toggle source

Implement the hash pattern matching interface for `MagicComment`.

    # File lib/prism/parse_result.rb, line 297
    def deconstruct_keys(keys)
      { key_loc: key_loc, value_loc: value_loc }
    end

inspect() click to toggle source

Returns a string representation of this magic comment.

    # File lib/prism/parse_result.rb, line 302
    def inspect
      "#<Prism::MagicComment @key=#{key.inspect} @value=#{value.inspect}>"
    end

key() click to toggle source

Returns the key of the magic comment by slicing it from the source code.

    # File lib/prism/parse_result.rb, line 287
    def key
      key_loc.slice
    end

value() click to toggle source

Returns the value of the magic comment by slicing it from the source code.

    # File lib/prism/parse_result.rb, line 292
    def value
      value_loc.slice
    end