Package eu.bandm.tools.xslt.base
Class TPathCache.ExprClassified
java.lang.Object
eu.bandm.tools.xslt.base.TPathCache.ExprClassified
- Enclosing class:
- TPathCache
Holds the results of parsing and analysis.
-
Field Summary
Modifier and TypeFieldDescription(package private) String
Canonical re-constructed source text.(package private) TPath.Literal
Is !=null iff the expression has one constant string value.Is set !=null iff there is no computing required, ie.(package private) @Opt Location<XMLDocumentIdentifier>
Parsing result, "null" means erronuous.(package private) TPath.Expr
Parsing result, "null" means erronuous.protected TPathCache.ExprClassified
(package private) @Opt List<TPathCache.PatternPart>
Used only if expr is used as a "pattern".(package private) TPathCache.sensitivity
(package private) @Opt Type.XPathType
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription(package private) void
classify()
calculate the sensitivity.(package private) String
(package private) boolean
isConst()
(package private) TPathCache.ExprClassified
Returns a clone (if necessary) which contains only the lowest test (step or function or root, etc.)
-
Field Details
-
expr
Parsing result, "null" means erronuous. -
errorLocation
Parsing result, "null" means erronuous. -
canonical
String canonicalCanonical re-constructed source text. -
constValue
Is !=null iff the expression has one constant string value. -
constValueString
Is set !=null iff there is no computing required, ie. no embedded xpath expr in source text. This value can be used for early attribute type check.input "{{a" "{{{a}" "{concat('a','b')}" canonical "'{a'" "concat('{',a)" "concat('a','b')" constValueString "{a" null null
(Currently there is no evaluation of functions with constant-only argument, but this could change.) -
type
-
sens
-
variableNames
-
patternParts
Used only if expr is used as a "pattern". (i.e. at a syntax position requiring a pattern.) Then the testTPathCache.checkPattern(eu.bandm.tools.message.MessageReceiver<eu.bandm.tools.message.SimpleMessage<eu.bandm.tools.util.xml.XMLDocumentIdentifier>>,@eu.bandm.tools.annotations.Opt eu.bandm.tools.location.Location<eu.bandm.tools.util.xml.XMLDocumentIdentifier>,eu.bandm.tools.xslt.base.TPathCache.ExprClassified,boolean,java.lang.String)
will be called from the static check phase. Contains analysis results, split by all top-level "union=|" operators. A value of null means "not yet tested", an empty List means it is not a pattern. -
lowestTest
-
-
Constructor Details
-
ExprClassified
public ExprClassified()
-
-
Method Details
-
isConst
boolean isConst() -
getAttributeTemplateSource
String getAttributeTemplateSource()- Returns:
- the canonicalized shortest form of an attribute value as an attribute value template: in case of one single literal simply its string value; otherwise the expression in "evaluation brackets {}".
-
classify
void classify()calculate the sensitivity. FIXME collect all vars wird zu früh abgebrochen? NÖTIG ?? -
onlyLowestTest
TPathCache.ExprClassified onlyLowestTest()Returns a clone (if necessary) which contains only the lowest test (step or function or root, etc.)
-