Scala Compiler2.12.21 < 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
 
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. All

### Instance Constructors

1.  new JavaParser()

### Abstract Value Members

1.  abstract def deprecationWarning(off: JavaParsers.Offset, msg: String, since: String): 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 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 to any2stringadd[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 to ArrowAssoc[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 addCompanionObject(statics: List[Global.Tree], cdef: Global.ClassDef): List[Global.Tree]
9.  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 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}

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

    , with the separator fixed to commas.

        tokenSeparated

    , with the separator fixed to commas. tokenSeparated }}}

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

    CompilationUnit ::= [package QualId semi] TopStatSeq

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

    Convert (qual)ident to type identifier

23.  def definesInterface(token: Int): Boolean
24.  final def dropAnyBraces[T](body: ⇒ T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
25.  def ensuring(cond: (JavaParser) ⇒ Boolean, msg: ⇒ Any): JavaParser
    Implicit
      This member is added by an implicit conversion from JavaParser to Ensuring[JavaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
26.  def ensuring(cond: (JavaParser) ⇒ Boolean): JavaParser
    Implicit
      This member is added by an implicit conversion from JavaParser to Ensuring[JavaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
27.  def ensuring(cond: Boolean, msg: ⇒ Any): JavaParser
    Implicit
      This member is added by an implicit conversion from JavaParser to Ensuring[JavaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
28.  def ensuring(cond: Boolean): JavaParser
    Implicit
      This member is added by an implicit conversion from JavaParser to Ensuring[JavaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
29.  def enumConst(enumType: Global.Tree): (Global.ValDef, Boolean)
30.  def enumDecl(mods: Global.Modifiers): List[Global.Tree]
31.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
32.  def equals(arg0: Any): Boolean
    Definition Classes
      AnyRef → Any
33.  def errorTypeTree: Global.TypeTree
34.  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.

35.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )
36.  def formalParam(): Global.ValDef
37.  def formalParams(): List[Global.ValDef]
38.  final def getClass(): Class[_]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
39.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
40.  def ident(): Global.Name
41.  def identForType(): Global.TypeName
42.  def importCompanionObject(cdef: Global.ClassDef): Global.Tree
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 inParens[T](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.

    Definition Classes
      ParserCommon
    Annotations
      @inline()
50.  final def inParensOrError[T](body: ⇒ T, alt: T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
51.  final def inParensOrNil[T](body: ⇒ List[T]): List[T]
    Definition Classes
      ParserCommon
    Annotations
      @inline()
52.  final def inParensOrUnit[T](body: ⇒ Global.Tree): Global.Tree
    Definition Classes
      ParserCommon
    Annotations
      @inline()
53.  def interfaceDecl(mods: Global.Modifiers): List[Global.Tree]
54.  def interfacesOpt(): List[Global.Tree]
55.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
56.  def javaDot(name: Global.Name): Global.Tree
57.  def javaLangDot(name: Global.Name): Global.Tree
58.  def javaLangObject(): Global.Tree
59.  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.

60.  def makeCompanionObject(cdef: Global.ClassDef, statics: List[Global.Tree]): Global.Tree
61.  def makeConstructor(formals: List[Global.Tree]): Global.DefDef
62.  def makePackaging(pkg: Global.RefTree, stats: List[Global.Tree]): Global.PackageDef
63.  def makeParam(name: Global.TermName, tpt: Global.Tree): Global.ValDef
64.  def makeParam(name: String, tpt: Global.Tree): Global.ValDef
65.  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()
66.  def makeSyntheticParam(count: Int, tpt: Global.Tree): Global.ValDef
67.  def makeTemplate(parents: List[Global.Tree], stats: List[Global.Tree]): Global.Template
68.  def memberDecl(mods: Global.Modifiers, parentToken: Int): List[Global.Tree]
69.  def methodBody(): Global.Tree
70.  def modifiers(inInterface: Boolean): Global.Modifiers
71.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
72.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
73.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
74.  def optArrayBrackets(tpt: Global.Tree): Global.Tree
75.  def optThrows(): Unit
76.  def parse(): Global.Tree

    this is the general parse method

77.  def qualId(orClassLiteral: Boolean = false): Global.Tree
78.  def repsep[T <: Global.Tree](p: () ⇒ T, sep: Int): List[T]
79.  def skip(): Unit
    Attributes
      protected
80.  def skipAhead(): Unit

    skip parent or brace enclosed sequence of things

81.  def skipTo(tokens: Int*): Unit
82.  final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
      AnyRef
83.  def syntaxError(pos: Int, msg: String, skipIt: Boolean): Unit
84.  def syntaxError(msg: String, skipIt: Boolean): Unit
85.  def termDecl(mods: Global.Modifiers, parentToken: Int): List[Global.Tree]
86.  def toString(): String
    Definition Classes
      AnyRef → Any
87.  final def tokenSeparated[T](separator: JavaParsers.Token, sepFirst: Boolean, part: ⇒ T): List[T]

    , or if sepFirst is true,

        part { `sep` part }

    , or if sepFirst is true,

        { `sep` part }

    . { `sep` part } }}} part { `sep` part } }}}

    Definition Classes
      ParserCommon
88.  def tryLiteral(negate: Boolean = false): Option[Global.Constant]
89.  def typ(): Global.Tree
90.  def typeArgs(t: Global.Tree): Global.Tree
91.  def typeBody(leadingToken: Int, parentName: Global.Name): (List[Global.Tree], List[Global.Tree])
92.  def typeBodyDecls(parentToken: Int, parentName: Global.Name): (List[Global.Tree], List[Global.Tree])
93.  def typeDecl(mods: Global.Modifiers): List[Global.Tree]
94.  def typeParam(): Global.TypeDef
95.  def typeParams(): List[Global.TypeDef]
96.  def varDecl(pos: Global.Position, mods: Global.Modifiers, tpt: Global.Tree, name: Global.TermName): Global.ValDef
97.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
98.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
99.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... ) @native()
100.  def →[B](y: B): (JavaParser, B)
     Implicit
       This member is added by an implicit conversion from JavaParser to ArrowAssoc[JavaParser] performed by method ArrowAssoc in scala.Predef.
     Definition Classes
       ArrowAssoc

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from JavaParser to StringFormat[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.

### Inherited from JavaParsers.ParserCommon

### Inherited from AnyRef

### Inherited from Any

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

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

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

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

### Ungrouped