Record Class LspLocation

java.lang.Object
java.lang.Record
smile.util.lsp.LspLocation
Record Components:
uri - the document URI (e.g. file:///home/user/Foo.java).
startLine - the 1-based start line of the range.
startCharacter - the 1-based start character offset of the range.
endLine - the 1-based end line of the range.
endCharacter - the 1-based end character offset of the range.

public record LspLocation(String uri, int startLine, int startCharacter, int endLine, int endCharacter) extends Record
A source location returned by LSP operations — a file URI together with the start and end positions of the relevant text range.

All position values are 1-based (as shown in editors).

  • Constructor Details

    • LspLocation

      public LspLocation(String uri, int startLine, int startCharacter, int endLine, int endCharacter)
      Creates an instance of a LspLocation record class.
      Parameters:
      uri - the value for the uri record component
      startLine - the value for the startLine record component
      startCharacter - the value for the startCharacter record component
      endLine - the value for the endLine record component
      endCharacter - the value for the endCharacter record component
  • Method Details

    • fromProtocol

      public static LspLocation fromProtocol(org.eclipse.lsp4j.Location loc)
      Builds an LspLocation from an LSP4J Location. Converts 0-based LSP coordinates to 1-based editor coordinates.
      Parameters:
      loc - the LSP4J location.
      Returns:
      the equivalent editor-friendly location.
    • start

      public LspPosition start()
      Returns the start position of this location.
      Returns:
      the 1-based start LspPosition.
    • end

      public LspPosition end()
      Returns the end position of this location.
      Returns:
      the 1-based end LspPosition.
    • toString

      public String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • uri

      public String uri()
      Returns the value of the uri record component.
      Returns:
      the value of the uri record component
    • startLine

      public int startLine()
      Returns the value of the startLine record component.
      Returns:
      the value of the startLine record component
    • startCharacter

      public int startCharacter()
      Returns the value of the startCharacter record component.
      Returns:
      the value of the startCharacter record component
    • endLine

      public int endLine()
      Returns the value of the endLine record component.
      Returns:
      the value of the endLine record component
    • endCharacter

      public int endCharacter()
      Returns the value of the endCharacter record component.
      Returns:
      the value of the endCharacter record component