src/share/classes/com/sun/tools/javac/api/JavacTrees.java

changeset 1210
62e611704863
parent 1138
7375d4979bd3
child 1280
5c0b3faeb0b0
     1.1 --- a/src/share/classes/com/sun/tools/javac/api/JavacTrees.java	Tue Feb 28 10:25:53 2012 -0800
     1.2 +++ b/src/share/classes/com/sun/tools/javac/api/JavacTrees.java	Tue Feb 28 10:33:49 2012 -0800
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -26,7 +26,7 @@
    1.11  package com.sun.tools.javac.api;
    1.12  
    1.13  import java.io.IOException;
    1.14 -import java.util.Map;
    1.15 +
    1.16  import javax.annotation.processing.ProcessingEnvironment;
    1.17  import javax.lang.model.element.AnnotationMirror;
    1.18  import javax.lang.model.element.AnnotationValue;
    1.19 @@ -44,13 +44,14 @@
    1.20  import com.sun.source.tree.CompilationUnitTree;
    1.21  import com.sun.source.tree.Scope;
    1.22  import com.sun.source.tree.Tree;
    1.23 +import com.sun.source.util.JavacTask;
    1.24  import com.sun.source.util.SourcePositions;
    1.25  import com.sun.source.util.TreePath;
    1.26  import com.sun.source.util.Trees;
    1.27  import com.sun.tools.javac.code.Flags;
    1.28 +import com.sun.tools.javac.code.Symbol;
    1.29  import com.sun.tools.javac.code.Symbol.ClassSymbol;
    1.30  import com.sun.tools.javac.code.Symbol.TypeSymbol;
    1.31 -import com.sun.tools.javac.code.Symbol;
    1.32  import com.sun.tools.javac.code.Type.UnionClassType;
    1.33  import com.sun.tools.javac.comp.Attr;
    1.34  import com.sun.tools.javac.comp.AttrContext;
    1.35 @@ -61,8 +62,8 @@
    1.36  import com.sun.tools.javac.model.JavacElements;
    1.37  import com.sun.tools.javac.parser.EndPosTable;
    1.38  import com.sun.tools.javac.processing.JavacProcessingEnvironment;
    1.39 +import com.sun.tools.javac.tree.JCTree;
    1.40  import com.sun.tools.javac.tree.JCTree.*;
    1.41 -import com.sun.tools.javac.tree.JCTree;
    1.42  import com.sun.tools.javac.tree.TreeCopier;
    1.43  import com.sun.tools.javac.tree.TreeInfo;
    1.44  import com.sun.tools.javac.tree.TreeMaker;
    1.45 @@ -95,12 +96,14 @@
    1.46      private JavacElements elements;
    1.47      private JavacTaskImpl javacTaskImpl;
    1.48  
    1.49 +    // called reflectively from Trees.instance(CompilationTask task)
    1.50      public static JavacTrees instance(JavaCompiler.CompilationTask task) {
    1.51          if (!(task instanceof JavacTaskImpl))
    1.52              throw new IllegalArgumentException();
    1.53          return instance(((JavacTaskImpl)task).getContext());
    1.54      }
    1.55  
    1.56 +    // called reflectively from Trees.instance(ProcessingEnvironment env)
    1.57      public static JavacTrees instance(ProcessingEnvironment env) {
    1.58          if (!(env instanceof JavacProcessingEnvironment))
    1.59              throw new IllegalArgumentException();
    1.60 @@ -131,7 +134,10 @@
    1.61          resolve = Resolve.instance(context);
    1.62          treeMaker = TreeMaker.instance(context);
    1.63          memberEnter = MemberEnter.instance(context);
    1.64 -        javacTaskImpl = context.get(JavacTaskImpl.class);
    1.65 +
    1.66 +        JavacTask t = context.get(JavacTask.class);
    1.67 +        if (t instanceof JavacTaskImpl)
    1.68 +            javacTaskImpl = (JavacTaskImpl) t;
    1.69      }
    1.70  
    1.71      public SourcePositions getSourcePositions() {

mercurial