Class

org.apache.daffodil.dpath

Expression

Related Doc: package dpath

Permalink

abstract class Expression extends OOLAGHostImpl with ImplementsThrowsOrSavesSDE

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
ImplementsThrowsOrSavesSDE, SavesErrorsAndWarnings, ImplementsThrowsSDE, ThrowsSDE, OOLAGHostImpl, OOLAGHost, NamedMixinBase, WithDiagnostics, Logging, Identity, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Expression
  2. ImplementsThrowsOrSavesSDE
  3. SavesErrorsAndWarnings
  4. ImplementsThrowsSDE
  5. ThrowsSDE
  6. OOLAGHostImpl
  7. OOLAGHost
  8. NamedMixinBase
  9. WithDiagnostics
  10. Logging
  11. Identity
  12. AnyRef
  13. 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. def 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 enclosingElementCompileInfo: Option[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
  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: Some[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 parent: Expression

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

    Permalink
  59. lazy val path: String

    Permalink
    Definition Classes
    OOLAGHost
  60. final def requiredEvaluations(lv: OOLAGValueBase): Unit

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

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  62. def resolveRef(qnameString: String): RefQName

    Permalink
  63. final lazy val rootElement: DPathElementCompileInfo

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    ThrowsSDE
  71. 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
  72. def setContextsForChildren(context: OOLAGHost = this): Unit

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  79. 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

  80. def toString(): String

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

    Permalink
    Definition Classes
    ThrowsSDE
  82. def tunable: DaffodilTunables

    Permalink
    Definition Classes
    Expression → ImplementsThrowsOrSavesSDE
  83. def valueReferencedElementInfos: Set[DPathElementCompileInfo]

    Permalink
  84. final def wait(): Unit

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

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

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

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

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

    Permalink
  90. final lazy val wholeExpressionText: String

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

    Permalink
    Definition Classes
    Logging

Inherited from ImplementsThrowsOrSavesSDE

Inherited from SavesErrorsAndWarnings

Inherited from ImplementsThrowsSDE

Inherited from ThrowsSDE

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