use of org.eclipse.ceylon.langtools.tools.javac.tree.JCTree in project ceylon by eclipse.
the class TreeCopier method visitImport.
public JCTree visitImport(ImportTree node, P p) {
JCImport t = (JCImport) node;
JCTree qualid = copy(t.qualid, p);
return M.at(t.pos).Import(qualid, t.staticImport);
}
use of org.eclipse.ceylon.langtools.tools.javac.tree.JCTree in project ceylon by eclipse.
the class TreeCopier method visitWildcard.
public JCTree visitWildcard(WildcardTree node, P p) {
JCWildcard t = (JCWildcard) node;
TypeBoundKind kind = M.at(t.kind.pos).TypeBoundKind(t.kind.kind);
JCTree inner = copy(t.inner, p);
return M.at(t.pos).Wildcard(kind, inner);
}
use of org.eclipse.ceylon.langtools.tools.javac.tree.JCTree in project ceylon by eclipse.
the class TreeCopier method visitLambdaExpression.
public JCTree visitLambdaExpression(LambdaExpressionTree node, P p) {
JCLambda t = (JCLambda) node;
List<JCVariableDecl> params = copy(t.params, p);
JCTree body = copy(t.body, p);
return M.at(t.pos).Lambda(params, body);
}
use of org.eclipse.ceylon.langtools.tools.javac.tree.JCTree in project ceylon by eclipse.
the class JavacElements method getTreeAndTopLevel.
/**
* Returns the tree node and compilation unit corresponding to this
* element, or null if they can't be found.
*/
private Pair<JCTree, JCCompilationUnit> getTreeAndTopLevel(Element e) {
Symbol sym = cast(Symbol.class, e);
Env<AttrContext> enterEnv = getEnterEnv(sym);
if (enterEnv == null)
return null;
JCTree tree = TreeInfo.declarationFor(sym, enterEnv.tree);
if (tree == null || enterEnv.toplevel == null)
return null;
return new Pair<JCTree, JCCompilationUnit>(tree, enterEnv.toplevel);
}
use of org.eclipse.ceylon.langtools.tools.javac.tree.JCTree in project ceylon by eclipse.
the class JavacElements method getSourcePosition.
public JavacSourcePosition getSourcePosition(Element e, AnnotationMirror a) {
Pair<JCTree, JCCompilationUnit> treeTop = getTreeAndTopLevel(e);
if (treeTop == null)
return null;
JCTree tree = treeTop.fst;
JCCompilationUnit toplevel = treeTop.snd;
JavaFileObject sourcefile = toplevel.sourcefile;
if (sourcefile == null)
return null;
JCTree annoTree = matchAnnoToTree(a, e, tree);
if (annoTree == null)
return null;
return new JavacSourcePosition(sourcefile, annoTree.pos, toplevel.lineMap);
}
Aggregations