Mercurial > hg > graal-compiler
view src/share/tools/ProjectCreator/FileTreeCreator.java @ 10405:f2110083203d
8005849: JEP 167: Event-Based JVM Tracing
Reviewed-by: acorn, coleenp, sla
Contributed-by: Karen Kinnear <karen.kinnear@oracle.com>, Bengt Rutisson <bengt.rutisson@oracle.com>, Calvin Cheung <calvin.cheung@oracle.com>, Erik Gahlin <erik.gahlin@oracle.com>, Erik Helin <erik.helin@oracle.com>, Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>, Keith McGuigan <keith.mcguigan@oracle.com>, Mattias Tobiasson <mattias.tobiasson@oracle.com>, Markus Gronlund <markus.gronlund@oracle.com>, Mikael Auno <mikael.auno@oracle.com>, Nils Eliasson <nils.eliasson@oracle.com>, Nils Loodin <nils.loodin@oracle.com>, Rickard Backman <rickard.backman@oracle.com>, Staffan Larsen <staffan.larsen@oracle.com>, Stefan Karlsson <stefan.karlsson@oracle.com>, Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
author | sla |
---|---|
date | Mon, 10 Jun 2013 11:30:51 +0200 |
parents | 1a9b9cfcef41 |
children | bd0e82136b03 |
line wrap: on
line source
import java.nio.file.FileSystems; import java.nio.file.Path; import java.nio.file.SimpleFileVisitor; import java.util.HashSet; import java.util.Stack; import java.util.Vector; public class FileTreeCreator extends SimpleFileVisitor<Path> { Path vcProjLocation; Path startDir; final int startDirLength; Stack<DirAttributes> attributes = new Stack<DirAttributes>(); Vector<BuildConfig> allConfigs; WinGammaPlatformVC10 wg; public FileTreeCreator(Path startDir, Vector<BuildConfig> allConfigs, WinGammaPlatformVC10 wg) { super(); this.wg = wg; this.allConfigs = allConfigs; this.startDir = startDir; startDirLength = startDir.toAbsolutePath().toString().length(); vcProjLocation = FileSystems.getDefault().getPath(allConfigs.firstElement().get("BuildSpace")); attributes.push(new DirAttributes()); } public class DirAttributes { private HashSet<BuildConfig> ignores; private HashSet<BuildConfig> disablePch; public DirAttributes() { ignores = new HashSet<BuildConfig>(); disablePch = new HashSet<BuildConfig>(); } public DirAttributes(HashSet<BuildConfig> excludes2, HashSet<BuildConfig> disablePch2) { ignores = excludes2; disablePch = disablePch2; } @SuppressWarnings("unchecked") public DirAttributes clone() { return new DirAttributes((HashSet<BuildConfig>)this.ignores.clone(), (HashSet<BuildConfig>)this.disablePch.clone()); } public void setIgnore(BuildConfig conf) { ignores.add(conf); } public boolean hasIgnore(BuildConfig cfg) { return ignores.contains(cfg); } public void removeFromIgnored(BuildConfig cfg) { ignores.remove(cfg); } public void setDisablePch(BuildConfig conf) { disablePch.add(conf); } public boolean hasDisablePch(BuildConfig cfg) { return disablePch.contains(cfg); } public void removeFromDisablePch(BuildConfig cfg) { disablePch.remove(cfg); } } }