Mod

dotty.tools.dotc.ast.untpd.Mod
See theMod companion object
sealed abstract class Mod(val flags: FlagSet)(implicit src: SourceFile) extends Positioned

Mod is intended to record syntactic information about modifiers, it's NOT a replacement of FlagSet.

For any query about semantic information, check flags instead.

Attributes

Companion
object
Graph
Supertypes
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
Known subtypes
class Abstract
class Erased
class Final
class Given
class Implicit
class Impure
class Infix
class Inline
class Into
class Lazy
class Opaque
class Open
class Override
class Private
class Protected
class Sealed
class Tracked
class Transparent
class Update
class Var
Show all

Members list

Value members

Inherited methods

def checkPos(nonOverlapping: Boolean)(using Context): Unit

Check that all positioned items in this tree satisfy the following conditions:

Check that all positioned items in this tree satisfy the following conditions:

  • Parent spans contain child spans
  • If item is a non-empty tree, it has a position

Attributes

Inherited from:
Positioned
def cloneIn(src: SourceFile): this.type

Clone this node but assign it a fresh id which marks it as a node in file.

Clone this node but assign it a fresh id which marks it as a node in file.

Attributes

Inherited from:
Positioned

Attributes

Inherited from:
Positioned
def endPos(using ctx: Context): SourcePosition

Attributes

Inherited from:
SrcPos
def envelope(src: SourceFile, startSpan: Span = ...): Span

The union of startSpan and the spans of all positioned children that have the same source as this node, except that Inlined nodes only consider their call child.

The union of startSpan and the spans of all positioned children that have the same source as this node, except that Inlined nodes only consider their call child.

Side effect: Any descendants without spans have but with the same source as this node have their span set to the end position of the envelope of all children to the left, or, if that one does not exist, to the start position of the envelope of all children to the right.

Attributes

Inherited from:
Positioned
def focus(using ctx: Context): SourcePosition

Attributes

Inherited from:
SrcPos
def line(using ctx: Context): Int

Attributes

Inherited from:
SrcPos

The name of the n^th^ element of this product, 0-based. In the default implementation, an empty string.

The name of the n^th^ element of this product, 0-based. In the default implementation, an empty string.

Value parameters

n

the index of the element name to return

Attributes

Returns

the name of the specified element

Throws
IndexOutOfBoundsException

if the n is out of range(n < 0 || n >= productArity).

Inherited from:
Product

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

Attributes

Inherited from:
Product

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Attributes

Returns

in the default implementation, an Iterator[Any]

Inherited from:
Product

A string used in the toString methods of derived classes. Implementations may override this method to prepend a string prefix to the result of toString methods.

A string used in the toString methods of derived classes. Implementations may override this method to prepend a string prefix to the result of toString methods.

Attributes

Returns

in the default implementation, the empty string

Inherited from:
Product

Attributes

Inherited from:
Positioned

Attributes

Inherited from:
Positioned
def span: Span

The span part of the item's position

The span part of the item's position

Attributes

Inherited from:
Positioned
def span_=(span: Span): Unit

Attributes

Inherited from:
Positioned
final def srcPos: SrcPos

This positioned item, widened to SrcPos. Used to make clear we only need the position, typically for error reporting.

This positioned item, widened to SrcPos. Used to make clear we only need the position, typically for error reporting.

Attributes

Inherited from:
Positioned
def startPos(using ctx: Context): SourcePosition

Attributes

Inherited from:
SrcPos
def uniqueId: Int

A unique identifier in case -Yshow-tree-ids, or -Ydebug-tree-with-id is set, -1 otherwise.

A unique identifier in case -Yshow-tree-ids, or -Ydebug-tree-with-id is set, -1 otherwise.

Attributes

Inherited from:
Positioned
def withSpan(span: Span): this.type

A positioned item like this one with given span. If the positioned item is source-derived, a clone is returned. If the positioned item is synthetic, the position is updated destructively and the item itself is returned.

A positioned item like this one with given span. If the positioned item is source-derived, a clone is returned. If the positioned item is synthetic, the position is updated destructively and the item itself is returned.

Attributes

Inherited from:
Positioned

Inherited and Abstract methods

def canEqual(that: Any): Boolean

Checks whether this instance can possibly equal that.

Checks whether this instance can possibly equal that.

A method that should be called from every well-designed equals method that is open to be overridden in a subclass. See Programming in Scala, Chapter 28 for discussion and design.

Value parameters

that

the value being probed for possible equality

Attributes

Returns

true if this instance can possibly equal that, otherwise false

Inherited from:
Equals

The size of this product.

The size of this product.

Attributes

Returns

for a product A(x,,1,,, ..., x,,k,,), returns k

Inherited from:
Product
def productElement(n: Int): Any

The n^th^ element of this product, 0-based. In other words, for a product A(x,,1,,, ..., x,,k,,), returns x,,(n+1),, where 0 <= n < k.

The n^th^ element of this product, 0-based. In other words, for a product A(x,,1,,, ..., x,,k,,), returns x,,(n+1),, where 0 <= n < k.

Value parameters

n

the index of the element to return

Attributes

Returns

the element n elements after the first element

Throws
IndexOutOfBoundsException

if the n is out of range(n < 0 || n >= productArity).

Inherited from:
Product

Concrete fields

val flags: FlagSet