Class ConflictResolver.NodeInfo

  • Enclosing class:
    ConflictResolver

    static final class ConflictResolver.NodeInfo
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) static int CHANGE_OPTIONAL  
      (package private) static int CHANGE_SCOPE  
      (package private) java.util.List<ConflictResolver.ConflictItem> children
      The conflict items which are immediate children of the node, used to easily update those conflict items after a new parent scope/optionality was encountered.
      (package private) int derivedOptionalities
      The set of derived optionalities the node was visited with, used to check whether an already seen node needs to be revisited again in context of another optionality.
      (package private) java.lang.Object derivedScopes
      The set of derived scopes the node was visited with, used to check whether an already seen node needs to be revisited again in context of another scope.
      (package private) int minDepth
      The smallest depth at which the node was seen, used for "the" depth of its conflict items.
      private static int OPT_FALSE  
      private static int OPT_TRUE  
    • Constructor Summary

      Constructors 
      Constructor Description
      NodeInfo​(int depth, java.lang.String derivedScope, boolean optional)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) void add​(ConflictResolver.ConflictItem item)  
      (package private) int update​(int depth, java.lang.String derivedScope, boolean optional)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • minDepth

        int minDepth
        The smallest depth at which the node was seen, used for "the" depth of its conflict items.
      • derivedScopes

        java.lang.Object derivedScopes
        The set of derived scopes the node was visited with, used to check whether an already seen node needs to be revisited again in context of another scope. To conserve memory, we start with String and update to Set<String> if needed.
      • derivedOptionalities

        int derivedOptionalities
        The set of derived optionalities the node was visited with, used to check whether an already seen node needs to be revisited again in context of another optionality. To conserve memory, encoded as bit field (bit 0 -> optional=false, bit 1 -> optional=true).
      • children

        java.util.List<ConflictResolver.ConflictItem> children
        The conflict items which are immediate children of the node, used to easily update those conflict items after a new parent scope/optionality was encountered.
    • Constructor Detail

      • NodeInfo

        NodeInfo​(int depth,
                 java.lang.String derivedScope,
                 boolean optional)