• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java TypeBoundKind类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.sun.tools.javac.tree.JCTree.TypeBoundKind的典型用法代码示例。如果您正苦于以下问题:Java TypeBoundKind类的具体用法?Java TypeBoundKind怎么用?Java TypeBoundKind使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



TypeBoundKind类属于com.sun.tools.javac.tree.JCTree包,在下文中一共展示了TypeBoundKind类的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: visit

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
@Override
public JCTree visit(final WildcardType n, final Object arg) {
    //ARG0: TypeBoundKind kind
    // For < ? extends>  or < ? super > or < ? >
    TypeBoundKind arg0;

    //ARG1: JCTree inner
    // A class associated to this type, if any
    JCTree arg1;

    if (n.getExtends() != null) {
        arg0 = new ATypeBoundKind(make.TypeBoundKind(EXTENDS), null);
        arg1 = n.getExtends().accept(this, arg);
    } else if (n.getSuper() != null) {
        arg0 = new ATypeBoundKind(make.TypeBoundKind(SUPER), null);
        arg1 = n.getSuper().accept(this, arg);
    } else {
        arg0 = new ATypeBoundKind(make.TypeBoundKind(UNBOUND), null);
        arg1 = null;
    }

    return new AJCWildcard(make.Wildcard(arg0, arg1), ((n.getComment() != null) ? n.getComment().getContent() : null));
}
 
开发者ID:pcgomes,项目名称:javaparser2jctree,代码行数:24,代码来源:JavaParser2JCTree.java


示例2: diffTypeBoundKind

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
protected int diffTypeBoundKind(TypeBoundKind oldT, TypeBoundKind 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();
    }
    copyTo(localPointer, bounds[1]);
    return bounds[1];
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:11,代码来源:CasualDiff.java


示例3: reflectiveScan

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
/** record all tree nodes found by reflection. */
public void reflectiveScan(Object o) {
    if (o == null)
        return;
    if (o instanceof JCTree) {
        JCTree tree = (JCTree) o;
        //System.err.println("EXPECT: " + tree.getKind() + " " + trim(tree, 64));
        expect.add(tree);
        for (Field f: getFields(tree)) {
            if (TypeBoundKind.class.isAssignableFrom(f.getType())) {
                // not part of public API
                continue;
            }
            try {
                //System.err.println("FIELD: " + f.getName());
                if (tree instanceof JCModuleDecl && f.getName().equals("mods")) {
                    // The modifiers will not found by TreeScanner,
                    // but the embedded annotations will be.
                    reflectiveScan(((JCModuleDecl) tree).mods.annotations);
                } else {
                    reflectiveScan(f.get(tree));
                }
            } catch (IllegalAccessException e) {
                error(e.toString());
            }
        }
    } else if (o instanceof List) {
        List<?> list = (List<?>) o;
        for (Object item: list)
            reflectiveScan(item);
    } else
        error("unexpected item: " + o);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:34,代码来源:SourceTreeScannerTest.java


示例4: reflectiveScan

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
/** record all tree nodes found by reflection. */
public void reflectiveScan(Object o) {
    if (o == null)
        return;
    if (o instanceof JCTree) {
        JCTree tree = (JCTree) o;
        //System.err.println("EXPECT: " + tree.getKind() + " " + trim(tree, 64));
        expect.add(tree);
        for (Field f: getFields(tree)) {
            if (TypeBoundKind.class.isAssignableFrom(f.getType())) {
                // not part of public API
                continue;
            }
            try {
                //System.err.println("FIELD: " + f.getName());
                reflectiveScan(f.get(tree));
            } catch (IllegalAccessException e) {
                error(e.toString());
            }
        }
    } else if (o instanceof List) {
        List<?> list = (List<?>) o;
        for (Object item: list)
            reflectiveScan(item);
    } else
        error("unexpected item: " + o);
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:28,代码来源:SourceTreeScannerTest.java


示例5: visitTypeBoundKind

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
public void visitTypeBoundKind(TypeBoundKind that) {
    try {
        print("TypeBoundKind:");
    } catch (Exception e) {
    }
    super.visitTypeBoundKind(that);
}
 
开发者ID:pcgomes,项目名称:javaparser2jctree,代码行数:8,代码来源:PrintAstVisitor.java


示例6: visitTypeBoundKind

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
public void visitTypeBoundKind(TypeBoundKind tree) {
	try {
		print(String.valueOf(tree.kind));
	} catch (IOException e) {
		throw new UncheckedIOException(e);
	}
}
 
开发者ID:mobmead,项目名称:EasyMPermission,代码行数:8,代码来源:PrettyCommentsPrinter.java


示例7: visitTypeReference

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
@Override
public boolean visitTypeReference(TypeReference node) {
	WildcardKind wildcard = node.astWildcard();
	if (wildcard == WildcardKind.UNBOUND) {
		return posSet(node, treeMaker.Wildcard(treeMaker.TypeBoundKind(BoundKind.UNBOUND), null));
	}
	
	JCExpression result = plainTypeReference(node);
	
	result = addWildcards(node, result, wildcard);
	result = addDimensions(node, result, node.astArrayDimensions());
	
	return set(node, result);
}
 
开发者ID:evant,项目名称:android-retrolambda-lombok,代码行数:15,代码来源:JcTreeBuilder.java


示例8: addWildcards

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
private JCExpression addWildcards(Node node, JCExpression type, WildcardKind wildcardKind) {
	TypeBoundKind typeBoundKind;
	switch (wildcardKind) {
	case NONE:
		return type;
	case EXTENDS:
		typeBoundKind = treeMaker.TypeBoundKind(BoundKind.EXTENDS);
		Position jcExtendsPos = getConversionPositionInfo(node, "extends");
		if (jcExtendsPos == null) {
			setPos(posOfStructure(node, "extends", true), posOfStructure(node, "extends", false), typeBoundKind);
		} else {
			setPos(jcExtendsPos.getStart(), jcExtendsPos.getEnd(), typeBoundKind);
		}
		return setPos(type.pos, endPosTable.get(type), treeMaker.Wildcard(typeBoundKind, type));
	case SUPER:
		typeBoundKind = treeMaker.TypeBoundKind(BoundKind.SUPER);
		Position jcSuperPos = getConversionPositionInfo(node, "super");
		if (jcSuperPos == null) {
			setPos(posOfStructure(node, "super", true), posOfStructure(node, "super", false), typeBoundKind);
		} else {
			setPos(jcSuperPos.getStart(), jcSuperPos.getEnd(), typeBoundKind);
		}
		return setPos(type.pos, endPosTable.get(type), treeMaker.Wildcard(typeBoundKind, type));
	default:
		throw new IllegalStateException("Unexpected unbound wildcard: " + wildcardKind);
	}
}
 
开发者ID:evant,项目名称:android-retrolambda-lombok,代码行数:28,代码来源:JcTreeBuilder.java


示例9: getTypeBoundKindPosition

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的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


示例10: reflectiveScan

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
/** record all tree nodes found by reflection. */
public void reflectiveScan(Object o) {
    if (o == null)
        return;
    if (o instanceof JCTree) {
        JCTree tree = (JCTree) o;
        //System.err.println("EXPECT: " + tree.getKind() + " " + trim(tree, 64));
        expect.add(tree);
        for (Field f: getFields(tree)) {
            if (TypeBoundKind.class.isAssignableFrom(f.getType())) {
                // not part of public API
                continue;
            }
            if (JCTree.JCNewArray.class.isAssignableFrom(tree.getClass())
                    && (f.getName().equals("annotations")
                        || f.getName().equals("dimAnnotations"))) {
                // these fields are incorrectly missing from the public API
                // (CR 6983297)
                continue;
            }
            try {
                //System.err.println("FIELD: " + f.getName());
                reflectiveScan(f.get(tree));
            } catch (IllegalAccessException e) {
                error(e.toString());
            }
        }
    } else if (o instanceof List) {
        List<?> list = (List<?>) o;
        for (Object item: list)
            reflectiveScan(item);
    } else
        error("unexpected item: " + o);
}
 
开发者ID:aducode,项目名称:openjdk-source-code-learn,代码行数:35,代码来源:SourceTreeScannerTest.java


示例11: visitTypeBoundKind

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
@Override
public void visitTypeBoundKind(TypeBoundKind tree) {
    try {
        print(String.valueOf(tree.kind));
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }
}
 
开发者ID:sebastianoe,项目名称:s4j,代码行数:9,代码来源:Pretty.java


示例12: visitTypeBoundKind

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
public void visitTypeBoundKind(TypeBoundKind tree) {
    try {
        print(String.valueOf(tree.kind));
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }
}
 
开发者ID:redundent,项目名称:lombok,代码行数:8,代码来源:PrettyCommentsPrinter.java


示例13: Wildcard

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
public JCWildcard Wildcard(TypeBoundKind kind, JCTree type) {
	return invoke(Wildcard, kind, type);
}
 
开发者ID:git03394538,项目名称:lombok-ianchiu,代码行数:4,代码来源:JavacTreeMaker.java


示例14: TypeBoundKind

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
public TypeBoundKind TypeBoundKind(BoundKind kind) {
	return invoke(TypeBoundKind, kind);
}
 
开发者ID:git03394538,项目名称:lombok-ianchiu,代码行数:4,代码来源:JavacTreeMaker.java


示例15: visitTypeBoundKind

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
public void visitTypeBoundKind(TypeBoundKind tree) {
	print(String.valueOf(tree.kind));
}
 
开发者ID:git03394538,项目名称:lombok-ianchiu,代码行数:4,代码来源:PrettyPrinter.java


示例16: cloneType0

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的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


示例17: ATypeBoundKind

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
public ATypeBoundKind(TypeBoundKind ltree) {
    super(ltree.kind);
}
 
开发者ID:pcgomes,项目名称:javaparser2jctree,代码行数:4,代码来源:ATypeBoundKind.java


示例18: visitTypeBoundKind

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的package包/类
public void visitTypeBoundKind(TypeBoundKind tree) {
	printNode(tree);
	property("kind", String.valueOf(tree.kind));
	indent--;
}
 
开发者ID:evant,项目名称:android-retrolambda-lombok,代码行数:6,代码来源:JcTreePrinter.java


示例19: cloneType0

import com.sun.tools.javac.tree.JCTree.TypeBoundKind; //导入依赖的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.TypeBoundKind类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java CellDataFeatures类代码示例发布时间:2022-05-21
下一篇:
Java MethodDeclaration类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap