Class VariationLabel<L extends Label>
java.lang.Object
org.variantsync.diffdetective.variation.VariationLabel<L>
- Type Parameters:
L
- the label of the trees (the object language) over which variability is introduced
- All Implemented Interfaces:
Label
,HasNodeType
Extends an inner
Label
, the object language, with variability, the meta language.
This class allows encoding of multiple levels of variability in the sense of variation trees of
variation trees. Such higher-order variation trees can be encoded in a single tree structure
because the result of configuring a variation tree is still a tree. In other words: the object
language of a VariationTree<L>
is a tree with labels L
. The trick is that a
variation tree is just a tree with labels VariationLabel<L>
.- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionclone()
getLines()
Returns the type of this node.void
setInnerLabel
(L innerLabel) Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.variantsync.diffdetective.variation.tree.HasNodeType
isAnnotation, isArtifact, isConditionalAnnotation, isElif, isElse, isIf
-
Field Details
-
type
-
innerLabel
-
-
Constructor Details
-
VariationLabel
-
-
Method Details
-
getInnerLabel
-
setInnerLabel
-
getLines
-
getNodeType
Description copied from interface:HasNodeType
Returns the type of this node.- Specified by:
getNodeType
in interfaceHasNodeType
-
clone
-