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
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()Creates a deep copy of this label.booleangetLines()Returns the lines which need to be printed before the children of a node.Returns the type of this node.Returns the lines which need to be printed after the children of a node.voidsetInnerLabel(L innerLabel) toString()Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.variantsync.diffdetective.variation.tree.HasNodeType
isAnnotation, isArtifact, isConditionalAnnotation, isElif, isElse, isIfMethods inherited from interface org.variantsync.diffdetective.variation.Label
withoutTimeDependentState, withTimeDependentStateFrom
-
Field Details
-
type
-
innerLabel
-
-
Constructor Details
-
VariationLabel
-
-
Method Details
-
getInnerLabel
-
setInnerLabel
-
getLines
Description copied from interface:LabelReturns the lines which need to be printed before the children of a node. Most lines associated with a node should be included in this list, for example,#ifs are stored here. -
getTrailingLines
Description copied from interface:LabelReturns the lines which need to be printed after the children of a node. For example,#endifs are stored as trailing lines.- Specified by:
getTrailingLinesin interfaceLabel
-
getNodeType
Description copied from interface:HasNodeTypeReturns the type of this node.- Specified by:
getNodeTypein interfaceHasNodeType
-
clone
Description copied from interface:LabelCreates a deep copy of this label. -
toString
-
equals
-