Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/src/share/tools/ProjectCreator/FileTreeCreator.java
32285 views
import java.nio.file.FileSystems;1import java.nio.file.Path;2import java.nio.file.SimpleFileVisitor;3import java.util.HashSet;4import java.util.Stack;5import java.util.Vector;67public class FileTreeCreator extends SimpleFileVisitor<Path>8{9Path vcProjLocation;10Path startDir;11final int startDirLength;12Stack<DirAttributes> attributes = new Stack<DirAttributes>();13Vector<BuildConfig> allConfigs;14WinGammaPlatform wg;15WinGammaPlatformVC10 wg10;1617public FileTreeCreator(Path startDir, Vector<BuildConfig> allConfigs, WinGammaPlatform wg) {18super();19this.wg = wg;20if (wg instanceof WinGammaPlatformVC10) {21wg10 = (WinGammaPlatformVC10)wg;22}23this.allConfigs = allConfigs;24this.startDir = startDir;25startDirLength = startDir.toAbsolutePath().toString().length();26vcProjLocation = FileSystems.getDefault().getPath(allConfigs.firstElement().get("BuildSpace"));27attributes.push(new DirAttributes());28}2930public class DirAttributes {3132private HashSet<BuildConfig> ignores;33private HashSet<BuildConfig> disablePch;3435public DirAttributes() {36ignores = new HashSet<BuildConfig>();37disablePch = new HashSet<BuildConfig>();38}3940public DirAttributes(HashSet<BuildConfig> excludes2, HashSet<BuildConfig> disablePch2) {41ignores = excludes2;42disablePch = disablePch2;43}4445@SuppressWarnings("unchecked")46public DirAttributes clone() {47return new DirAttributes((HashSet<BuildConfig>)this.ignores.clone(), (HashSet<BuildConfig>)this.disablePch.clone());48}4950public void setIgnore(BuildConfig conf) {51ignores.add(conf);52}5354public boolean hasIgnore(BuildConfig cfg) {55return ignores.contains(cfg);56}5758public void removeFromIgnored(BuildConfig cfg) {59ignores.remove(cfg);60}6162public void setDisablePch(BuildConfig conf) {63disablePch.add(conf);64}6566public boolean hasDisablePch(BuildConfig cfg) {67return disablePch.contains(cfg);68}6970public void removeFromDisablePch(BuildConfig cfg) {71disablePch.remove(cfg);72}7374}75}767778