Java 类javax.lang.model.type.IntersectionType 实例源码
项目:revapi
文件:Util.java
@Override
public Void visitIntersection(IntersectionType t, StringBuilderAndState<TypeMirror> state) {
List<? extends TypeMirror> bounds = IgnoreCompletionFailures.in(t::getBounds);
if (state.visitingMethod) {
//the type erasure of an intersection type is the first type
if (!bounds.isEmpty()) {
bounds.get(0).accept(this, state);
}
} else {
for (TypeMirror b : bounds) {
b.accept(this, state);
state.bld.append("+");
}
}
return null;
}
项目:buck
文件:StandaloneTypeVariableTest.java
@Test
public void testGetUpperBoundMultipleBounds() throws IOException {
compile("class Foo<T extends java.lang.CharSequence & java.lang.Runnable> { }");
TypeMirror charSequenceType = elements.getTypeElement("java.lang.CharSequence").asType();
TypeMirror runnableType = elements.getTypeElement("java.lang.Runnable").asType();
TypeVariable tVar =
(TypeVariable) elements.getTypeElement("Foo").getTypeParameters().get(0).asType();
IntersectionType upperBound = (IntersectionType) tVar.getUpperBound();
List<? extends TypeMirror> bounds = upperBound.getBounds();
assertSame(2, bounds.size());
assertSameType(charSequenceType, bounds.get(0));
assertSameType(runnableType, bounds.get(1));
}
项目:revapi
文件:Util.java
@Override
public Void visitIntersection(IntersectionType t, StringBuilderAndState<TypeMirror> state) {
Iterator<? extends TypeMirror> it = IgnoreCompletionFailures.in(t::getBounds).iterator();
if (it.hasNext()) {
it.next().accept(this, state);
}
TypeVisitor<Void, StringBuilderAndState<TypeMirror>> me = this;
it.forEachRemaining(b -> { state.bld.append(", "); b.accept(me, state); });
return null;
}
项目:checker-framework
文件:AnnotatedTypeMirror.java
@Override
public AnnotatedIntersectionType getCopy(boolean copyAnnotations) {
AnnotatedIntersectionType type =
new AnnotatedIntersectionType((IntersectionType) actualType, atypeFactory);
if (copyAnnotations)
type.addAnnotations(annotations);
type.supertypes = this.supertypes;
return type;
}
项目:checker-framework
文件:AnnotatedTypeMirror.java
@Override
public List<AnnotatedDeclaredType> directSuperTypes() {
if (supertypes == null) {
List<? extends TypeMirror> ubounds = ((IntersectionType)actualType).getBounds();
List<AnnotatedDeclaredType> res = new ArrayList<AnnotatedDeclaredType>(ubounds.size());
for (TypeMirror bnd : ubounds) {
res.add((AnnotatedDeclaredType) createType(bnd, atypeFactory));
}
supertypes = Collections.unmodifiableList(res);
}
return supertypes;
}
项目:buck
文件:StandaloneTypeMirror.java
@Override
public <R, P> R accept(TypeVisitor<R, P> v, P p) {
switch (kind) {
case BOOLEAN:
case BYTE:
case SHORT:
case INT:
case LONG:
case CHAR:
case FLOAT:
case DOUBLE:
return v.visitPrimitive((PrimitiveType) this, p);
case PACKAGE:
case VOID:
case NONE:
return v.visitNoType((NoType) this, p);
case NULL:
return v.visitNull((NullType) this, p);
case ARRAY:
return v.visitArray((ArrayType) this, p);
case DECLARED:
return v.visitDeclared((DeclaredType) this, p);
case ERROR:
return v.visitError((ErrorType) this, p);
case TYPEVAR:
return v.visitTypeVariable((TypeVariable) this, p);
case WILDCARD:
return v.visitWildcard((WildcardType) this, p);
case EXECUTABLE:
return v.visitExecutable((ExecutableType) this, p);
case OTHER:
return v.visit(this, p);
case UNION:
return v.visitUnion((UnionType) this, p);
case INTERSECTION:
return v.visitIntersection((IntersectionType) this, p);
default:
throw new AssertionError(String.format("Unknown TypeKind: %s", kind));
}
}
项目:buck
文件:TreeBackedTypes.java
private boolean isSameIntersectionType(IntersectionType t1, IntersectionType t2) {
List<? extends TypeMirror> t1Bounds = t1.getBounds();
List<? extends TypeMirror> t2Bounds = t2.getBounds();
if (t1Bounds.size() != t2Bounds.size()) {
return false;
}
for (TypeMirror t1Bound : t1Bounds) {
if (!listContainsType(t2Bounds, t1Bound)) {
return false;
}
}
return true;
}
项目:buck
文件:StandaloneIntersectionTypeTest.java
@Test
public void testGetBounds() throws IOException {
compile("class Foo<T extends java.lang.Runnable & java.lang.CharSequence> { }");
TypeMirror runnableType = elements.getTypeElement("java.lang.Runnable").asType();
TypeMirror charSequenceType = elements.getTypeElement("java.lang.CharSequence").asType();
IntersectionType intersectionType = (IntersectionType) getTypeParameterUpperBound("Foo", 0);
List<? extends TypeMirror> bounds = intersectionType.getBounds();
assertSame(2, bounds.size());
assertSameType(runnableType, bounds.get(0));
assertSameType(charSequenceType, bounds.get(1));
}
项目:buck
文件:TreeBackedTypesTest.java
@Test
public void testIsSameTypeIntersectionType() throws IOException {
compile(
Joiner.on('\n')
.join(
"class Foo<T extends java.lang.CharSequence & java.lang.Runnable> { }",
"class Bar<T extends java.lang.CharSequence & java.lang.Runnable> { }"));
IntersectionType fooType = (IntersectionType) getTypeParameterUpperBound("Foo", 0);
IntersectionType barType = (IntersectionType) getTypeParameterUpperBound("Bar", 0);
assertSameType(fooType, barType);
}
项目:buck
文件:TreeBackedTypesTest.java
@Test
public void testIsNotSameTypeIntersectionTypeDifferentSize() throws IOException {
compile(
Joiner.on('\n')
.join(
"class Foo<T extends java.lang.CharSequence & java.lang.Runnable> { }",
"class Bar<T extends java.lang.CharSequence & java.lang.Runnable & java.io.Closeable> { }"));
IntersectionType fooType = (IntersectionType) getTypeParameterUpperBound("Foo", 0);
IntersectionType barType = (IntersectionType) getTypeParameterUpperBound("Bar", 0);
assertNotSameType(fooType, barType);
}
项目:buck
文件:TreeBackedTypesTest.java
@Test
public void testIsNotSameTypeIntersectionTypeDifferentSizeReversed() throws IOException {
compile(
Joiner.on('\n')
.join(
"class Foo<T extends java.lang.CharSequence & java.lang.Runnable & java.io.Closeable> { }",
"class Bar<T extends java.lang.CharSequence & java.lang.Runnable> { }"));
IntersectionType fooType = (IntersectionType) getTypeParameterUpperBound("Foo", 0);
IntersectionType barType = (IntersectionType) getTypeParameterUpperBound("Bar", 0);
assertNotSameType(fooType, barType);
}
项目:buck
文件:TreeBackedTypesTest.java
/**
* We're not exactly sure why intersection types with the same bounds but in a different order are
* considered the same type; after all, they can have different erasures. However, the javac
* implementation behaves that way, so we must as well.
*
* <p>The relevant JLS8 sections are 4.4 and 4.9, if any future person wants to go see if they can
* grok why this behavior is correct.
*/
@Test
public void testIsSameTypeIntersectionTypeDifferentOrder() throws IOException {
compile(
Joiner.on('\n')
.join(
"class Foo<T extends java.lang.CharSequence & java.lang.Runnable> { }",
"class Bar<T extends java.lang.Runnable & java.lang.CharSequence> { }"));
IntersectionType fooType = (IntersectionType) getTypeParameterUpperBound("Foo", 0);
IntersectionType barType = (IntersectionType) getTypeParameterUpperBound("Bar", 0);
assertSameType(fooType, barType);
}
项目:buck
文件:TreeBackedTypesTest.java
@Test
public void testIsNotSameTypeIntersectionTypeDifferentContents() throws IOException {
compile(
Joiner.on('\n')
.join(
"class Foo<T extends java.lang.CharSequence & java.lang.Runnable> { }",
"class Bar<T extends java.lang.CharSequence & java.io.Closeable> { }"));
IntersectionType fooType = (IntersectionType) getTypeParameterUpperBound("Foo", 0);
IntersectionType barType = (IntersectionType) getTypeParameterUpperBound("Bar", 0);
assertNotSameType(fooType, barType);
}
项目:buck
文件:TypeScanner8Test.java
@Override
public Void visitIntersection(IntersectionType t, Void aVoid) {
scans.add(t.toString());
return super.visitIntersection(t, aVoid);
}
项目:GitHub
文件:Util.java
public static String fillGenerics(Map<String, String> types, List<? extends TypeMirror> params, String separator) {
String result = "";
for (TypeMirror param : params) {
if (result.length() > 0) {
result += separator;
}
/**
* "if" block's order is critically! E.g. IntersectionType is TypeVariable.
*/
if (param instanceof WildcardType) {
result += "?";
final TypeMirror extendsBound = ((WildcardType) param).getExtendsBound();
if (extendsBound != null) {
result += " extends " + fillGenerics(types, extendsBound);
}
final TypeMirror superBound = ((WildcardType) param).getSuperBound();
if (superBound != null) {
result += " super " + fillGenerics(types, superBound);
}
} else if (param instanceof IntersectionType) {
result += "?";
final List<? extends TypeMirror> bounds = ((IntersectionType) param).getBounds();
if (!bounds.isEmpty()) {
result += " extends " + fillGenerics(types, bounds, " & ");
}
} else if (param instanceof DeclaredType) {
result += ((DeclaredType) param).asElement();
final List<? extends TypeMirror> typeArguments = ((DeclaredType) param).getTypeArguments();
if (!typeArguments.isEmpty()) {
final String s = fillGenerics(types, typeArguments);
result += "<" + s + ">";
}
} else if (param instanceof TypeVariable) {
String type = types.get(param.toString());
if (type == null) {
type = param.toString();
}
result += type;
} else {
result += param;
}
}
return result;
}
项目:incubator-netbeans
文件:ExportNonAccessibleElement.java
@Override
public Boolean visitIntersection(IntersectionType t, Void p) {
return false;
}
项目:alvisnlp
文件:ParamModel.java
@Override
public Boolean visitIntersection(IntersectionType t, Boolean p) {
return false;
}
项目:openjdk-jdk10
文件:BasicAnnoTests.java
@Override
public R visitIntersection(IntersectionType t, P p) {
scan(t.getBounds(), p);
return super.visitIntersection(t, p);
}
项目:openjdk-jdk10
文件:NoPrivateTypesExported.java
private void verifyTypeAcceptable(TypeMirror type, Set<String> acceptable) {
if (type == null) return ;
verifyAnnotations(type.getAnnotationMirrors(), acceptable);
switch (type.getKind()) {
case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT:
case INT: case LONG: case SHORT: case VOID: case NONE: case NULL:
return ;
case DECLARED:
DeclaredType dt = (DeclaredType) type;
TypeElement outermostTypeElement = outermostTypeElement(dt.asElement());
String outermostType = outermostTypeElement.getQualifiedName().toString();
boolean isAcceptable = false;
for (String acceptablePackage : acceptable) {
if (outermostType.startsWith(acceptablePackage)) {
isAcceptable = true;
break;
}
}
if (!isAcceptable) {
error("Type not acceptable for this API: " + dt.toString());
}
for (TypeMirror bound : dt.getTypeArguments()) {
verifyTypeAcceptable(bound, acceptable);
}
break;
case ARRAY:
verifyTypeAcceptable(((ArrayType) type).getComponentType(), acceptable);
break;
case INTERSECTION:
for (TypeMirror element : ((IntersectionType) type).getBounds()) {
verifyTypeAcceptable(element, acceptable);
}
break;
case TYPEVAR:
verifyTypeAcceptable(((TypeVariable) type).getLowerBound(), acceptable);
verifyTypeAcceptable(((TypeVariable) type).getUpperBound(), acceptable);
break;
case WILDCARD:
verifyTypeAcceptable(((WildcardType) type).getExtendsBound(), acceptable);
verifyTypeAcceptable(((WildcardType) type).getSuperBound(), acceptable);
break;
default:
error("Type not acceptable for this API: " + type.toString());
break;
}
}
项目:openjdk9
文件:BasicAnnoTests.java
@Override
public R visitIntersection(IntersectionType t, P p) {
scan(t.getBounds(), p);
return super.visitIntersection(t, p);
}
项目:openjdk9
文件:NoPrivateTypesExported.java
private void verifyTypeAcceptable(TypeMirror type, Set<String> acceptable) {
if (type == null) return ;
verifyAnnotations(type.getAnnotationMirrors(), acceptable);
switch (type.getKind()) {
case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT:
case INT: case LONG: case SHORT: case VOID: case NONE: case NULL:
return ;
case DECLARED:
DeclaredType dt = (DeclaredType) type;
TypeElement outermostTypeElement = outermostTypeElement(dt.asElement());
String outermostType = outermostTypeElement.getQualifiedName().toString();
boolean isAcceptable = false;
for (String acceptablePackage : acceptable) {
if (outermostType.startsWith(acceptablePackage)) {
isAcceptable = true;
break;
}
}
if (!isAcceptable) {
error("Type not acceptable for this API: " + dt.toString());
}
for (TypeMirror bound : dt.getTypeArguments()) {
verifyTypeAcceptable(bound, acceptable);
}
break;
case ARRAY:
verifyTypeAcceptable(((ArrayType) type).getComponentType(), acceptable);
break;
case INTERSECTION:
for (TypeMirror element : ((IntersectionType) type).getBounds()) {
verifyTypeAcceptable(element, acceptable);
}
break;
case TYPEVAR:
verifyTypeAcceptable(((TypeVariable) type).getLowerBound(), acceptable);
verifyTypeAcceptable(((TypeVariable) type).getUpperBound(), acceptable);
break;
case WILDCARD:
verifyTypeAcceptable(((WildcardType) type).getExtendsBound(), acceptable);
verifyTypeAcceptable(((WildcardType) type).getSuperBound(), acceptable);
break;
default:
error("Type not acceptable for this API: " + type.toString());
break;
}
}
项目:lookaside_java-1.8.0-openjdk
文件:NoPrivateTypesExported.java
private void verifyTypeAcceptable(TypeMirror type, Set<String> acceptable) {
if (type == null) return ;
verifyAnnotations(type.getAnnotationMirrors(), acceptable);
switch (type.getKind()) {
case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT:
case INT: case LONG: case SHORT: case VOID: case NONE: case NULL:
return ;
case DECLARED:
DeclaredType dt = (DeclaredType) type;
TypeElement outermostTypeElement = outermostTypeElement(dt.asElement());
String outermostType = outermostTypeElement.getQualifiedName().toString();
boolean isAcceptable = false;
for (String acceptablePackage : acceptable) {
if (outermostType.startsWith(acceptablePackage)) {
isAcceptable = true;
break;
}
}
if (!isAcceptable) {
error("Type not acceptable for this API: " + dt.toString());
}
for (TypeMirror bound : dt.getTypeArguments()) {
verifyTypeAcceptable(bound, acceptable);
}
break;
case ARRAY:
verifyTypeAcceptable(((ArrayType) type).getComponentType(), acceptable);
break;
case INTERSECTION:
for (TypeMirror element : ((IntersectionType) type).getBounds()) {
verifyTypeAcceptable(element, acceptable);
}
break;
case TYPEVAR:
verifyTypeAcceptable(((TypeVariable) type).getLowerBound(), acceptable);
verifyTypeAcceptable(((TypeVariable) type).getUpperBound(), acceptable);
break;
case WILDCARD:
verifyTypeAcceptable(((WildcardType) type).getExtendsBound(), acceptable);
verifyTypeAcceptable(((WildcardType) type).getSuperBound(), acceptable);
break;
default:
error("Type not acceptable for this API: " + type.toString());
break;
}
}
项目:jsr308-langtools
文件:NoPrivateTypesExported.java
private void verifyTypeAcceptable(TypeMirror type, Set<String> acceptable) {
if (type == null) return ;
verifyAnnotations(type.getAnnotationMirrors(), acceptable);
switch (type.getKind()) {
case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT:
case INT: case LONG: case SHORT: case VOID: case NONE: case NULL:
return ;
case DECLARED:
DeclaredType dt = (DeclaredType) type;
TypeElement outermostTypeElement = outermostTypeElement(dt.asElement());
String outermostType = outermostTypeElement.getQualifiedName().toString();
boolean isAcceptable = false;
for (String acceptablePackage : acceptable) {
if (outermostType.startsWith(acceptablePackage)) {
isAcceptable = true;
break;
}
}
if (!isAcceptable) {
error("Type not acceptable for this API: " + dt.toString());
}
for (TypeMirror bound : dt.getTypeArguments()) {
verifyTypeAcceptable(bound, acceptable);
}
break;
case ARRAY:
verifyTypeAcceptable(((ArrayType) type).getComponentType(), acceptable);
break;
case INTERSECTION:
for (TypeMirror element : ((IntersectionType) type).getBounds()) {
verifyTypeAcceptable(element, acceptable);
}
break;
case TYPEVAR:
verifyTypeAcceptable(((TypeVariable) type).getLowerBound(), acceptable);
verifyTypeAcceptable(((TypeVariable) type).getUpperBound(), acceptable);
break;
case WILDCARD:
verifyTypeAcceptable(((WildcardType) type).getExtendsBound(), acceptable);
verifyTypeAcceptable(((WildcardType) type).getSuperBound(), acceptable);
break;
default:
error("Type not acceptable for this API: " + type.toString());
break;
}
}
项目:Akatsuki
文件:GenericTypeAnalyzer.java
@Override
protected Analysis createAnalysis(InvocationContext<TypeMirror> context)
throws UnknownTypeException {
TypeVariable typeVariable = (TypeVariable) context.field.refinedMirror();
final TypeMirror upperBound = typeVariable.getUpperBound();
CascadingTypeAnalyzer<?, ?, ?> transformation = null;
if (upperBound instanceof DeclaredType) {
// we have a concrete type, good
resolvedMirror = upperBound;
transformation = resolve(context.field.refine(resolvedMirror));
} else if (upperBound instanceof IntersectionType) {
for (TypeMirror bound : ((IntersectionType) upperBound).getBounds()) {
// as long as the first bound matches anything, we use it
// TODO some bounds should have priority such as Parcelable and
// serializable. but how do we decide?
final CascadingTypeAnalyzer<?, ?, ?> found = resolve(
context.field.refine(resolvedMirror));
if (found != null) {
// we can probably do the following analysis to make this
// better:
// 1. Iterate through all strategies and save them as a list
// 2. Further filter out the working ones (ones that does
// not
// throw)
// 3. Do a super interface check on each of them and see
// which
// one is the most suitable
resolvedMirror = bound;
transformation = found;
break;
}
}
}
if (resolvedMirror == null || transformation == null)
throw new UnknownTypeException(context.field);
return cascade(transformation.target(resolvedMirror).cast(TypeCastStrategy.NO_CAST),
context, resolvedMirror);
}
项目:infobip-open-jdk-8
文件:NoPrivateTypesExported.java
private void verifyTypeAcceptable(TypeMirror type, Set<String> acceptable) {
if (type == null) return ;
verifyAnnotations(type.getAnnotationMirrors(), acceptable);
switch (type.getKind()) {
case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT:
case INT: case LONG: case SHORT: case VOID: case NONE: case NULL:
return ;
case DECLARED:
DeclaredType dt = (DeclaredType) type;
TypeElement outermostTypeElement = outermostTypeElement(dt.asElement());
String outermostType = outermostTypeElement.getQualifiedName().toString();
boolean isAcceptable = false;
for (String acceptablePackage : acceptable) {
if (outermostType.startsWith(acceptablePackage)) {
isAcceptable = true;
break;
}
}
if (!isAcceptable) {
error("Type not acceptable for this API: " + dt.toString());
}
for (TypeMirror bound : dt.getTypeArguments()) {
verifyTypeAcceptable(bound, acceptable);
}
break;
case ARRAY:
verifyTypeAcceptable(((ArrayType) type).getComponentType(), acceptable);
break;
case INTERSECTION:
for (TypeMirror element : ((IntersectionType) type).getBounds()) {
verifyTypeAcceptable(element, acceptable);
}
break;
case TYPEVAR:
verifyTypeAcceptable(((TypeVariable) type).getLowerBound(), acceptable);
verifyTypeAcceptable(((TypeVariable) type).getUpperBound(), acceptable);
break;
case WILDCARD:
verifyTypeAcceptable(((WildcardType) type).getExtendsBound(), acceptable);
verifyTypeAcceptable(((WildcardType) type).getSuperBound(), acceptable);
break;
default:
error("Type not acceptable for this API: " + type.toString());
break;
}
}
项目:OLD-OpenJDK8
文件:NoPrivateTypesExported.java
private void verifyTypeAcceptable(TypeMirror type, Set<String> acceptable) {
if (type == null) return ;
verifyAnnotations(type.getAnnotationMirrors(), acceptable);
switch (type.getKind()) {
case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT:
case INT: case LONG: case SHORT: case VOID: case NONE: case NULL:
return ;
case DECLARED:
DeclaredType dt = (DeclaredType) type;
TypeElement outermostTypeElement = outermostTypeElement(dt.asElement());
String outermostType = outermostTypeElement.getQualifiedName().toString();
boolean isAcceptable = false;
for (String acceptablePackage : acceptable) {
if (outermostType.startsWith(acceptablePackage)) {
isAcceptable = true;
break;
}
}
if (!isAcceptable) {
error("Type not acceptable for this API: " + dt.toString());
}
for (TypeMirror bound : dt.getTypeArguments()) {
verifyTypeAcceptable(bound, acceptable);
}
break;
case ARRAY:
verifyTypeAcceptable(((ArrayType) type).getComponentType(), acceptable);
break;
case INTERSECTION:
for (TypeMirror element : ((IntersectionType) type).getBounds()) {
verifyTypeAcceptable(element, acceptable);
}
break;
case TYPEVAR:
verifyTypeAcceptable(((TypeVariable) type).getLowerBound(), acceptable);
verifyTypeAcceptable(((TypeVariable) type).getUpperBound(), acceptable);
break;
case WILDCARD:
verifyTypeAcceptable(((WildcardType) type).getExtendsBound(), acceptable);
verifyTypeAcceptable(((WildcardType) type).getSuperBound(), acceptable);
break;
default:
error("Type not acceptable for this API: " + type.toString());
break;
}
}
项目:revapi
文件:ClasspathScanner.java
@Override
public TypeElement visitIntersection(IntersectionType t, Void aVoid) {
return t.getBounds().get(0).accept(this, null);
}
项目:revapi
文件:TypeMirrorPairVisitor.java
@Override
public final R visitIntersection(IntersectionType type, TypeMirror otherType) {
return otherType instanceof IntersectionType ? visitIntersection(type, (IntersectionType) otherType) :
unmatchedAction(type, otherType);
}
项目:revapi
文件:TypeMirrorPairVisitor.java
protected R visitIntersection(IntersectionType type, IntersectionType otherType) {
return defaultMatchAction(type, otherType);
}
项目:checker-framework
文件:AnnotatedTypeMirror.java
/**
* Creates the appropriate AnnotatedTypeMirror specific wrapper for the
* provided type
*
* @param type
* @param atypeFactory
* @return [to document]
*/
public static AnnotatedTypeMirror createType(TypeMirror type,
AnnotatedTypeFactory atypeFactory) {
if (type == null) {
ErrorReporter.errorAbort("AnnotatedTypeMirror.createType: input type must not be null!");
return null;
}
com.sun.tools.javac.code.Type jctype = ((com.sun.tools.javac.code.Type)type);
type = jctype.unannotatedType();
AnnotatedTypeMirror result;
switch (type.getKind()) {
case ARRAY:
result = new AnnotatedArrayType((ArrayType) type, atypeFactory);
break;
case DECLARED:
result = new AnnotatedDeclaredType((DeclaredType) type, atypeFactory);
break;
case ERROR:
ErrorReporter.errorAbort("AnnotatedTypeMirror.createType: input should type-check already! Found error type: " + type);
return null; // dead code
case EXECUTABLE:
result = new AnnotatedExecutableType((ExecutableType) type, atypeFactory);
break;
case VOID:
case PACKAGE:
case NONE:
result = new AnnotatedNoType((NoType) type, atypeFactory);
break;
case NULL:
result = new AnnotatedNullType((NullType) type, atypeFactory);
break;
case TYPEVAR:
result = new AnnotatedTypeVariable((TypeVariable) type, atypeFactory);
break;
case WILDCARD:
result = new AnnotatedWildcardType((WildcardType) type, atypeFactory);
break;
case INTERSECTION:
result = new AnnotatedIntersectionType((IntersectionType) type, atypeFactory);
break;
case UNION:
result = new AnnotatedUnionType((UnionType) type, atypeFactory);
break;
default:
if (type.getKind().isPrimitive()) {
result = new AnnotatedPrimitiveType((PrimitiveType) type, atypeFactory);
break;
}
ErrorReporter.errorAbort("AnnotatedTypeMirror.createType: unidentified type " +
type + " (" + type.getKind() + ")");
return null; // dead code
}
/*if (jctype.isAnnotated()) {
result.addAnnotations(jctype.getAnnotationMirrors());
}*/
return result;
}
项目:buck
文件:TypeScanner8.java
@Override
@Nullable
public R visitIntersection(IntersectionType t, P p) {
return scan(t.getBounds(), p);
}
项目:OpenJSharp
文件:SimpleTypeVisitor8.java
/**
* This implementation visits an {@code IntersectionType} by calling
* {@code defaultAction}.
*
* @param t {@inheritDoc}
* @param p {@inheritDoc}
* @return the result of {@code defaultAction}
*/
@Override
public R visitIntersection(IntersectionType t, P p){
return defaultAction(t, p);
}
项目:openjdk-jdk10
文件:SimpleTypeVisitor8.java
/**
* This implementation visits an {@code IntersectionType} by calling
* {@code defaultAction}.
*
* @param t {@inheritDoc}
* @param p {@inheritDoc}
* @return the result of {@code defaultAction}
*/
@Override
public R visitIntersection(IntersectionType t, P p){
return defaultAction(t, p);
}
项目:openjdk9
文件:SimpleTypeVisitor8.java
/**
* This implementation visits an {@code IntersectionType} by calling
* {@code defaultAction}.
*
* @param t {@inheritDoc}
* @param p {@inheritDoc}
* @return the result of {@code defaultAction}
*/
@Override
public R visitIntersection(IntersectionType t, P p){
return defaultAction(t, p);
}
项目:Java8CN
文件:SimpleTypeVisitor8.java
/**
* This implementation visits an {@code IntersectionType} by calling
* {@code defaultAction}.
*
* @param t {@inheritDoc}
* @param p {@inheritDoc}
* @return the result of {@code defaultAction}
*/
@Override
public R visitIntersection(IntersectionType t, P p){
return defaultAction(t, p);
}
项目:lookaside_java-1.8.0-openjdk
文件:SimpleTypeVisitor8.java
/**
* This implementation visits an {@code IntersectionType} by calling
* {@code defaultAction}.
*
* @param t {@inheritDoc}
* @param p {@inheritDoc}
* @return the result of {@code defaultAction}
*/
@Override
public R visitIntersection(IntersectionType t, P p){
return defaultAction(t, p);
}
项目:preferencebinder
文件:SimpleTypeVisitor8.java
/**
* This implementation visits an {@code IntersectionType} by calling
* {@code defaultAction}.
*
* @param t {@inheritDoc}
* @param p {@inheritDoc}
* @return the result of {@code defaultAction}
*/
@Override
public R visitIntersection(IntersectionType t, P p){
return defaultAction(t, p);
}
项目:jsr308-langtools
文件:SimpleTypeVisitor8.java
/**
* This implementation visits an {@code IntersectionType} by calling
* {@code defaultAction}.
*
* @param t {@inheritDoc}
* @param p {@inheritDoc}
* @return the result of {@code defaultAction}
*/
@Override
public R visitIntersection(IntersectionType t, P p){
return defaultAction(t, p);
}
项目:infobip-open-jdk-8
文件:SimpleTypeVisitor8.java
/**
* This implementation visits an {@code IntersectionType} by calling
* {@code defaultAction}.
*
* @param t {@inheritDoc}
* @param p {@inheritDoc}
* @return the result of {@code defaultAction}
*/
@Override
public R visitIntersection(IntersectionType t, P p){
return defaultAction(t, p);
}
项目:OLD-OpenJDK8
文件:SimpleTypeVisitor8.java
/**
* This implementation visits an {@code IntersectionType} by calling
* {@code defaultAction}.
*
* @param t {@inheritDoc}
* @param p {@inheritDoc}
* @return the result of {@code defaultAction}
*/
@Override
public R visitIntersection(IntersectionType t, P p){
return defaultAction(t, p);
}