Scala Compiler2.13.3 < 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): 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 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 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: EmptyTree
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(classOf[java.lang.CloneNotSupportedException]) @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 toEnsuring[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 toEnsuring[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 toEnsuring[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 toEnsuring[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: AnyRef): 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.  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
      @inline()
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 importCompanionObject(cdef: Global.ClassDef): Global.Tree
44.  def importDecl(): List[Global.Tree]
45.  final def inBraces[T](body: => T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
46.  final def inBracesOrError[T](body: => T, alt: T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
47.  final def inBracesOrNil[T](body: => List[T]): List[T]
    Definition Classes
      ParserCommon
    Annotations
      @inline()
48.  final def inBracesOrUnit[T](body: => Global.Tree): Global.Tree
    Definition Classes
      ParserCommon
    Annotations
      @inline()
49.  final def inBrackets[T](body: => T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
50.  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()
51.  final def inParens[T](body: => T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
52.  final def inParensOrError[T](body: => T, alt: T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
53.  final def inParensOrNil[T](body: => List[T]): List[T]
    Definition Classes
      ParserCommon
    Annotations
      @inline()
54.  final def inParensOrUnit[T](body: => Global.Tree): Global.Tree
    Definition Classes
      ParserCommon
    Annotations
      @inline()
55.  def interfaceDecl(mods: Global.Modifiers): List[Global.Tree]
56.  def interfacesOpt(): List[Global.Tree]
57.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
58.  def javaDot(name: Global.Name): Global.Tree
59.  def javaLangDot(name: Global.Name): Global.Tree
60.  def javaLangObject(): Global.Tree
61.  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.

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

    this is the general parse method

79.  def qualId(orClassLiteral: Boolean = false): Global.Tree
80.  def repsep[T <: Global.Tree](p: () => T, sep: Int): List[T]
81.  def separatedToken[T](separator: JavaParsers.Token, part: => T): List[T]

    .

        { `sep` part }

    . { `sep` part } }}}

    Definition Classes
      ParserCommon
82.  def skip(): Unit
    Attributes
      protected
83.  def skipAhead(): Unit

    skip parent or brace enclosed sequence of things

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

    .

        { `sep` part }

    . { `sep` part } }}}

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

### Deprecated Value Members

1.  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