@Override public JavacTaskImpl getJavacTask (final CompilationInfo compilationInfo) { assert compilationInfo != null; return compilationInfo.impl.getJavacTask(); } public JavaSource create(ClasspathInfo cpInfo, PositionConverter binding, Collection<? extends FileObject> files) throws IllegalArgumentException {
/** Creates a new instance of ElementUtilities */ ElementUtilities(@NonNull final CompilationInfo info) { this((JavacTaskImpl)info.impl.getJavacTask(),info); }
private Context getContext() { return impl.getJavacTask().getContext(); }
/**Parses given type in given context. * * @param expr type specification * @param scope in which simple names should be resolved * @return parsed {@link TypeMirror} or null if the given specification cannot be parsed */ Tree parseType(String expr) { com.sun.tools.javac.tree.TreeMaker jcMaker = com.sun.tools.javac.tree.TreeMaker.instance(info.impl.getJavacTask().getContext()); int oldPos = jcMaker.pos; try { return info.impl.getJavacTask().parseType(expr); } finally { jcMaker.pos = oldPos; } }
/**Parses given statement. * * @param stmt statement code * @param sourcePositions return value - new SourcePositions for the new tree * @return parsed {@link StatementTree} or null? */ public StatementTree parseStatement(String stmt, SourcePositions[] sourcePositions) { com.sun.tools.javac.tree.TreeMaker jcMaker = com.sun.tools.javac.tree.TreeMaker.instance(info.impl.getJavacTask().getContext()); int oldPos = jcMaker.pos; try { return (StatementTree)info.impl.getJavacTask().parseStatement(stmt, sourcePositions); } finally { jcMaker.pos = oldPos; } }
private AssignComments(final CompilationInfo info, final Tree commentMapTarget, final TokenSequence<JavaTokenId> seq, final CompilationUnitTree cut, final SourcePositions positions) { this.info = info; this.unit = cut; this.seq = seq; this.commentMapTarget = commentMapTarget; this.commentService = CommentHandlerService.instance(info.impl.getJavacTask().getContext()); this.positions = positions; }
/** Creates a new instance of CommentUtilities */ TreeUtilities(final CompilationInfo info) { assert info != null; this.info = info; this.handler = CommentHandlerService.instance(info.impl.getJavacTask().getContext()); }
TreeMaker(WorkingCopy copy, TreeFactory delegate) { this.delegate = delegate; this.copy = copy; this.handler = CommentHandlerService.instance(copy.impl.getJavacTask().getContext()); this.model = ASTService.instance(copy.impl.getJavacTask().getContext()); }
CommentReplicator(Set<Tree> presentNodes) { this.stillPresent = presentNodes; this.commentHandler = CommentHandlerService.instance(impl.getJavacTask().getContext()); }
/**Attribute the given tree in the given context. */ public TypeMirror attributeTree(Tree tree, Scope scope) { if (scope instanceof NBScope && ((NBScope)scope).areAccessibilityChecksDisabled()) { NBResolve.instance(info.impl.getJavacTask().getContext()).disableAccessibilityChecks(); } try { return info.impl.getJavacTask().attributeTree((JCTree) tree, ((JavacScope) scope).getEnv()); } finally { NBResolve.instance(info.impl.getJavacTask().getContext()).restoreAccessbilityChecks(); } }
/** * Return the {@link Elements} service of the javac represented by this {@link CompilationInfo}. * @return javac Elements service */ public @NonNull Elements getElements() { checkConfinement(); return impl.getJavacTask().getElements(); }
/**Attribute the given tree until the given <code>to</code> tree is reached. * Returns scope valid at point when <code>to</code> is reached. */ public Scope attributeTreeTo(Tree tree, Scope scope, Tree to) { if (scope instanceof NBScope && ((NBScope)scope).areAccessibilityChecksDisabled()) { NBResolve.instance(info.impl.getJavacTask().getContext()).disableAccessibilityChecks(); } try { return info.impl.getJavacTask().attributeTreeTo((JCTree)tree, ((JavacScope)scope).getEnv(), (JCTree)to); } finally { NBResolve.instance(info.impl.getJavacTask().getContext()).restoreAccessbilityChecks(); } }
/** * Return the {@link Types} service of the javac represented by this {@link CompilationInfo}. * @return javac Types service */ public @NonNull Types getTypes() { checkConfinement(); return impl.getJavacTask().getTypes(); }
public TypeMirror reattributeTree(Tree tree, Scope scope) { Env<AttrContext> env = ((JavacScope)scope).getEnv(); copyInnerClassIndexes(env.tree, tree); if (scope instanceof NBScope && ((NBScope)scope).areAccessibilityChecksDisabled()) { NBResolve.instance(info.impl.getJavacTask().getContext()).disableAccessibilityChecks(); } try { return info.impl.getJavacTask().attributeTree((JCTree)tree, env); } finally { NBResolve.instance(info.impl.getJavacTask().getContext()).restoreAccessbilityChecks(); } }
public Scope reattributeTreeTo(Tree tree, Scope scope, Tree to) { Env<AttrContext> env = ((JavacScope)scope).getEnv(); copyInnerClassIndexes(env.tree, tree); if (scope instanceof NBScope && ((NBScope)scope).areAccessibilityChecksDisabled()) { NBResolve.instance(info.impl.getJavacTask().getContext()).disableAccessibilityChecks(); } try { return info.impl.getJavacTask().attributeTreeTo((JCTree)tree, env, (JCTree)to); } finally { NBResolve.instance(info.impl.getJavacTask().getContext()).restoreAccessbilityChecks(); } }
private void addPresentInResult(Map<Tree, Boolean> present, Tree t, boolean mark) { present.put(t, Boolean.valueOf(mark)); CommentSetImpl csi = CommentHandlerService.instance(impl.getJavacTask().getContext()).getComments(t); for (RelativePosition pos : RelativePosition.values()) { useComments(csi.getComments(pos)); } }
/**Checks whether the given scope is in "static" context. */ public boolean isStaticContext(Scope scope) { return Resolve.instance(info.impl.getJavacTask().getContext()).isStatic(((JavacScope)scope).getEnv()); }
private Element getElementByFQN(String fqn) { Elements elements = copy.getElements(); Element element = elements.getTypeElement(fqn); if (element == null) element = elements.getPackageElement(fqn); if (element == null) element = Symtab.instance(copy.impl.getJavacTask().getContext()).enterClass((com.sun.tools.javac.util.Name)elements.getName(fqn)); return element; }
/** * Returns the {@link SourceVersion} used by the javac represented by this {@link CompilationInfo}. * @return SourceVersion * @since 0.47 */ public @NonNull SourceVersion getSourceVersion() { checkConfinement(); return Source.toSourceVersion(Source.instance(impl.getJavacTask().getContext())); }
public static boolean checkTypesAssignable(CompilationInfo info, TypeMirror from, TypeMirror to) { Context c = ((JavacTaskImpl) info.impl.getJavacTask()).getContext(); if (from.getKind() == TypeKind.TYPEVAR) { Types types = Types.instance(c); TypeVar t = types.substBound((TypeVar)from, com.sun.tools.javac.util.List.of((Type)from), com.sun.tools.javac.util.List.of(types.boxedTypeOrType((Type)to))); return info.getTypes().isAssignable(t.getUpperBound(), to) || info.getTypes().isAssignable(to, t.getUpperBound()); } if (from.getKind() == TypeKind.WILDCARD) { from = Types.instance(c).wildUpperBound((Type)from); } return Check.instance(c).checkType(null, (Type)from, (Type)to).getKind() != TypeKind.ERROR; }