src/share/tools/ProjectCreator/FileTreeCreator.java

Thu, 29 Mar 2012 16:43:21 +0200

author
neliasso
date
Thu, 29 Mar 2012 16:43:21 +0200
changeset 4112
1a9b9cfcef41
child 5507
bd0e82136b03
permissions
-rw-r--r--

7163863: Updated projectcreator
Summary: Enable source browsing for all platform dependent code
Reviewed-by: brutisso, coleenp

     1 import java.nio.file.FileSystems;
     2 import java.nio.file.Path;
     3 import java.nio.file.SimpleFileVisitor;
     4 import java.util.HashSet;
     5 import java.util.Stack;
     6 import java.util.Vector;
     8 public class FileTreeCreator extends SimpleFileVisitor<Path>
     9 {
    10    Path vcProjLocation;
    11    Path startDir;
    12    final int startDirLength;
    13    Stack<DirAttributes> attributes = new Stack<DirAttributes>();
    14    Vector<BuildConfig> allConfigs;
    15    WinGammaPlatformVC10 wg;
    17    public FileTreeCreator(Path startDir, Vector<BuildConfig> allConfigs, WinGammaPlatformVC10 wg) {
    18       super();
    19       this.wg = wg;
    20       this.allConfigs = allConfigs;
    21       this.startDir = startDir;
    22       startDirLength = startDir.toAbsolutePath().toString().length();
    23       vcProjLocation = FileSystems.getDefault().getPath(allConfigs.firstElement().get("BuildSpace"));
    24       attributes.push(new DirAttributes());
    25    }
    27    public class DirAttributes {
    29       private HashSet<BuildConfig> ignores;
    30       private HashSet<BuildConfig> disablePch;
    32       public DirAttributes() {
    33          ignores = new HashSet<BuildConfig>();
    34          disablePch = new HashSet<BuildConfig>();
    35       }
    37       public DirAttributes(HashSet<BuildConfig> excludes2, HashSet<BuildConfig> disablePch2) {
    38          ignores = excludes2;
    39          disablePch = disablePch2;
    40       }
    42       @SuppressWarnings("unchecked")
    43       public DirAttributes clone() {
    44          return new DirAttributes((HashSet<BuildConfig>)this.ignores.clone(), (HashSet<BuildConfig>)this.disablePch.clone());
    45       }
    47       public void setIgnore(BuildConfig conf) {
    48          ignores.add(conf);
    49       }
    51       public boolean hasIgnore(BuildConfig cfg) {
    52          return ignores.contains(cfg);
    53       }
    55       public void removeFromIgnored(BuildConfig cfg) {
    56          ignores.remove(cfg);
    57       }
    59       public void setDisablePch(BuildConfig conf) {
    60          disablePch.add(conf);
    61       }
    63       public boolean hasDisablePch(BuildConfig cfg) {
    64          return disablePch.contains(cfg);
    65       }
    67       public void removeFromDisablePch(BuildConfig cfg) {
    68          disablePch.remove(cfg);
    69       }
    71    }
    72 }

mercurial