Packages

class JavaUnitParser extends JavaParser

Source
JavaParsers.scala
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JavaUnitParser
  2. JavaParser
  3. ParserCommon
  4. AnyRef
  5. 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 JavaUnitParser(unit: Global.CompilationUnit)

Value Members

  1. 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
    JavaParserParserCommon
  2. def acceptClosingAngle(): Unit
    Definition Classes
    JavaParser
  3. 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
  4. def addCompanionObject(statics: List[Global.Tree], cdef: Global.ClassDef): List[Global.Tree]
    Definition Classes
    JavaParser
  5. 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}

    Definition Classes
    JavaParser
  6. def annotationDecl(mods: Global.Modifiers): List[Global.Tree]
    Definition Classes
    JavaParser
  7. def annotationParents: collection.immutable.List[Global.Select]
    Definition Classes
    JavaParser
  8. def annotations(): List[Global.Tree]
    Definition Classes
    JavaParser
  9. def arrayOf(tpt: Global.Tree): Global.AppliedTypeTree
    Definition Classes
    JavaParser
  10. def basicType(): Global.Tree
    Definition Classes
    JavaParser
  11. def blankExpr: EmptyTree
    Definition Classes
    JavaParser
  12. def bound(): Global.Tree
    Definition Classes
    JavaParser
  13. def classDecl(mods: Global.Modifiers): List[Global.Tree]
    Definition Classes
    JavaParser
  14. 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()
  15. def compilationUnit(): Global.Tree

    CompilationUnit ::= [package QualId semi] TopStatSeq

    CompilationUnit ::= [package QualId semi] TopStatSeq

    Definition Classes
    JavaParser
  16. def convertToTypeId(tree: Global.Tree): Global.Tree

    Convert (qual)ident to type identifier

    Convert (qual)ident to type identifier

    Definition Classes
    JavaParser
  17. def definesInterface(token: Int): Boolean
    Definition Classes
    JavaParser
  18. def deprecationWarning(off: Int, msg: String, since: String): Unit
    Definition Classes
    JavaUnitParserParserCommon
  19. final def dropAnyBraces[T](body: => T): T
    Definition Classes
    ParserCommon
    Annotations
    @inline()
  20. def enumConst(enumType: Global.Tree): (Global.ValDef, Boolean)
    Definition Classes
    JavaParser
  21. def enumDecl(mods: Global.Modifiers): List[Global.Tree]
    Definition Classes
    JavaParser
  22. def errorTypeTree: Global.TypeTree
    Definition Classes
    JavaParser
  23. 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
  24. def formalParam(): Global.ValDef
    Definition Classes
    JavaParser
  25. def formalParams(): List[Global.ValDef]
    Definition Classes
    JavaParser
  26. def freshName(prefix: String): Global.Name
    Definition Classes
    JavaUnitParserJavaParser
  27. def freshTermName(prefix: String): Global.TermName
  28. def freshTypeName(prefix: String): Global.TypeName
  29. implicit def i2p(offset: Int): Global.Position
    Definition Classes
    JavaUnitParserJavaParser
  30. def ident(): Global.Name
    Definition Classes
    JavaParser
  31. def identForType(): Global.TypeName
    Definition Classes
    JavaParser
  32. def importDecl(): List[Global.Tree]
    Definition Classes
    JavaParser
  33. val in: JavaParsers.JavaUnitScanner
    Definition Classes
    JavaUnitParserJavaParserParserCommon
  34. final def inBraces[T](body: => T): T
    Definition Classes
    ParserCommon
    Annotations
    @inline()
  35. final def inBracesOrError[T](body: => T, alt: T): T
    Definition Classes
    ParserCommon
    Annotations
    @inline()
  36. final def inBracesOrNil[T](body: => List[T]): List[T]
    Definition Classes
    ParserCommon
    Annotations
    @inline()
  37. final def inBracesOrUnit[T](body: => Global.Tree): Global.Tree
    Definition Classes
    ParserCommon
    Annotations
    @inline()
  38. final def inBrackets[T](body: => T): T
    Definition Classes
    ParserCommon
    Annotations
    @inline()
  39. 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()
  40. final def inParens[T](body: => T): T
    Definition Classes
    ParserCommon
    Annotations
    @inline()
  41. final def inParensOrError[T](body: => T, alt: T): T
    Definition Classes
    ParserCommon
    Annotations
    @inline()
  42. final def inParensOrNil[T](body: => List[T]): List[T]
    Definition Classes
    ParserCommon
    Annotations
    @inline()
  43. final def inParensOrUnit[T](body: => Global.Tree): Global.Tree
    Definition Classes
    ParserCommon
    Annotations
    @inline()
  44. def interfaceDecl(mods: Global.Modifiers): List[Global.Tree]
    Definition Classes
    JavaParser
  45. def interfacesOpt(): List[Global.Tree]
    Definition Classes
    JavaParser
  46. def javaDot(name: Global.Name): Global.Tree
    Definition Classes
    JavaParser
  47. def javaLangDot(name: Global.Name): Global.Tree
    Definition Classes
    JavaParser
  48. def javaLangObject(): Global.Tree
    Definition Classes
    JavaParser
  49. def javaLangRecord(): Global.Tree
    Definition Classes
    JavaParser
  50. 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
  51. def makeCompanionObject(cdef: Global.ClassDef, statics: List[Global.Tree]): Global.Tree
    Definition Classes
    JavaParser
  52. def makeConstructor(formals: List[Global.Tree]): Global.DefDef
    Definition Classes
    JavaParser
  53. def makePackaging(pkg: Global.RefTree, stats: List[Global.Tree]): Global.PackageDef
    Definition Classes
    JavaParser
  54. def makeParam(name: Global.TermName, tpt: Global.Tree): Global.ValDef
    Definition Classes
    JavaParser
  55. def makeParam(name: String, tpt: Global.Tree): Global.ValDef
    Definition Classes
    JavaParser
  56. 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()
  57. def makeSyntheticParam(count: Int, tpt: Global.Tree): Global.ValDef
    Definition Classes
    JavaParser
  58. def makeTemplate(parents: List[Global.Tree], stats: List[Global.Tree]): Global.Template
    Definition Classes
    JavaParser
  59. def memberDecl(mods: Global.Modifiers, parentToken: Int): List[Global.Tree]
    Definition Classes
    JavaParser
  60. def methodBody(): Global.Tree
    Definition Classes
    JavaParser
  61. def modifiers(inInterface: Boolean): Global.Modifiers
    Definition Classes
    JavaParser
  62. final def optArrayBrackets(tpt: Global.Tree): Global.Tree
    Definition Classes
    JavaParser
    Annotations
    @tailrec()
  63. def optThrows(): Unit
    Definition Classes
    JavaParser
  64. def parse(): Global.Tree

    this is the general parse method

    this is the general parse method

    Definition Classes
    JavaParser
  65. def qualId(orClassLiteral: Boolean = false): Global.Tree
    Definition Classes
    JavaParser
  66. def recordDecl(mods: Global.Modifiers): List[Global.Tree]
    Definition Classes
    JavaParser
  67. def repsep[T <: Global.Tree](p: () => T, sep: Int): List[T]
    Definition Classes
    JavaParser
  68. def separatedToken[T](separator: JavaParsers.Token, part: => T): List[T]

    .

    { `sep` part }

    . { sep part } }}}

    Definition Classes
    ParserCommon
  69. def skipAhead(): Unit

    skip parent or brace enclosed sequence of things

    skip parent or brace enclosed sequence of things

    Definition Classes
    JavaParser
  70. def skipTo(tokens: Int*): Unit
    Definition Classes
    JavaParser
  71. def syntaxError(pos: Int, msg: String): Unit
    Definition Classes
    JavaUnitParserJavaParser
  72. def syntaxError(pos: Int, msg: String, skipIt: Boolean): Unit
    Definition Classes
    JavaParser
  73. def syntaxError(msg: String, skipIt: Boolean): Unit
    Definition Classes
    JavaParser
  74. def termDecl(mods: Global.Modifiers, parentToken: Int): List[Global.Tree]
    Definition Classes
    JavaParser
  75. def tokenSeparated[T](separator: JavaParsers.Token, part: => T): List[T]

    .

    { `sep` part }

    . { sep part } }}}

    Definition Classes
    ParserCommon
  76. def tryLiteral(negate: Boolean = false): Option[Global.Constant]
    Definition Classes
    JavaParser
  77. def typ(): Global.Tree
    Definition Classes
    JavaParser
  78. def typeArgs(t: Global.Tree): Global.Tree
    Definition Classes
    JavaParser
  79. def typeBody(leadingToken: Int): (List[Global.Tree], List[Global.Tree])
    Definition Classes
    JavaParser
  80. def typeBodyDecls(parentToken: Int): (List[Global.Tree], List[Global.Tree])
    Definition Classes
    JavaParser
  81. def typeDecl(mods: Global.Modifiers): List[Global.Tree]
    Definition Classes
    JavaParser
  82. def typeParam(): Global.TypeDef
    Definition Classes
    JavaParser
  83. def typeParams(): List[Global.TypeDef]
    Definition Classes
    JavaParser
  84. val unit: Global.CompilationUnit
  85. def varDecl(pos: Global.Position, mods: Global.Modifiers, tpt: Global.Tree, name: Global.TermName): Global.ValDef
    Definition Classes
    JavaParser
  86. def warning(pos: Int, msg: String): Unit
    Definition Classes
    JavaUnitParserJavaParser