本文整理汇总了Java中com.sun.tools.javac.tree.JCTree.JCWildcard类的典型用法代码示例。如果您正苦于以下问题:Java JCWildcard类的具体用法?Java JCWildcard怎么用?Java JCWildcard使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
JCWildcard类属于com.sun.tools.javac.tree.JCTree包,在下文中一共展示了JCWildcard类的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: diffWildcard
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
protected int diffWildcard(JCWildcard oldT, JCWildcard newT, int[] bounds) {
int localPointer = bounds[0];
if (oldT.kind != newT.kind) {
copyTo(localPointer, oldT.pos);
printer.print(newT.kind.toString());
localPointer = oldT.pos + oldT.kind.toString().length();
}
JCTree oldBound = oldT.kind.kind != BoundKind.UNBOUND ? oldT.inner : null;
JCTree newBound = newT.kind.kind != BoundKind.UNBOUND ? newT.inner : null;
if (oldBound == newBound && oldBound == null) return localPointer;
int[] innerBounds = getBounds(oldBound);
copyTo(localPointer, innerBounds[0]);
localPointer = diffTree(oldBound, newBound, innerBounds);
copyTo(localPointer, bounds[1]);
return bounds[1];
}
开发者ID:apache,项目名称:incubator-netbeans,代码行数:18,代码来源:CasualDiff.java
示例2: visitWildcard
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
@Override public void visitWildcard(JCWildcard tree) {
switch (tree.getKind()) {
default:
case UNBOUNDED_WILDCARD:
print("?");
return;
case EXTENDS_WILDCARD:
print("? extends ");
print(tree.inner);
return;
case SUPER_WILDCARD:
print("? super ");
print(tree.inner);
return;
}
}
开发者ID:git03394538,项目名称:lombok-ianchiu,代码行数:17,代码来源:PrettyPrinter.java
示例3: cloneParamType
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
protected JCExpression cloneParamType(int index, JavacTreeMaker maker, List<JCExpression> typeArgs, JavacNode builderType, JCTree source) {
if (typeArgs == null || typeArgs.size() <= index) {
return genJavaLangTypeRef(builderType, "Object");
} else {
JCExpression originalType = typeArgs.get(index);
if (originalType.getKind() == Kind.UNBOUNDED_WILDCARD || originalType.getKind() == Kind.SUPER_WILDCARD) {
return genJavaLangTypeRef(builderType, "Object");
} else if (originalType.getKind() == Kind.EXTENDS_WILDCARD) {
try {
return cloneType(maker, (JCExpression) ((JCWildcard) originalType).inner, source, builderType.getContext());
} catch (Exception e) {
return genJavaLangTypeRef(builderType, "Object");
}
} else {
return cloneType(maker, originalType, source, builderType.getContext());
}
}
}
开发者ID:git03394538,项目名称:lombok-ianchiu,代码行数:19,代码来源:JavacSingularsRecipes.java
示例4: visitWildcard
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
@Override public void visitWildcard(JCWildcard tree) {
printNode(tree);
Object o;
// In some javacs (older ones), JCWildcard.kind is a BoundKind, which is an enum. In newer ones its a TypeBoundKind which is a JCTree, i.e. has positions.
try {
o = tree.getClass().getField("kind").get(tree);
} catch (Exception e) {
throw new RuntimeException("There's no field at all named 'kind' in JCWildcard? This is not a javac I understand.", e);
}
if (o instanceof JCTree) {
child("kind", (JCTree)o);
} else if (o instanceof BoundKind) {
property("kind", String.valueOf(o));
}
child("inner", tree.inner);
indent--;
}
开发者ID:evant,项目名称:android-retrolambda-lombok,代码行数:20,代码来源:JcTreePrinter.java
示例5: visitWildcard
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
public void visitWildcard(JCWildcard that) {
try {
print("JCWildcard:");
} catch (Exception e) {
}
super.visitWildcard(that);
}
开发者ID:pcgomes,项目名称:javaparser2jctree,代码行数:8,代码来源:PrintAstVisitor.java
示例6: printBaseElementType
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
private void printBaseElementType(JCArrayTypeTree tree) throws IOException {
JCTree elem = tree.elemtype;
while (elem instanceof JCWildcard)
elem = ((JCWildcard) elem).inner;
if (elem instanceof JCArrayTypeTree)
printBaseElementType((JCArrayTypeTree) elem);
else
printExpr(elem);
}
开发者ID:mobmead,项目名称:EasyMPermission,代码行数:10,代码来源:PrettyCommentsPrinter.java
示例7: getTypeBoundKindPosition
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
private Position getTypeBoundKindPosition(JCWildcard node) {
try {
Object o = JCWILDCARD_KIND.get(node);
if (o instanceof TypeBoundKind) {
return getPosition((TypeBoundKind) o);
}
} catch (Exception e) {}
return Position.UNPLACED;
}
开发者ID:evant,项目名称:android-retrolambda-lombok,代码行数:10,代码来源:JcTreeConverter.java
示例8: inline
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
@Override
public JCWildcard inline(Inliner inliner) throws CouldNotResolveImportException {
return inliner
.maker()
.Wildcard(
inliner.maker().TypeBoundKind(BOUND_KINDS.get(getKind())),
(getBound() == null) ? null : getBound().inline(inliner));
}
开发者ID:google,项目名称:error-prone,代码行数:9,代码来源:UWildcard.java
示例9: visitWildcard
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
@Override
public void visitWildcard(JCWildcard tree) {
try {
print(tree.kind);
if (tree.kind.kind != BoundKind.UNBOUND)
printExpr(tree.inner);
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}
开发者ID:sebastianoe,项目名称:s4j,代码行数:11,代码来源:Pretty.java
示例10: visitWildcard
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
public void visitWildcard(JCWildcard tree) {
//- System.err.println("visitWildcard("+tree+");");//DEBUG
Type type = (tree.kind.kind == BoundKind.UNBOUND)
? syms.objectType
: attribType(tree.inner, env);
result = check(tree, new WildcardType(chk.checkRefType(tree.pos(), type),
tree.kind.kind,
syms.boundClass),
TYP, pkind, pt);
}
开发者ID:sebastianoe,项目名称:s4j,代码行数:11,代码来源:Attr.java
示例11: printBaseElementType
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
private void printBaseElementType(JCArrayTypeTree tree) throws IOException {
JCTree elem = tree.elemtype;
while (elem instanceof JCWildcard)
elem = ((JCWildcard) elem).inner;
if (elem instanceof JCArrayTypeTree)
printBaseElementType((JCArrayTypeTree) elem);
else
printExpr(elem);
}
开发者ID:redundent,项目名称:lombok,代码行数:10,代码来源:PrettyCommentsPrinter.java
示例12: matchWildcard
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
private boolean matchWildcard(JCWildcard t1, JCWildcard t2) {
return t1.kind == t2.kind && treesMatch(t1.inner, t2.inner);
}
开发者ID:apache,项目名称:incubator-netbeans,代码行数:4,代码来源:CasualDiff.java
示例13: Wildcard
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
public JCWildcard Wildcard(TypeBoundKind kind, JCTree type) {
return invoke(Wildcard, kind, type);
}
开发者ID:git03394538,项目名称:lombok-ianchiu,代码行数:4,代码来源:JavacTreeMaker.java
示例14: visitTypeArray
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
@Override public void visitTypeArray(JCArrayTypeTree tree) {
JCTree elem = tree.elemtype;
while (elem instanceof JCWildcard) elem = ((JCWildcard) elem).inner;
print(elem);
print("[]");
}
开发者ID:git03394538,项目名称:lombok-ianchiu,代码行数:7,代码来源:PrettyPrinter.java
示例15: cloneType0
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
private static JCExpression cloneType0(JavacTreeMaker maker, JCTree in) {
if (in == null) return null;
if (in instanceof JCPrimitiveTypeTree) return (JCExpression) in;
if (in instanceof JCIdent) {
return maker.Ident(((JCIdent) in).name);
}
if (in instanceof JCFieldAccess) {
JCFieldAccess fa = (JCFieldAccess) in;
return maker.Select(cloneType0(maker, fa.selected), fa.name);
}
if (in instanceof JCArrayTypeTree) {
JCArrayTypeTree att = (JCArrayTypeTree) in;
return maker.TypeArray(cloneType0(maker, att.elemtype));
}
if (in instanceof JCTypeApply) {
JCTypeApply ta = (JCTypeApply) in;
ListBuffer<JCExpression> lb = new ListBuffer<JCExpression>();
for (JCExpression typeArg : ta.arguments) {
lb.append(cloneType0(maker, typeArg));
}
return maker.TypeApply(cloneType0(maker, ta.clazz), lb.toList());
}
if (in instanceof JCWildcard) {
JCWildcard w = (JCWildcard) in;
JCExpression newInner = cloneType0(maker, w.inner);
TypeBoundKind newKind;
switch (w.getKind()) {
case SUPER_WILDCARD:
newKind = maker.TypeBoundKind(BoundKind.SUPER);
break;
case EXTENDS_WILDCARD:
newKind = maker.TypeBoundKind(BoundKind.EXTENDS);
break;
default:
case UNBOUNDED_WILDCARD:
newKind = maker.TypeBoundKind(BoundKind.UNBOUND);
break;
}
return maker.Wildcard(newKind, newInner);
}
// This is somewhat unsafe, but it's better than outright throwing an exception here. Returning null will just cause an exception down the pipeline.
return (JCExpression) in;
}
开发者ID:git03394538,项目名称:lombok-ianchiu,代码行数:51,代码来源:JavacHandlerUtil.java
示例16: AJCWildcard
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
public AJCWildcard(JCWildcard ltree) {
super(ltree.kind, ltree.inner);
}
开发者ID:pcgomes,项目名称:javaparser2jctree,代码行数:4,代码来源:AJCWildcard.java
示例17: createTypeArgs
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
protected List<JCExpression> createTypeArgs(int count, boolean addExtends, JavacNode node, List<JCExpression> typeArgs, JCTree source) {
JavacTreeMaker maker = node.getTreeMaker();
Context context = node.getContext();
if (count < 0) throw new IllegalArgumentException("count is negative");
if (count == 0) return List.nil();
ListBuffer<JCExpression> arguments = new ListBuffer<JCExpression>();
if (typeArgs != null) for (JCExpression orig : typeArgs) {
if (!addExtends) {
if (orig.getKind() == Kind.UNBOUNDED_WILDCARD || orig.getKind() == Kind.SUPER_WILDCARD) {
arguments.append(genJavaLangTypeRef(node, "Object"));
} else if (orig.getKind() == Kind.EXTENDS_WILDCARD) {
JCExpression inner;
try {
inner = (JCExpression) ((JCWildcard) orig).inner;
} catch (Exception e) {
inner = genJavaLangTypeRef(node, "Object");
}
arguments.append(cloneType(maker, inner, source, context));
} else {
arguments.append(cloneType(maker, orig, source, context));
}
} else {
if (orig.getKind() == Kind.UNBOUNDED_WILDCARD || orig.getKind() == Kind.SUPER_WILDCARD) {
arguments.append(maker.Wildcard(maker.TypeBoundKind(BoundKind.UNBOUND), null));
} else if (orig.getKind() == Kind.EXTENDS_WILDCARD) {
arguments.append(cloneType(maker, orig, source, context));
} else {
arguments.append(maker.Wildcard(maker.TypeBoundKind(BoundKind.EXTENDS), cloneType(maker, orig, source, context)));
}
}
if (--count == 0) break;
}
while (count-- > 0) {
if (addExtends) {
arguments.append(maker.Wildcard(maker.TypeBoundKind(BoundKind.UNBOUND), null));
} else {
arguments.append(genJavaLangTypeRef(node, "Object"));
}
}
return arguments.toList();
}
开发者ID:mobmead,项目名称:EasyMPermission,代码行数:46,代码来源:JavacSingularsRecipes.java
示例18: visitWildcard
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
@Override
public Pair<ASTRecord, Integer> visitWildcard(WildcardTree node, Insertion ins) {
JCWildcard wc = (JCWildcard) node;
return Pair.of(astRecord(node), wc.getStartPosition());
}
开发者ID:typetools,项目名称:annotation-tools,代码行数:6,代码来源:TreeFinder.java
示例19: cloneType0
import com.sun.tools.javac.tree.JCTree.JCWildcard; //导入依赖的package包/类
private static JCExpression cloneType0(TreeMaker maker, JCTree in) {
if (in == null) return null;
if (in instanceof JCPrimitiveTypeTree) return (JCExpression) in;
if (in instanceof JCIdent) {
return maker.Ident(((JCIdent) in).name);
}
if (in instanceof JCFieldAccess) {
JCFieldAccess fa = (JCFieldAccess) in;
return maker.Select(cloneType0(maker, fa.selected), fa.name);
}
if (in instanceof JCArrayTypeTree) {
JCArrayTypeTree att = (JCArrayTypeTree) in;
return maker.TypeArray(cloneType0(maker, att.elemtype));
}
if (in instanceof JCTypeApply) {
JCTypeApply ta = (JCTypeApply) in;
ListBuffer<JCExpression> lb = ListBuffer.lb();
for (JCExpression typeArg : ta.arguments) {
lb.append(cloneType0(maker, typeArg));
}
return maker.TypeApply(cloneType0(maker, ta.clazz), lb.toList());
}
if (in instanceof JCWildcard) {
JCWildcard w = (JCWildcard) in;
JCExpression newInner = cloneType0(maker, w.inner);
TypeBoundKind newKind;
switch (w.getKind()) {
case SUPER_WILDCARD:
newKind = maker.TypeBoundKind(BoundKind.SUPER);
break;
case EXTENDS_WILDCARD:
newKind = maker.TypeBoundKind(BoundKind.EXTENDS);
break;
default:
case UNBOUNDED_WILDCARD:
newKind = maker.TypeBoundKind(BoundKind.UNBOUND);
break;
}
return maker.Wildcard(newKind, newInner);
}
// This is somewhat unsafe, but it's better than outright throwing an exception here. Returning null will just cause an exception down the pipeline.
return (JCExpression) in;
}
开发者ID:redundent,项目名称:lombok,代码行数:51,代码来源:JavacHandlerUtil.java
注:本文中的com.sun.tools.javac.tree.JCTree.JCWildcard类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论