Class

org.apache.daffodil.dpath

Expression

Related Doc: package dpath

Permalink

abstract class Expression extends OOLAGHostImpl with BasicComponent

Root class of the type hierarchy for the AST nodes used when we compile a DPath Expression.

All the work in 'compiling' the DPath expressions happens on methods of these objects.

This is the OOLAG pattern again.

Linear Supertypes
BasicComponent, ImplementsThrowsOrSavesSDE, SavesErrorsAndWarnings, ImplementsThrowsSDE, ResolvesQNames, ThrowsSDE, HasTunable, OOLAGHostImpl, OOLAGHost, NamedMixinBase, WithDiagnostics, Logging, Identity, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Expression
  2. BasicComponent
  3. ImplementsThrowsOrSavesSDE
  4. SavesErrorsAndWarnings
  5. ImplementsThrowsSDE
  6. ResolvesQNames
  7. ThrowsSDE
  8. HasTunable
  9. OOLAGHostImpl
  10. OOLAGHost
  11. NamedMixinBase
  12. WithDiagnostics
  13. Logging
  14. Identity
  15. AnyRef
  16. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Expression()

    Permalink

Abstract Value Members

  1. abstract def children: Seq[Expression]

    Permalink
  2. abstract def compiledDPath: CompiledDPath

    Permalink
  3. abstract def inherentType: Kind

    Permalink

    The inherent type is the bottom-up type.

    The inherent type is the bottom-up type. That is, the type that is determined by examining the expression, or in attribute-grammar speak, the synthetic type.

    For "foo" it is string, for 5.0 it is double, and for 5 it is integer. For an identifier such as b in /a/b, it is the simple type of the element declaration for b.

    The inherent type can be a complex type, as in the foo in /foo/bar. That is why this is not the same system of type-kind values as the xsdTargetType

  4. abstract def targetTypeForSubexpression(childExpr: Expression): Kind

    Permalink
  5. abstract def text: String

    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. final def LV[T](sym: Symbol)(body: ⇒ T): OOLAGValue[T]

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  5. def NoAnnotationContext: Option[SchemaFileLocation]

    Permalink
    Definition Classes
    ImplementsThrowsSDE
  6. def SDE(id: String, args: Any*): Nothing

    Permalink
    Definition Classes
    ImplementsThrowsSDE → ThrowsSDE
  7. final def SDE(th: Throwable): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  8. def SDEButContinue(id: String, args: Any*): Unit

    Permalink
    Definition Classes
    ImplementsThrowsOrSavesSDE → SavesErrorsAndWarnings
  9. def SDW(warnID: WarnID, fmt: String, args: Any*): Unit

    Permalink
    Definition Classes
    ImplementsThrowsOrSavesSDE → SavesErrorsAndWarnings
  10. def ThrowSDE: PartialFunction[Throwable, Nothing]

    Permalink
    Definition Classes
    ThrowsSDE
  11. final def areLogging(lvl: Type): Boolean

    Permalink
    Definition Classes
    Logging
  12. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  13. final def assuming(pred: Boolean): Unit

    Permalink
    Definition Classes
    OOLAGHost
  14. final def checkErrors: Unit

    Permalink
    Definition Classes
    OOLAGHost
  15. lazy val checkTypeCorrectness: Boolean

    Permalink
    Attributes
    protected
  16. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. lazy val compileInfo: DPathCompileInfo

    Permalink
  18. def contentReferencedElementInfos: Set[DPathElementCompileInfo]

    Permalink
  19. lazy val conversions: List[RecipeOp]

    Permalink
  20. final var currentOVList: Seq[OOLAGValueBase]

    Permalink
    Definition Classes
    OOLAGHost
  21. lazy val diagnosticDebugName: String

    Permalink
    Definition Classes
    NamedMixinBase
  22. def diagnostics: Seq[Diagnostic]

    Permalink
    Definition Classes
    OOLAGHost
  23. def doLogging(lvl: Type, msg: String, args: Seq[Any]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  24. final lazy val enclosingElementCompileInfos: Seq[DPathElementCompileInfo]

    Permalink
  25. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  27. def error(th: Diagnostic): Unit

    Permalink
    Definition Classes
    OOLAGHost
  28. final def errors: Seq[Diagnostic]

    Permalink
    Definition Classes
    OOLAGHost
  29. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  30. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  31. def getDiagnostics: Seq[Diagnostic]

    Permalink
    Definition Classes
    OOLAGHost → WithDiagnostics
  32. def getLogWriter(): LogWriter

    Permalink
    Definition Classes
    Logging
  33. final def getLoggingLevel(): Type

    Permalink
    Definition Classes
    Logging
  34. final def hasOOLAGRootSetup: Boolean

    Permalink
    Definition Classes
    OOLAGHost
  35. def hasReferenceTo(elem: DPathElementCompileInfo): Boolean

    Permalink
  36. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  37. def isError: Boolean

    Permalink
    Definition Classes
    OOLAGHost → WithDiagnostics
  38. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  39. lazy val isTypeCorrect: Boolean

    Permalink
  40. def leafContentLengthReferencedElements: Set[DPathElementCompileInfo]

    Permalink

    Override where we traverse/access elements.

  41. def leafValueLengthReferencedElements: Set[DPathElementCompileInfo]

    Permalink
  42. final macro def log(lvl: Type, msg: String, args: Any*): Unit

    Permalink
    Definition Classes
    Logging
  43. lazy val logID: String

    Permalink
    Definition Classes
    Logging → Identity
  44. var logLevel: Maybe[Type]

    Permalink
    Definition Classes
    Logging
  45. var logWriter: Maybe[LogWriter]

    Permalink
    Definition Classes
    Logging
  46. final val nArgs: Args

    Permalink
    Definition Classes
    OOLAGHostImpl → OOLAGHost
  47. lazy val namespaces: NamespaceBinding

    Permalink
    Definition Classes
    Expression → ResolvesQNames
  48. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  49. final def notYetImplemented(msg: String, args: Any*): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  50. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  52. final lazy val oolagContext: OOLAGHost

    Permalink
    Definition Classes
    OOLAGHost
  53. final def oolagContextViaArgs: Option[OOLAGHost]

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHostImpl → OOLAGHost
  54. def oolagError(th: Diagnostic): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  55. final def oolagParent: OOLAGHost

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  56. def oolagWarn(th: Diagnostic): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  57. final lazy val optOolagContext: Option[OOLAGHost]

    Permalink
    Definition Classes
    OOLAGHost
  58. final lazy val parent: Expression

    Permalink
  59. final lazy val parentOpt: Option[Expression]

    Permalink
  60. lazy val path: String

    Permalink
    Definition Classes
    OOLAGHost
  61. def qNameForProperty(local: String, ns: NS): GlobalQName

    Permalink
    Definition Classes
    ResolvesQNames
  62. def removePrefix(prefixedValue: String): String

    Permalink
    Definition Classes
    ResolvesQNames
  63. final def requiredEvaluations(lv: OOLAGValueBase): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  64. final def requiredEvaluations(arg: ⇒ Any): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  65. def resolveQName(qnString: String): RefQName

    Permalink
    Definition Classes
    ResolvesQNames
  66. def resolveRef(qnameString: String): RefQName

    Permalink
  67. final lazy val rootElement: DPathElementCompileInfo

    Permalink
  68. final def schemaDefinitionError(str: String, args: Any*): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  69. def schemaDefinitionErrorButContinue(str: String, args: Any*): Unit

    Permalink
    Definition Classes
    SavesErrorsAndWarnings
  70. def schemaDefinitionErrorDueToPropertyValue(propertyName: String, propertyValue: String, propertyLocation: LookupLocation, otherPropertyLocation: LookupLocation, str: String, args: Any*): Nothing

    Permalink
    Definition Classes
    SavesErrorsAndWarnings
  71. final macro def schemaDefinitionUnless(testThatWillThrowIfFalse: Boolean, str: String, args: Any*): Unit

    Permalink
    Definition Classes
    ThrowsSDE
  72. macro def schemaDefinitionWarningUnless(warnID: WarnID, testThatWillWarnIfFalse: Boolean, str: String, args: Any*): Unit

    Permalink
    Definition Classes
    SavesErrorsAndWarnings
  73. macro def schemaDefinitionWarningWhen(warnID: WarnID, testThatWillWarnIfTrue: Boolean, str: String, args: Any*): Unit

    Permalink
    Definition Classes
    SavesErrorsAndWarnings
  74. final macro def schemaDefinitionWhen(testThatWillThrowIfTrue: Boolean, str: String, args: Any*): Unit

    Permalink
    Definition Classes
    ThrowsSDE
  75. lazy val schemaFileLocation: SchemaFileLocation

    Permalink

    TODO: get more precise line and column information for pointing at sub-regions of large DPath expressions

    TODO: get more precise line and column information for pointing at sub-regions of large DPath expressions

    We're parsing them, so we should have access to specific locations within the expression.

    Definition Classes
    Expression → ThrowsSDE
  76. def setContextsForChildren(context: OOLAGHost = this): Unit

    Permalink
  77. def setLogWriter(lw: LogWriter): Unit

    Permalink
    Definition Classes
    Logging
  78. def setLoggingLevel(level: Type): Unit

    Permalink
    Definition Classes
    Logging
  79. final def setOOLAGContext(oolagContextArg: OOLAGHost): Unit

    Permalink
    Definition Classes
    OOLAGHost
  80. def subset(testThatWillThrowIfFalse: Boolean, msg: String, args: Any*): Unit

    Permalink
    Definition Classes
    ImplementsThrowsOrSavesSDE
  81. def subsetError(msg: String, args: Any*): Nothing

    Permalink
    Definition Classes
    ImplementsThrowsOrSavesSDE
  82. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  83. lazy val targetType: Kind

    Permalink

    The target type is defined for simple types.

    The target type is defined for simple types. It gives the type that the expression must return. It is the type that the context is expecting or in attribute-grammar terms, the inherited type.

    For inputValueCalc, this is the type of the element carrying that property.

    For setVariable and newVariableInstance, it is the type of the variable.

    For dfdl:length and dfdl:occursCount it is UnsignedInt

    For the test properties of assert/discriminator it is Boolean

    For the following properties, when their value is an expression the xsdTargetType is NonEmptyString byteOrder, encoding, outputNewLine, escapeCharacter, escapeEscapeCharacter, initiator, terminator, separator, textStandardDecimalSeparator, textStandardGroupingSeparator, textStandardExponentRep, binaryFloatRep, textBooleanFalseRep, textBooleanTrueRep

  84. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  85. final def toss(th: Throwable): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  86. lazy val tunable: DaffodilTunables

    Permalink
    Definition Classes
    Expression → ImplementsThrowsOrSavesSDE → HasTunable
  87. lazy val unqualifiedPathStepPolicy: UnqualifiedPathStepPolicy

    Permalink
    Definition Classes
    Expression → ResolvesQNames
  88. def valueReferencedElementInfos: Set[DPathElementCompileInfo]

    Permalink
  89. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  92. def warn(th: Diagnostic): Unit

    Permalink
    Definition Classes
    OOLAGHost
  93. final def warnings: Seq[Diagnostic]

    Permalink
    Definition Classes
    OOLAGHost
  94. final lazy val wholeExpression: Expression

    Permalink
  95. final lazy val wholeExpressionText: String

    Permalink
  96. macro def withLoggingLevel[S](newLevel: Type)(body: ⇒ S): Unit

    Permalink
    Definition Classes
    Logging

Inherited from BasicComponent

Inherited from ImplementsThrowsOrSavesSDE

Inherited from SavesErrorsAndWarnings

Inherited from ImplementsThrowsSDE

Inherited from ResolvesQNames

Inherited from ThrowsSDE

Inherited from HasTunable

Inherited from OOLAGHostImpl

Inherited from OOLAGHost

Inherited from NamedMixinBase

Inherited from WithDiagnostics

Inherited from Logging

Inherited from Identity

Inherited from AnyRef

Inherited from Any

Ungrouped