abstract class JavaParser extends ParserCommon
- Alphabetic
- By Inheritance
- JavaParser
- ParserCommon
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new JavaParser()
Abstract Value Members
-
abstract
def
deprecationWarning(off: JavaParsers.Offset, msg: String, since: String): Unit
- Definition Classes
- ParserCommon
- abstract def freshName(prefix: String): Global.Name
-
implicit abstract
def
i2p(offset: Int): Global.Position
- Attributes
- protected
-
abstract
val
in: JavaParsers.JavaScanner
- Definition Classes
- JavaParser → ParserCommon
- abstract def syntaxError(pos: Int, msg: String): Unit
- abstract def warning(pos: Int, msg: String): Unit
Concrete 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 JavaParser to any2stringadd[JavaParser] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
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()
-
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
- def addCompanionObject(statics: List[Global.Tree], cdef: Global.ClassDef): List[Global.Tree]
-
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} - def annotationDecl(mods: Global.Modifiers): List[Global.Tree]
- def annotationParents: collection.immutable.List[Global.Select]
- def annotations(): List[Global.Tree]
- def arrayOf(tpt: Global.Tree): Global.AppliedTypeTree
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def basicType(): Global.Tree
- def blankExpr: Global.EmptyTree.type
- def bound(): Global.Tree
- def classDecl(mods: Global.Modifiers): List[Global.Tree]
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
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()
-
def
compilationUnit(): Global.Tree
CompilationUnit ::= [package QualId semi] TopStatSeq
-
def
convertToTypeId(tree: Global.Tree): Global.Tree
Convert (qual)ident to type identifier
- def definesInterface(token: Int): Boolean
-
final
def
dropAnyBraces[T](body: ⇒ T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
-
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
-
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
-
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
-
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
- def enumConst(enumType: Global.Tree): (Global.ValDef, Boolean)
- def enumDecl(mods: Global.Modifiers): List[Global.Tree]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def errorTypeTree: Global.TypeTree
-
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. -
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formalParam(): Global.ValDef
- def formalParams(): List[Global.ValDef]
-
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
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def ident(): Global.Name
- def identForType(): Global.TypeName
- def importCompanionObject(cdef: Global.ClassDef): Global.Tree
- def importDecl(): List[Global.Tree]
-
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
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()
-
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]
- def interfacesOpt(): List[Global.Tree]
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def javaDot(name: Global.Name): Global.Tree
- def javaLangDot(name: Global.Name): Global.Tree
- def javaLangObject(): Global.Tree
-
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.
- def makeCompanionObject(cdef: Global.ClassDef, statics: List[Global.Tree]): Global.Tree
- def makeConstructor(formals: List[Global.Tree]): Global.DefDef
- def makePackaging(pkg: Global.RefTree, stats: List[Global.Tree]): Global.PackageDef
- def makeParam(name: Global.TermName, tpt: Global.Tree): Global.ValDef
- def makeParam(name: String, tpt: Global.Tree): Global.ValDef
-
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
- def makeTemplate(parents: List[Global.Tree], stats: List[Global.Tree]): Global.Template
- def memberDecl(mods: Global.Modifiers, parentToken: Int): List[Global.Tree]
- def methodBody(): Global.Tree
- def modifiers(inInterface: Boolean): Global.Modifiers
-
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()
- def optArrayBrackets(tpt: Global.Tree): Global.Tree
- def optThrows(): Unit
-
def
parse(): Global.Tree
this is the general parse method
- def qualId(orClassLiteral: Boolean = false): Global.Tree
- def repsep[T <: Global.Tree](p: () ⇒ T, sep: Int): List[T]
-
def
skip(): Unit
- Attributes
- protected
-
def
skipAhead(): Unit
skip parent or brace enclosed sequence of things
- def skipTo(tokens: Int*): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def syntaxError(pos: Int, msg: String, skipIt: Boolean): Unit
- def syntaxError(msg: String, skipIt: Boolean): Unit
- def termDecl(mods: Global.Modifiers, parentToken: Int): List[Global.Tree]
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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
- def tryLiteral(negate: Boolean = false): Option[Global.Constant]
- def typ(): Global.Tree
- def typeArgs(t: Global.Tree): Global.Tree
- def typeBody(leadingToken: Int, parentName: Global.Name): (List[Global.Tree], List[Global.Tree])
- def typeBodyDecls(parentToken: Int, parentName: Global.Name): (List[Global.Tree], List[Global.Tree])
- def typeDecl(mods: Global.Modifiers): List[Global.Tree]
- def typeParam(): Global.TypeDef
- def typeParams(): List[Global.TypeDef]
- def varDecl(pos: Global.Position, mods: Global.Modifiers, tpt: Global.Tree, name: Global.TermName): Global.ValDef
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
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
The Scala compiler and reflection APIs.