@haxall/haxall
    Preparing search index...

    Class FileLoc

    FileLoc is a location within a text file or source string. It includes an optional one-base line number and column number. This class provides a standardized API for text based tools which need to report the line/column numbers of errors.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    type$: Type

    Methods

    • One based line column number or zero if unknown

      Returns number

    • Comparison operator

      Parameters

      Returns number

    • Equality operator

      Parameters

      Returns boolean

    • Filename location

      Returns string

    • Hash code

      Returns number

    • Return if this Obj is immutable and safe to share between threads:

      • an instance of a const class
      • the result of toImmutable on List, Map, or Buf
      • a Func object may or may not be immutable - see sys::Func.
      • other instances are assumed mutable and return false

      Returns boolean

    • Is this the unknown location

      Returns boolean

    • One based line number or zero if unknown

      Returns number

    • Get an immutable representation of this instance or throw NotImmutableErr if this object cannot be represented as an immutable:

      • if type is const, return this
      • if already an immutable List, Map, Buf, or Func return this
      • if a List, then attempt to perform a deep clone by calling toImmutable on all items
      • if a Map, then attempt to perform a deep clone by calling toImmutable on all values (keys are already immutable)
      • some Funcs can be made immutable - see sys::Func
      • if a Buf create immutable copy, see sys::Buf
      • any other object throws NotImmutableErr

      Returns Readonly<this>

    • Return string representation as "file", "file(line)", or "file(line,col)". This is the standard format used by the Fantom compiler.

      Returns string

    • Trap a dynamic call for handling. Dynamic calls are invoked with the -> shortcut operator:

      a->x        a.trap("x", null)
      a->x() a.trap("x", null)
      a->x = b a.trap("x", [b])
      a->x(b) a.trap("x", [b])
      a->x(b, c) a.trap("x", [b, c])

      The default implementation provided by Obj attempts to use reflection. If name maps to a method, it is invoked with the specified arguments. If name maps to a field and args.size is zero, get the field. If name maps to a field and args.size is one, set the field and return args[0]. Otherwise throw UnknownSlotErr.

      Parameters

      Returns JsObj

    • Get the Type instance which represents this object's class. Also seeType.of or Pod.of.

      Returns Type

    • This method called whenever an it-block is applied to an object. The default implementation calls the function with this, and then returns this.

      Parameters

      • f: (arg0: this) => void

      Returns this

    • Write x.toStr to standard output followed by newline. If x is null then print "null". If no argument is provided then print an empty line.

      Parameters

      Returns void

    • Constant for tool input location

      Returns FileLoc

    • Constructor for filename string

      Parameters

      • file: string
      • Optionalline: number
      • Optionalcol: number
      • ...args: unknown[]

      Returns FileLoc

    • Constructor for file

      Parameters

      • file: File
      • Optionalline: number
      • Optionalcol: number
      • ...args: unknown[]

      Returns FileLoc

    • Constant for synthetic location

      Returns FileLoc

    • Constant for an unknown location

      Returns FileLoc