class JavaUnitParser extends JavaParser
- Alphabetic
- By Inheritance
- JavaUnitParser
- JavaParser
- ParserCommon
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new JavaUnitParser(unit: Global.CompilationUnit)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from JavaUnitParser toany2stringadd[JavaUnitParser] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (JavaUnitParser, B)
- Implicit
- This member is added by an implicit conversion from JavaUnitParser toArrowAssoc[JavaUnitParser] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- 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
- def acceptClosingAngle(): Unit
- Definition Classes
- JavaParser
- 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.
- Definition Classes
- JavaParser
- def addCompanionObject(statics: List[Global.Tree], cdef: Global.ClassDef): List[Global.Tree]
- Definition Classes
- JavaParser
- 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 | ClassLiteralElementValueArrayInitializer ::=
{
[ElementValueList] [,
]}
ElementValueList ::= ElementValue {,
ElementValue}- Definition Classes
- JavaParser
- def annotationDecl(mods: Global.Modifiers): List[Global.Tree]
- Definition Classes
- JavaParser
- def annotationParents: collection.immutable.List[Global.Select]
- Definition Classes
- JavaParser
- def annotations(): List[Global.Tree]
- Definition Classes
- JavaParser
- def arrayOf(tpt: Global.Tree): Global.AppliedTypeTree
- Definition Classes
- JavaParser
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def basicType(): Global.Tree
- Definition Classes
- JavaParser
- def blankExpr: EmptyTree
- Definition Classes
- JavaParser
- def bound(): Global.Tree
- Definition Classes
- JavaParser
- def classDecl(mods: Global.Modifiers): List[Global.Tree]
- Definition Classes
- JavaParser
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- 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()
- def compilationUnit(): Global.Tree
CompilationUnit ::= [package QualId semi] TopStatSeq
CompilationUnit ::= [package QualId semi] TopStatSeq
- Definition Classes
- JavaParser
- def convertToTypeId(tree: Global.Tree): Global.Tree
Convert (qual)ident to type identifier
Convert (qual)ident to type identifier
- Definition Classes
- JavaParser
- def definesInterface(token: Int): Boolean
- Definition Classes
- JavaParser
- def deprecationWarning(off: Int, msg: String, since: String): Unit
- Definition Classes
- JavaUnitParser → ParserCommon
- final def dropAnyBraces[T](body: => T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- def ensuring(cond: (JavaUnitParser) => Boolean, msg: => Any): JavaUnitParser
- Implicit
- This member is added by an implicit conversion from JavaUnitParser toEnsuring[JavaUnitParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (JavaUnitParser) => Boolean): JavaUnitParser
- Implicit
- This member is added by an implicit conversion from JavaUnitParser toEnsuring[JavaUnitParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): JavaUnitParser
- Implicit
- This member is added by an implicit conversion from JavaUnitParser toEnsuring[JavaUnitParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): JavaUnitParser
- Implicit
- This member is added by an implicit conversion from JavaUnitParser toEnsuring[JavaUnitParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def enumConst(enumType: Global.Tree): (Global.ValDef, Boolean)
- Definition Classes
- JavaParser
- def enumDecl(mods: Global.Modifiers): List[Global.Tree]
- Definition Classes
- JavaParser
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def errorTypeTree: Global.TypeTree
- Definition Classes
- JavaParser
- 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.- Definition Classes
- JavaParser
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def formalParam(): Global.ValDef
- Definition Classes
- JavaParser
- def formalParams(): List[Global.ValDef]
- Definition Classes
- JavaParser
- def freshName(prefix: String): Global.Name
- Definition Classes
- JavaUnitParser → JavaParser
- def freshTermName(prefix: String): Global.TermName
- def freshTypeName(prefix: String): Global.TypeName
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- implicit def i2p(offset: Int): Global.Position
- Definition Classes
- JavaUnitParser → JavaParser
- def ident(): Global.Name
- Definition Classes
- JavaParser
- def identForType(): Global.TypeName
- Definition Classes
- JavaParser
- def importDecl(): List[Global.Tree]
- Definition Classes
- JavaParser
- val in: JavaParsers.JavaUnitScanner
- Definition Classes
- JavaUnitParser → JavaParser → ParserCommon
- final def inBraces[T](body: => T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inBracesOrError[T](body: => T, alt: T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inBracesOrNil[T](body: => List[T]): List[T]
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inBracesOrUnit[T](body: => Global.Tree): Global.Tree
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inBrackets[T](body: => T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- 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()
- final def inParens[T](body: => T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inParensOrError[T](body: => T, alt: T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inParensOrNil[T](body: => List[T]): List[T]
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inParensOrUnit[T](body: => Global.Tree): Global.Tree
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- def interfaceDecl(mods: Global.Modifiers): List[Global.Tree]
- Definition Classes
- JavaParser
- def interfacesOpt(): List[Global.Tree]
- Definition Classes
- JavaParser
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def javaDot(name: Global.Name): Global.Tree
- Definition Classes
- JavaParser
- def javaLangDot(name: Global.Name): Global.Tree
- Definition Classes
- JavaParser
- def javaLangObject(): Global.Tree
- Definition Classes
- JavaParser
- def javaLangRecord(): Global.Tree
- Definition Classes
- JavaParser
- 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.
- Definition Classes
- JavaParser
- def makeCompanionObject(cdef: Global.ClassDef, statics: List[Global.Tree]): Global.Tree
- Definition Classes
- JavaParser
- def makeConstructor(formals: List[Global.Tree]): Global.DefDef
- Definition Classes
- JavaParser
- def makePackaging(pkg: Global.RefTree, stats: List[Global.Tree]): Global.PackageDef
- Definition Classes
- JavaParser
- def makeParam(name: Global.TermName, tpt: Global.Tree): Global.ValDef
- Definition Classes
- JavaParser
- def makeParam(name: String, tpt: Global.Tree): Global.ValDef
- Definition Classes
- JavaParser
- 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()
- def makeSyntheticParam(count: Int, tpt: Global.Tree): Global.ValDef
- Definition Classes
- JavaParser
- def makeTemplate(parents: List[Global.Tree], stats: List[Global.Tree]): Global.Template
- Definition Classes
- JavaParser
- def memberDecl(mods: Global.Modifiers, parentToken: Int): List[Global.Tree]
- Definition Classes
- JavaParser
- def methodBody(): Global.Tree
- Definition Classes
- JavaParser
- def modifiers(inInterface: Boolean): Global.Modifiers
- Definition Classes
- JavaParser
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def optArrayBrackets(tpt: Global.Tree): Global.Tree
- Definition Classes
- JavaParser
- Annotations
- @tailrec()
- def optThrows(): Unit
- Definition Classes
- JavaParser
- def parse(): Global.Tree
this is the general parse method
this is the general parse method
- Definition Classes
- JavaParser
- def permitsOpt(): List[Global.Tree]
- Definition Classes
- JavaParser
- def qualId(orClassLiteral: Boolean = false): Global.Tree
- Definition Classes
- JavaParser
- def recordDecl(mods: Global.Modifiers): List[Global.Tree]
- Definition Classes
- JavaParser
- def repsep[T <: Global.Tree](p: () => T, sep: Int): List[T]
- Definition Classes
- JavaParser
- def separatedToken[T](separator: JavaParsers.Token, part: => T): List[T]
.
{ `sep` part }
.
- Definition Classes
- ParserCommon
- def skip(): Unit
- Attributes
- protected
- Definition Classes
- JavaParser
- def skipAhead(): Unit
skip parent or brace enclosed sequence of things
skip parent or brace enclosed sequence of things
- Definition Classes
- JavaParser
- def skipTo(tokens: Int*): Unit
- Definition Classes
- JavaParser
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def syntaxError(pos: Int, msg: String): Unit
- Definition Classes
- JavaUnitParser → JavaParser
- def syntaxError(pos: Int, msg: String, skipIt: Boolean): Unit
- Definition Classes
- JavaParser
- def syntaxError(msg: String, skipIt: Boolean): Unit
- Definition Classes
- JavaParser
- def termDecl(mods: Global.Modifiers, parentToken: Int): List[Global.Tree]
- Definition Classes
- JavaParser
- def toString(): String
- Definition Classes
- AnyRef → Any
- def tokenSeparated[T](separator: JavaParsers.Token, part: => T): List[T]
.
{ `sep` part }
.
- Definition Classes
- ParserCommon
- def tryLiteral(negate: Boolean = false): Option[Global.Constant]
- Definition Classes
- JavaParser
- def typ(): Global.Tree
- Definition Classes
- JavaParser
- def typeArgs(t: Global.Tree): Global.Tree
- Definition Classes
- JavaParser
- def typeBody(leadingToken: Int): (List[Global.Tree], List[Global.Tree])
- Definition Classes
- JavaParser
- def typeBodyDecls(parentToken: Int): (List[Global.Tree], List[Global.Tree])
- Definition Classes
- JavaParser
- def typeDecl(mods: Global.Modifiers): List[Global.Tree]
- Definition Classes
- JavaParser
- def typeParam(): Global.TypeDef
- Definition Classes
- JavaParser
- def typeParams(): List[Global.TypeDef]
- Definition Classes
- JavaParser
- val unit: Global.CompilationUnit
- Definition Classes
- JavaUnitParser → JavaParser
- def varDecl(pos: Global.Position, mods: Global.Modifiers, tpt: Global.Tree, name: Global.TermName): Global.ValDef
- Definition Classes
- JavaParser
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def warning(pos: Int, msg: String): Unit
- Definition Classes
- JavaUnitParser → JavaParser
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from JavaUnitParser toStringFormat[JavaUnitParser] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (JavaUnitParser, B)
- Implicit
- This member is added by an implicit conversion from JavaUnitParser toArrowAssoc[JavaUnitParser] 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.
The Scala compiler and reflection APIs.