Class/Object

com.avsystem.scex.symboldsl

SymbolInfoParser

Related Docs: object SymbolInfoParser | package symboldsl

Permalink

abstract class SymbolInfoParser[C <: Context] extends MacroUtils

Author: ghik Created: 11/14/14.

Linear Supertypes
MacroUtils, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SymbolInfoParser
  2. MacroUtils
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SymbolInfoParser(c: C)

    Permalink

Type Members

  1. case class ParsedWildcardSelector(prefixTpe: scala.reflect.macros.Universe.Type, payloadTree: scala.reflect.macros.Universe.Tree, scope: List[scala.reflect.macros.Universe.TermSymbol], implConv: Option[(scala.reflect.macros.Universe.Tree, scala.reflect.macros.Universe.Type)]) extends Product with Serializable

    Permalink
  2. class TypeKey extends TypeWrapper

    Permalink

Abstract Value Members

  1. abstract def defaultPayload: C.Tree

    Permalink
  2. abstract def dslObject: scala.reflect.macros.Universe.Tree

    Permalink

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. lazy val AdapterWrappedName: scala.reflect.macros.Universe.TermName

    Permalink
    Definition Classes
    MacroUtils
  5. val AttachedPayloadType: scala.reflect.macros.Universe.Type

    Permalink
  6. lazy val BeanGetterNamePattern: Regex

    Permalink
    Definition Classes
    MacroUtils
  7. lazy val BeanSetterNamePattern: Regex

    Permalink
    Definition Classes
    MacroUtils
  8. lazy val BooleanBeanGetterNamePattern: Regex

    Permalink
    Definition Classes
    MacroUtils
  9. val CollectionPkg: scala.reflect.macros.Universe.Select

    Permalink
  10. val CompleteWildcardSelectorType: scala.reflect.macros.Universe.Type

    Permalink
  11. object DecodedTermName

    Permalink
    Definition Classes
    MacroUtils
  12. object DecodedTypeName

    Permalink
    Definition Classes
    MacroUtils
  13. val DirectMemberSubsetsType: scala.reflect.macros.Universe.Type

    Permalink
  14. val DirectWildcardSelectorType: scala.reflect.macros.Universe.Type

    Permalink
  15. object ImplicitlyConverted

    Permalink
    Definition Classes
    MacroUtils
  16. lazy val InvalidParsedWildcardSelector: ParsedWildcardSelector

    Permalink
  17. val ListObj: scala.reflect.macros.Universe.Select

    Permalink
  18. object LiteralString

    Permalink
    Definition Classes
    MacroUtils
  19. object MemberCall

    Permalink
    Definition Classes
    MacroUtils
  20. val MemberSubsetsType: scala.reflect.macros.Universe.Type

    Permalink
  21. object NewInstance

    Permalink
    Definition Classes
    MacroUtils
  22. val NilObj: scala.reflect.macros.Universe.Select

    Permalink
  23. val NoneObj: scala.reflect.macros.Universe.Select

    Permalink
  24. val PayloadType: scala.reflect.macros.Universe.Type

    Permalink
  25. val ScalaMemberSubsetsType: scala.reflect.macros.Universe.Type

    Permalink
  26. val ScalaPkg: scala.reflect.macros.Universe.Select

    Permalink
  27. object ScexMultiApply

    Permalink
    Definition Classes
    MacroUtils
  28. lazy val ScexPkg: scala.reflect.macros.Universe.Select

    Permalink
    Definition Classes
    MacroUtils
  29. val ScopeSpecifiersType: scala.reflect.macros.Universe.Type

    Permalink
  30. object SelectDynamic

    Permalink
    Definition Classes
    MacroUtils
  31. val SomeObj: scala.reflect.macros.Universe.Select

    Permalink
  32. object StringContextApply

    Permalink
    Definition Classes
    MacroUtils
  33. object StringContextTree

    Permalink
    Definition Classes
    MacroUtils
  34. object StringInterpolation

    Permalink
    Definition Classes
    MacroUtils
  35. val SymbolInfoCls: scala.reflect.macros.Universe.Select

    Permalink
  36. val SymbolInfoObj: scala.reflect.macros.Universe.Select

    Permalink
  37. object SyntacticIdent

    Permalink
    Definition Classes
    MacroUtils
  38. object SyntacticSelect

    Permalink
    Definition Classes
    MacroUtils
  39. val TypeInfoCls: scala.reflect.macros.Universe.Select

    Permalink
  40. object VariableIdent

    Permalink
    Definition Classes
    MacroUtils
  41. val WildcardSelectorType: scala.reflect.macros.Universe.Type

    Permalink
  42. def accessibleMembers(tpe: scala.reflect.macros.Universe.Type): List[scala.reflect.macros.Universe.TermSymbol]

    Permalink

    Accessible members include methods, modules, val/var setters and getters and Java fields.

    Accessible members include methods, modules, val/var setters and getters and Java fields.

    Definition Classes
    MacroUtils
  43. lazy val adapterType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  44. def annotations(sym: scala.reflect.macros.Universe.Symbol): List[scala.reflect.macros.Universe.Annotation]

    Permalink
    Definition Classes
    MacroUtils
  45. def annotationsIncludingOverrides(sym: scala.reflect.macros.Universe.Symbol): List[scala.reflect.macros.Universe.Annotation]

    Permalink
    Definition Classes
    MacroUtils
  46. lazy val any2stringadd: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroUtils
  47. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  48. lazy val booleanTpe: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  49. val c: C

    Permalink
  50. def checkNewInstanceTpe(required: Option[(scala.reflect.macros.Universe.Symbol, scala.reflect.macros.Universe.Type)], tpeTree: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Type

    Permalink
  51. def checkPrefix(required: Option[(scala.reflect.macros.Universe.Symbol, scala.reflect.macros.Universe.Type)], prefix: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Type

    Permalink
  52. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. def debugTree(pref: String, tree: scala.reflect.macros.Universe.Tree): Unit

    Permalink
    Definition Classes
    MacroUtils
  54. def detachExistentials(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Type

    Permalink

    Translates this type so that all existential types in this type do not refer to the defining class, as they do by default.

    Translates this type so that all existential types in this type do not refer to the defining class, as they do by default. Heavy wizardry.

    The problem is that when you reify an existential type (with c.reifyType), for example Set[_], the wildcard is reified as a Symbol whose owner is the class that used that existential type. This effectively means that the definition of existential type refers the class that used it. This means that when the type is finally evaluated in some universe, things will blow up if that class is not visible to that universe.

    For example, this is exactly what happens if you use some existential type in the SymbolValidator DSL and the symbol validator is compiled at runtime using compileSymbolValidator method of ScexCompiler. That dynamically compiled class is not visible to the Scala compiler through classpath and when it tries to evaluate the reified type, we have a nice scala.reflect.internal.MissingRequirementError in our face.

  55. val dslObjectType: scala.reflect.macros.Universe.Type

    Permalink
  56. lazy val dynamicTpe: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  57. lazy val dynamicVarAccessorTpe: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  58. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  59. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  60. def erasureFullName(tpe: scala.reflect.macros.Universe.Type): String

    Permalink
    Definition Classes
    MacroUtils
  61. def existentialSymbol(name: String, typeSignature: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Symbol

    Permalink
  62. def existentialize(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Type

    Permalink

    Handles @plus and @minus type annotations.

    Handles @plus and @minus type annotations. For example java.util.List[Number@plus] is translated to java.util.List[_ <: Number]

  63. lazy val expressionUtilType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  64. def extractSymbolInfos(tree: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  65. def extractSymbols(requiredPrefix: Option[(scala.reflect.macros.Universe.Symbol, scala.reflect.macros.Universe.Type)], payloadTree: scala.reflect.macros.Universe.Tree, body: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  66. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  67. def fixOverride(s: scala.reflect.macros.Universe.Symbol): scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroUtils
  68. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  69. lazy val getClassSymbol: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroUtils
  70. def getJavaGetter(symbol: scala.reflect.macros.Universe.Symbol, javaTpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroUtils
  71. def getType(typeTree: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Type

    Permalink
  72. def hasType(tree: scala.reflect.macros.Universe.Tree, tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    MacroUtils
  73. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  74. lazy val inputAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  75. def isAdapter(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    MacroUtils
  76. def isAdapterConversion(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  77. def isAdapterWrappedMember(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink

    Is this symbol the 'wrapped' field of Java getter adapter?

    Is this symbol the 'wrapped' field of Java getter adapter?

    Definition Classes
    MacroUtils
  78. def isAnnotatedWith(tpe: scala.reflect.macros.Universe.Type, annotTpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    MacroUtils
  79. def isBeanGetter(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  80. def isBeanSetter(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  81. def isBooleanType(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    MacroUtils
  82. def isBottom(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    MacroUtils
  83. def isConstructor(s: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  84. def isExpressionUtil(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  85. def isFromProfileObject(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  86. def isFromToplevelType(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  87. def isGetClass(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  88. def isGlobalImplicitConversion(tree: scala.reflect.macros.Universe.Tree): Boolean

    Permalink
    Definition Classes
    MacroUtils
  89. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  90. def isJavaClass(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  91. def isJavaField(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  92. def isJavaParameterlessMethod(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  93. def isJavaStaticType(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    MacroUtils
  94. def isModuleOrPackage(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  95. def isParameterless(s: scala.reflect.macros.Universe.TermSymbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  96. def isProfileObject(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  97. def isProperPosition(pos: scala.reflect.macros.Universe.Position): Boolean

    Permalink
    Definition Classes
    MacroUtils
  98. def isRootAdapter(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    MacroUtils
  99. def isScexSynthetic(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  100. def isStableGlobalPath(tree: scala.reflect.macros.Universe.Tree): Boolean

    Permalink

    Is this tree a path that starts with package and goes through stable symbols (vals and objects)?

    Is this tree a path that starts with package and goes through stable symbols (vals and objects)?

    Definition Classes
    MacroUtils
  101. def isStableTerm(s: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  102. def isStaticModule(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  103. def isStaticOrConstructor(symbol: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  104. lazy val jBooleanTpe: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  105. def memberSignature(s: scala.reflect.macros.Universe.Symbol): String

    Permalink
    Definition Classes
    MacroUtils
  106. def methodTypesMatch(originalTpe: scala.reflect.macros.Universe.Type, implicitTpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    MacroUtils
  107. val minusType: scala.reflect.macros.Universe.Type

    Permalink
  108. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  109. def nonBottomSymbolType(symbol: scala.reflect.macros.Universe.Symbol): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  110. lazy val notValidatedAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  111. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  112. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  113. def paramsOf(tpe: scala.reflect.macros.Universe.Type): (List[List[scala.reflect.macros.Universe.Symbol]], List[scala.reflect.macros.Universe.Symbol])

    Permalink
    Definition Classes
    MacroUtils
  114. def paramsSignature(s: scala.reflect.macros.Universe.Symbol): String

    Permalink
    Definition Classes
    MacroUtils
  115. def parseWildcardSelector(requiredPrefix: Option[(scala.reflect.macros.Universe.Symbol, scala.reflect.macros.Universe.Type)], payloadTree: scala.reflect.macros.Universe.Tree, tree: scala.reflect.macros.Universe.Tree): ParsedWildcardSelector

    Permalink
  116. def path(tree: scala.reflect.macros.Universe.Tree): String

    Permalink
    Definition Classes
    MacroUtils
  117. val plusType: scala.reflect.macros.Universe.Type

    Permalink
  118. lazy val profileObjectType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  119. def reifyFlattenLists(listExprs: List[scala.reflect.macros.Universe.Tree]): scala.reflect.macros.Universe.Tree

    Permalink
  120. val reifyImplicitConvSpec: (scala.reflect.macros.Universe.Tree) ⇒ scala.reflect.macros.Universe.Tree

    Permalink
  121. def reifyOption[A](opt: Option[A], innerReify: (A) ⇒ scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroUtils
  122. def reifyRuntimeClassOpt(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Permalink
  123. def reifySymbolInfo(prefixTpe: scala.reflect.macros.Universe.Type, payloadTree: scala.reflect.macros.Universe.Tree, symbol: scala.reflect.macros.Universe.Symbol, implicitConv: Option[scala.reflect.macros.Universe.Tree]): scala.reflect.macros.Universe.Tree

    Permalink
  124. def reifyTypeInfo(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Permalink
  125. lazy val rootAdapterAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  126. lazy val rootValueAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  127. lazy val safeToString: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroUtils
  128. def sameRange(pos1: scala.reflect.macros.Universe.Position, pos2: scala.reflect.macros.Universe.Position): Boolean

    Permalink
    Definition Classes
    MacroUtils
  129. def scexClassType(suffix: String): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  130. lazy val splicerToString: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroUtils
  131. lazy val splicerType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  132. lazy val standardStringInterpolations: Set[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroUtils
  133. lazy val stringAddPlus: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroUtils
  134. lazy val stringConcat: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroUtils
  135. lazy val stringTpe: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  136. def stripInferredTrees(tree: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroUtils
  137. def stripTypeApply(tree: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroUtils
  138. def symAlternatives(sym: scala.reflect.macros.Universe.Symbol): List[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroUtils
  139. def symbolType(symbol: scala.reflect.macros.Universe.Symbol): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  140. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  141. lazy val syntheticType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  142. def takesSingleParameter(symbol: scala.reflect.macros.Universe.MethodSymbol): Boolean

    Permalink
    Definition Classes
    MacroUtils
  143. lazy val templateInterpolationsType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  144. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  145. def toStringSymbol(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroUtils
  146. lazy val toplevelSymbols: Set[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroUtils
  147. def typeInfoIdent(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Ident

    Permalink
  148. lazy val universe: C.universe.type

    Permalink
    Definition Classes
    SymbolInfoParserMacroUtils
  149. def unwrapConvertedPrefix(prefix: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  150. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  151. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  152. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  153. def withOverrides(s: scala.reflect.macros.Universe.Symbol): List[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroUtils

Inherited from MacroUtils

Inherited from AnyRef

Inherited from Any

Ungrouped