Adjusting to new NBResolve needed to parse Jackpot scripts.
authorJan Lahoda <jlahoda@netbeans.org>
Sun, 02 Jun 2013 20:59:47 +0200
changeset 96360544a6e8938
parent 962 63179ba3f8fa
child 964 7ad2db2a7ba7
Adjusting to new NBResolve needed to parse Jackpot scripts.
cmdline/compiler/src/org/netbeans/modules/jackpot30/compiler/HintsAnnotationProcessingImpl.java
     1.1 --- a/cmdline/compiler/src/org/netbeans/modules/jackpot30/compiler/HintsAnnotationProcessingImpl.java	Sun Jun 02 19:20:59 2013 +0200
     1.2 +++ b/cmdline/compiler/src/org/netbeans/modules/jackpot30/compiler/HintsAnnotationProcessingImpl.java	Sun Jun 02 20:59:47 2013 +0200
     1.3 @@ -45,6 +45,7 @@
     1.4  import com.sun.source.util.Trees;
     1.5  import com.sun.tools.javac.api.JavacTrees;
     1.6  import com.sun.tools.javac.api.MultiTaskListener;
     1.7 +import com.sun.tools.javac.comp.Resolve;
     1.8  import com.sun.tools.javac.jvm.Gen;
     1.9  import com.sun.tools.javac.parser.ParserFactory;
    1.10  import com.sun.tools.javac.processing.JavacProcessingEnvironment;
    1.11 @@ -78,6 +79,7 @@
    1.12  import org.netbeans.api.java.source.ClasspathInfo;
    1.13  import org.netbeans.api.java.source.CompilationInfoHack;
    1.14  import org.netbeans.lib.nbjavac.services.NBParserFactory;
    1.15 +import org.netbeans.lib.nbjavac.services.NBResolve;
    1.16  import org.netbeans.modules.jackpot30.compiler.AbstractHintsAnnotationProcessing.Reporter;
    1.17  import org.netbeans.spi.java.classpath.support.ClassPathSupport;
    1.18  import org.openide.filesystems.FileUtil;
    1.19 @@ -153,6 +155,10 @@
    1.20          ParserFactory origParserFactory = c.get(key);
    1.21          c.put(key, (ParserFactory) null);
    1.22          NBParserFactory.preRegister(c);
    1.23 +        final Key<Resolve> resolveKey = ResolveKeyAccessor.getContextKey();
    1.24 +        Resolve origResolve = c.get(resolveKey);
    1.25 +        c.put(resolveKey, (Resolve) null);
    1.26 +        NBResolve.preRegister(c);
    1.27  
    1.28          try {
    1.29              TreePath elTree = trees.getPath(type);
    1.30 @@ -188,6 +194,8 @@
    1.31  
    1.32              c.put(key, (ParserFactory) null);
    1.33              c.put(key, origParserFactory);
    1.34 +            c.put(resolveKey, (Resolve) null);
    1.35 +            c.put(resolveKey, origResolve);
    1.36          }
    1.37      }
    1.38  
    1.39 @@ -249,6 +257,14 @@
    1.40          }
    1.41      }
    1.42  
    1.43 +    private static final class ResolveKeyAccessor extends Resolve {
    1.44 +        ResolveKeyAccessor() {
    1.45 +            super(null);
    1.46 +        }
    1.47 +        public static Key<Resolve> getContextKey() {
    1.48 +            return resolveKey;
    1.49 +        }
    1.50 +    }
    1.51  
    1.52      static {
    1.53          try {