本文整理了Java中com.sun.tools.javac.util.List.nonEmpty()
方法的一些代码示例,展示了List.nonEmpty()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。List.nonEmpty()
方法的具体详情如下:
包路径:com.sun.tools.javac.util.List
类名称:List
方法名:nonEmpty
[英]Does list have elements?
[中]列表有元素吗?
代码示例来源:origin: google/error-prone
@Override
public String visitClassType(Type.ClassType t, Void s) {
StringBuilder sb = new StringBuilder();
sb.append(t.tsym.getSimpleName());
if (t.getTypeArguments().nonEmpty()) {
sb.append('<');
sb.append(
t.getTypeArguments().stream()
.map(a -> a.accept(this, null))
.collect(joining(", ")));
sb.append(">");
}
return sb.toString();
}
代码示例来源:origin: google/error-prone
@Override
public String visitClassType(Type.ClassType t, Void unused) {
StringBuilder sb = new StringBuilder();
if (state == null || fix == null) {
sb.append(t.tsym.getSimpleName());
} else {
sb.append(qualifyType(state, fix, t.tsym));
}
if (t.getTypeArguments().nonEmpty()) {
sb.append('<');
sb.append(
t.getTypeArguments().stream()
.map(a -> a.accept(this, null))
.collect(joining(", ")));
sb.append(">");
}
return sb.toString();
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Visitor method: Translate list of trees.
*/
public <T extends JCTree> List<T> translate(List<T> trees, Type type) {
if (trees == null) return null;
for (List<T> l = trees; l.nonEmpty(); l = l.tail)
l.head = translate(l.head, type);
return trees;
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** The total width taken up by a vector of objects.
*/
public static int width(List<Type> types) {
int w = 0;
for (List<Type> l = types; l.nonEmpty(); l = l.tail)
w = w + width(l.head);
return w;
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Analyze a list of expressions.
*/
void scanExprs(List<? extends JCExpression> trees) {
if (trees != null)
for (List<? extends JCExpression> l = trees; l.nonEmpty(); l = l.tail)
scanExpr(l.head);
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
@Override
public Type visitTypeVar(TypeVar t, Void ignored) {
for (List<Type> from = this.from, to = this.to;
from.nonEmpty();
from = from.tail, to = to.tail) {
if (t == from.head) {
return to.head.withTypeVar(t);
}
}
return t;
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Add any variables defined in stats to the switch scope. */
private static void addVars(List<JCStatement> stats, Scope switchScope) {
for (;stats.nonEmpty(); stats = stats.tail) {
JCTree stat = stats.head;
if (stat.tag == JCTree.VARDEF)
switchScope.enter(((JCVariableDecl) stat).sym);
}
}
// where
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Enter members from a list of trees.
*/
void memberEnter(List<? extends JCTree> trees, Env<AttrContext> env) {
for (List<? extends JCTree> l = trees; l.nonEmpty(); l = l.tail)
memberEnter(l.head, env);
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Form the union of two type set lists.
*/
List<Type> union(List<Type> ts1, List<Type> ts2) {
List<Type> ts = ts1;
for (List<Type> l = ts2; l.nonEmpty(); l = l.tail)
ts = incl(l.head, ts);
return ts;
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Attribute a list of statements, returning nothing.
*/
<T extends JCTree> void attribStats(List<T> trees, Env<AttrContext> env) {
for (List<T> l = trees; l.nonEmpty(); l = l.tail)
attribStat(l.head, env);
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Derived visitor method: generate code for a list of statements.
*/
public void genStats(List<? extends JCTree> trees, Env<GenContext> env) {
for (List<? extends JCTree> l = trees; l.nonEmpty(); l = l.tail)
genStat(l.head, env, CRT_STATEMENT);
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Visitor method: compute source positions for
* a list of case blocks of switch statements.
*/
public SourceRange cspCases(List<JCCase> trees) {
if ((trees == null) || !(trees.nonEmpty())) return null;
SourceRange list_sr = new SourceRange();
for (List<JCCase> l = trees; l.nonEmpty(); l = l.tail) {
list_sr.mergeWith(csp(l.head));
}
positions.put(trees, list_sr);
return list_sr;
}
代码示例来源:origin: org.netbeans.api/org-netbeans-modules-java-source-base
private void printTypeParameters(List < JCTypeParameter > trees) {
if (trees.nonEmpty()) {
print('<');
printExprs(trees);
print('>');
}
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Derived visitor method: print list of statements, each on a separate line.
*/
public void printStats(List<? extends JCTree> trees) throws IOException {
for (List<? extends JCTree> l = trees; l.nonEmpty(); l = l.tail) {
align();
printStat(l.head);
println();
}
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Return all exceptions in thrown list that are not in handled list.
* @param thrown The list of thrown exceptions.
* @param handled The list of handled exceptions.
*/
List<Type> unHandled(List<Type> thrown, List<Type> handled) {
List<Type> unhandled = List.nil();
for (List<Type> l = thrown; l.nonEmpty(); l = l.tail)
if (!isHandled(l.head, handled)) unhandled = unhandled.prepend(l.head);
return unhandled;
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
void addBridges(DiagnosticPosition pos,
TypeSymbol i,
ClassSymbol origin,
ListBuffer<JCTree> bridges) {
for (Scope.Entry e = i.members().elems; e != null; e = e.sibling)
addBridgeIfNeeded(pos, e.sym, origin, bridges);
for (List<Type> l = types.interfaces(i.type); l.nonEmpty(); l = l.tail)
addBridges(pos, l.head.tsym, origin, bridges);
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Visitor method: enter classes of a list of trees, returning a list of types.
*/
<T extends JCTree> List<Type> classEnter(List<T> trees, Env<AttrContext> env) {
ListBuffer<Type> ts = new ListBuffer<Type>();
for (List<T> l = trees; l.nonEmpty(); l = l.tail)
ts.append(classEnter(l.head, env));
return ts.toList();
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
void writeMethods(Scope.Entry e) {
List<MethodSymbol> methods = List.nil();
for (Scope.Entry i = e; i != null; i = i.sibling) {
if (i.sym.kind == MTH && (i.sym.flags() & HYPOTHETICAL) == 0)
methods = methods.prepend((MethodSymbol)i.sym);
}
while (methods.nonEmpty()) {
writeMethod(methods.head);
methods = methods.tail;
}
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Enter type variables of this classtype and all enclosing ones in
* `typevars'.
*/
protected void enterTypevars(Type t) {
if (t.getEnclosingType() != null && t.getEnclosingType().tag == CLASS)
enterTypevars(t.getEnclosingType());
for (List<Type> xs = t.getTypeArguments(); xs.nonEmpty(); xs = xs.tail)
typevars.enter(xs.head.tsym);
}
代码示例来源:origin: org.jvnet.sorcerer/sorcerer-javac
/** Attribute the arguments in a method call, returning a list of types.
*/
List<Type> attribArgs(List<JCExpression> trees, Env<AttrContext> env) {
ListBuffer<Type> argtypes = new ListBuffer<Type>();
for (List<JCExpression> l = trees; l.nonEmpty(); l = l.tail)
argtypes.append(chk.checkNonVoid(
l.head.pos(), types.upperBound(attribTree(l.head, env, VAL, Infer.anyPoly))));
return argtypes.toList();
}
内容来源于网络,如有侵权,请联系作者删除!