All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.sommeri.less4j.utils.DebugUtils Maven / Gradle / Ivy

Go to download

Less language is an extension of css and less4j compiles it into regular css. It adds several dynamic features into css: variables, expressions, nested rules. Less4j is a port. The original compiler was written in JavaScript and is called less.js. The less language is mostly defined in less.js documentation/issues and by what less.js actually do. Links to less.js: * home page: http://lesscss.org/ * source code & issues: https://github.com/cloudhead/less.js

There is a newer version: 1.17.2
Show newest version
package com.github.sommeri.less4j.utils;

import java.util.HashSet;
import java.util.Set;

import com.github.sommeri.less4j.core.ast.ASTCssNode;

public class DebugUtils {

  private Set duplicates = new HashSet();
  
  public DebugUtils() {
  }

  public void solveParentChildRelationShips(ASTCssNode node) {
    for (ASTCssNode kid : node.getChilds()) {
      kid.setParent(node);
      solveParentChildRelationShips(kid);
    }
  }

  public void checkParentChildRelationshipsSanity(ASTCssNode node, String prefix) {
    duplicates = new HashSet();
    doCheckParentChildRelationshipsSanity(node, prefix);
  }

  private void doCheckParentChildRelationshipsSanity(ASTCssNode node, String prefix) {
    for (ASTCssNode kid : node.getChilds()) {
      if (duplicates.contains(kid))
        System.out.println("duplicate " + prefix + kid);
      
      duplicates.add(kid);
      
      if (kid.getParent() != node)
        System.out.println("parent " + prefix + kid);

      doCheckParentChildRelationshipsSanity(kid, prefix);
    }
  }


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy