Scala Compiler2.13.18 < Back


# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package nsc
  Definition Classes
    tools
-  package javac
  Definition Classes
    nsc
-  trait JavaParsers extends ParsersCommon with JavaScanners
  Definition Classes
    javac
- AbstractJavaScanner
- AbstractJavaTokenData
- CommonTokenData
- DocScanner
- JavaOpInfo
- JavaParser
- JavaScanner
- JavaScannerConfiguration
- JavaTokenData
- JavaUnitParser
- JavaUnitScanner
- ParserCommon
- ScannerCommon

c

scala.tools.nsc.javac.JavaParsers

# JavaParser

###

#### abstract class JavaParser extends ParserCommon

Source
  JavaParsers.scala

Linear Supertypes
JavaParsers.ParserCommon, AnyRef, Any
Known Subclasses
ScaladocJavaUnitParser, JavaUnitParser
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. JavaParser
2. ParserCommon
3. AnyRef
4. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Instance Constructors

1.  new JavaParser()

### Abstract Value Members

1.  abstract def deprecationWarning(off: JavaParsers.Offset, msg: String, since: String, actions: List[CodeAction] = Nil): Unit
   Definition Classes
     ParserCommon
2.  abstract def freshName(prefix: String): Global.Name
3.  implicit abstract def i2p(offset: Int): Global.Position
   Attributes
     protected
4.  abstract val in: JavaParsers.JavaScanner
   Definition Classes
     JavaParser → ParserCommon
5.  abstract def syntaxError(pos: Int, msg: String): Unit
6.  abstract def unit: Global.CompilationUnit
7.  abstract def warning(pos: Int, msg: String): Unit

### Concrete Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from JavaParser toany2stringadd[JavaParser] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
4.  def ->[B](y: B): (JavaParser, B)
   Implicit
     This member is added by an implicit conversion from JavaParser toArrowAssoc[JavaParser] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
5.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
6.  def accept(token: Int): Int

   Consume one token of the specified type, or signal an error if it is not there.

   Consume one token of the specified type, or signal an error if it is not there.

   Definition Classes
     JavaParser → ParserCommon
7.  def acceptClosingAngle(): Unit
8.  def adaptRecordIdentifier(): Unit

   If the next token is the identifier "record", convert it into a proper token.

   If the next token is the identifier "record", convert it into a proper token. Technically, "record" is just a restricted identifier. However, once we've figured out that it is in a position where it identifies a "record" class, it is much more convenient to promote it to a token.

9.  def addCompanionObject(statics: List[Global.Tree], cdef: Global.ClassDef): List[Global.Tree]
10.  def annotation(): Global.Tree

    Annotation ::= NormalAnnotation | MarkerAnnotation | SingleElementAnnotation

    Annotation ::= NormalAnnotation | MarkerAnnotation | SingleElementAnnotation

    NormalAnnotation ::= `@` TypeName `(` [ElementValuePairList] `)` ElementValuePairList ::= ElementValuePair {`,` ElementValuePair} ElementValuePair ::= Identifier = ElementValue ElementValue ::= ConditionalExpressionSubset | ElementValueArrayInitializer | Annotation

    // We only support a subset of the Java syntax that can form constant expressions. // https://docs.oracle.com/javase/specs/jls/se14/html/jls-15.html#jls-15.29 // // Luckily, we can just parse matching `(` and `)` to find our way to the end of the argument list. // and drop the arguments until we implement full support for Java constant expressions // ConditionalExpressionSubset := Literal | Identifier | QualifiedName | ClassLiteral

    ElementValueArrayInitializer ::= `{` [ElementValueList] [`,`] `}` ElementValueList ::= ElementValue {`,` ElementValue}

11.  def annotationDecl(mods: Global.Modifiers): List[Global.Tree]
12.  def annotationParents: collection.immutable.List[Global.Select]
13.  def annotations(): List[Global.Tree]
14.  def arrayOf(tpt: Global.Tree): Global.AppliedTypeTree
15.  final def asInstanceOf[T0]: T0
    Definition Classes
      Any
16.  def basicType(): Global.Tree
17.  def blankExpr: EmptyTree
18.  def bound(): Global.Tree
19.  def classDecl(mods: Global.Modifiers): List[Global.Tree]
20.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
21.  final def commaSeparated[T](part: => T): List[T]

    , with the separator fixed to commas.

        tokenSeparated

    , with the separator fixed to commas.

    Definition Classes
      ParserCommon
    Annotations
      @inline()
22.  def compilationUnit(): Global.Tree

    CompilationUnit ::= package QualId semi] {Import} {TypeDecl} //TopStatSeq

23.  def convertToTypeId(tree: Global.Tree): Global.Tree

    Convert (qual)ident to type identifier

24.  def definesInterface(token: Int): Boolean
25.  final def dropAnyBraces[T](body: => T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
26.  def ensuring(cond: (JavaParser) => Boolean, msg: => Any): JavaParser
    Implicit
      This member is added by an implicit conversion from JavaParser toEnsuring[JavaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
27.  def ensuring(cond: (JavaParser) => Boolean): JavaParser
    Implicit
      This member is added by an implicit conversion from JavaParser toEnsuring[JavaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
28.  def ensuring(cond: Boolean, msg: => Any): JavaParser
    Implicit
      This member is added by an implicit conversion from JavaParser toEnsuring[JavaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
29.  def ensuring(cond: Boolean): JavaParser
    Implicit
      This member is added by an implicit conversion from JavaParser toEnsuring[JavaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
30.  def enumConst(enumType: Global.Tree): (Global.ValDef, Boolean)
31.  def enumDecl(mods: Global.Modifiers): List[Global.Tree]
32.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
33.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
34.  def errorTypeTree: Global.TypeTree
35.  def fieldDecls(pos: Global.Position, mods: Global.Modifiers, tpt: Global.Tree, name: Global.Name): List[Global.Tree]

    Parse a sequence of field declarations, separated by commas.

    Parse a sequence of field declarations, separated by commas. This one is tricky because a comma might also appear in an initializer. Since we don't parse initializers we don't know what the comma signifies. We solve this with a second list buffer `maybe` which contains potential variable definitions. Once we have reached the end of the statement, we know whether these potential definitions are real or not.

36.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
37.  def formalParam(): Global.ValDef
38.  def formalParams(): List[Global.ValDef]
39.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
40.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
41.  def ident(): Global.Name
42.  def identForType(): Global.TypeName
43.  def importDecl(): List[Global.Tree]
44.  final def inBraces[T](body: => T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
45.  final def inBracesOrError[T](body: => T, alt: T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
46.  final def inBracesOrNil[T](body: => List[T]): List[T]
    Definition Classes
      ParserCommon
    Annotations
      @inline()
47.  final def inBracesOrUnit[T](body: => Global.Tree): Global.Tree
    Definition Classes
      ParserCommon
    Annotations
      @inline()
48.  final def inBrackets[T](body: => T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
49.  final def inGroupers[T](left: JavaParsers.Token)(body: => T): T

    Methods inParensOrError and similar take a second argument which, should the next token not be the expected opener (e.g.

    Methods inParensOrError and similar take a second argument which, should the next token not be the expected opener (e.g. LPAREN) will be returned instead of the contents of the groupers. However in all cases accept(LPAREN) will be called, so a parse error will still result. If the grouping is optional, in.token should be tested before calling these methods.

    Skip trailing comma is pushed down to scanner because this abstract parser doesn't have token info.

    Definition Classes
      ParserCommon
    Annotations
      @inline()
50.  final def inParens[T](body: => T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
51.  final def inParensOrError[T](body: => T, alt: T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
52.  final def inParensOrNil[T](body: => List[T]): List[T]
    Definition Classes
      ParserCommon
    Annotations
      @inline()
53.  final def inParensOrUnit[T](body: => Global.Tree): Global.Tree
    Definition Classes
      ParserCommon
    Annotations
      @inline()
54.  def interfaceDecl(mods: Global.Modifiers): List[Global.Tree]
55.  def interfacesOpt(): List[Global.Tree]
56.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
57.  def isTypeDeclStart(): Boolean
58.  def javaDot(name: Global.Name): Global.Tree
59.  def javaLangDot(name: Global.Name): Global.Tree
60.  def javaLangObject(): Global.Tree
61.  def javaLangRecord(): Global.Tree
62.  def joinComment(trees: => List[Global.Tree]): List[Global.Tree]

    A hook for joining the comment associated with a definition.

    A hook for joining the comment associated with a definition. Overridden by scaladoc.

63.  def makeCompanionObject(cdef: Global.ClassDef, statics: List[Global.Tree]): Global.Tree
64.  def makeConstructor(formals: List[Global.Tree]): Global.DefDef
65.  def makePackaging(pkg: Global.RefTree, stats: List[Global.Tree]): Global.PackageDef
66.  def makeParam(name: Global.TermName, tpt: Global.Tree): Global.ValDef
67.  def makeParam(name: String, tpt: Global.Tree): Global.ValDef
68.  final def makeParens(body: => List[Global.Tree]): Global.Parens

    Creates an actual Parens node (only used during parsing.)

    Creates an actual Parens node (only used during parsing.)

    Definition Classes
      ParserCommon
    Annotations
      @inline()
69.  def makeSyntheticParam(count: Int, tpt: Global.Tree): Global.ValDef
70.  def makeTemplate(parents: List[Global.Tree], stats: List[Global.Tree]): Global.Template
71.  def memberDecl(mods: Global.Modifiers, parentToken: Int): List[Global.Tree]
72.  def methodBody(): Global.Tree
73.  def modifiers(inInterface: Boolean, annots0: List[Global.Tree] = Nil): Global.Modifiers
74.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
75.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
76.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
77.  final def optArrayBrackets(tpt: Global.Tree): Global.Tree
    Annotations
      @tailrec()
78.  def optThrows(): Unit
79.  def parse(): Global.Tree

    this is the general parse method

80.  def permitsOpt(): List[Global.Tree]
81.  def qualId(orClassLiteral: Boolean = false): Global.Tree
82.  def recordDecl(mods: Global.Modifiers): List[Global.Tree]
83.  def repsep[T <: Global.Tree](p: () => T, sep: Int): List[T]
84.  def separatedToken[T](separator: JavaParsers.Token, part: => T): List[T]

    .

        { `sep` part }

    .

    Definition Classes
      ParserCommon
85.  def skip(): Unit
    Attributes
      protected
86.  def skipAhead(): Unit

    skip parent or brace enclosed sequence of things

87.  def skipTo(tokens: Int*): Unit
88.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
89.  def syntaxError(pos: Int, msg: String, skipIt: Boolean): Unit
90.  def syntaxError(msg: String, skipIt: Boolean): Unit
91.  def termDecl(mods: Global.Modifiers, parentToken: Int): List[Global.Tree]
92.  def toString(): String
    Definition Classes
      AnyRef → Any
93.  def tokenSeparated[T](separator: JavaParsers.Token, part: => T): List[T]

    .

        { `sep` part }

    .

    Definition Classes
      ParserCommon
94.  def tryLiteral(negate: Boolean = false): Option[Global.Constant]
95.  def typ(): Global.Tree
96.  def typeArgs(t: Global.Tree): Global.Tree
97.  def typeBody(leadingToken: Int): (List[Global.Tree], List[Global.Tree])
98.  def typeBodyDecls(parentToken: Int): (List[Global.Tree], List[Global.Tree])
99.  def typeDecl(mods: Global.Modifiers): List[Global.Tree]
100.  def typeParam(): Global.TypeDef
101.  def typeParams(): List[Global.TypeDef]
102.  def varDecl(pos: Global.Position, mods: Global.Modifiers, tpt: Global.Tree, name: Global.TermName): Global.ValDef
103.  final def wait(): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException])
104.  final def wait(arg0: Long, arg1: Int): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException])
105.  final def wait(arg0: Long): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException]) @native()

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from JavaParser toStringFormat[JavaParser] performed by method StringFormat in scala.Predef.
   Definition Classes
     StringFormat
   Annotations
     @deprecated @inline()
   Deprecated

     (Since version 2.12.16) Use `formatString.format(value)` instead of `value.formatted(formatString)`, or use the `f""` string interpolator. In Java 15 and later, `formatted` resolves to the new method in String which has reversed parameters.

2.  def →[B](y: B): (JavaParser, B)
   Implicit
     This member is added by an implicit conversion from JavaParser toArrowAssoc[JavaParser] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.13.0) Use `->` instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

### Inherited from JavaParsers.ParserCommon

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd fromJavaParser to any2stringadd[JavaParser]

### Inherited by implicit conversion StringFormat fromJavaParser to StringFormat[JavaParser]

### Inherited by implicit conversion Ensuring fromJavaParser to Ensuring[JavaParser]

### Inherited by implicit conversion ArrowAssoc fromJavaParser to ArrowAssoc[JavaParser]

### Ungrouped