protected void printFeatures(FSTNode node, boolean start) { if (node.getType().equals("CompilationUnit") || !coveredByParent(node, node.getParent())) { if (start) printToken(startIfdef(FeatureExpressions.get(node))); else printToken(endIfdef(FeatureExpressions.get(node))); } }
private boolean coveredByParent(FSTNode node, FSTNode parent) { if (GuidslFileLoader.featureModel.checkCondition( new Implies(FeatureExpressions.get(parent), FeatureExpressions.get(node)))) return true; if (parent.getParent() != null) return coveredByParent(node, parent.getParent()); return false; }