本文整理了Java中javax.lang.model.element.TypeParameterElement.getSimpleName()
方法的一些代码示例,展示了TypeParameterElement.getSimpleName()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TypeParameterElement.getSimpleName()
方法的具体详情如下:
包路径:javax.lang.model.element.TypeParameterElement
类名称:TypeParameterElement
方法名:getSimpleName
暂无
代码示例来源:origin: immutables/immutables
private static String[] collectVars(List<? extends TypeParameterElement> typeParameters) {
String[] vars = new String[typeParameters.size()];
int c = 0;
for (TypeParameterElement p : typeParameters) {
vars[c++] = p.getSimpleName().toString();
}
return vars;
}
代码示例来源:origin: google/error-prone
private static int findTypeArgInList(Parameterizable hasTypeParams, String typeArgName) {
List<? extends TypeParameterElement> typeParameters = hasTypeParams.getTypeParameters();
for (int i = 0; i < typeParameters.size(); i++) {
if (typeParameters.get(i).getSimpleName().contentEquals(typeArgName)) {
return i;
}
}
return -1;
}
}
代码示例来源:origin: square/javapoet
/** Returns type variable equivalent to {@code element}. */
public static TypeVariableName get(TypeParameterElement element) {
String name = element.getSimpleName().toString();
List<? extends TypeMirror> boundsMirrors = element.getBounds();
List<TypeName> boundsTypeNames = new ArrayList<>();
for (TypeMirror typeMirror : boundsMirrors) {
boundsTypeNames.add(TypeName.get(typeMirror));
}
return TypeVariableName.of(name, boundsTypeNames);
}
代码示例来源:origin: immutables/immutables
private List<String> getTypeParameterNames(Parameterizable element) {
List<String> names = new ArrayList<>();
for (TypeParameterElement p : element.getTypeParameters()) {
names.add(p.getSimpleName().toString());
}
return names;
}
代码示例来源:origin: facebook/litho
static List<TypeVariableName> getTypeVariables(ExecutableElement method) {
final List<TypeVariableName> typeVariables = new ArrayList<>();
for (TypeParameterElement typeParameterElement : method.getTypeParameters()) {
typeVariables.add(
TypeVariableName.get(
typeParameterElement.getSimpleName().toString(),
getBounds(typeParameterElement)));
}
return typeVariables;
}
代码示例来源:origin: immutables/immutables
TypevarContext(TypeElement element, String renderedTypeString) {
List<? extends TypeParameterElement> typeParameters = element.getTypeParameters();
if (!typeParameters.isEmpty()) {
this.arguments = SourceTypes.extract(renderedTypeString).getValue();
this.parameters = Lists.newArrayList();
for (TypeParameterElement p : typeParameters) {
parameters.add(p.getSimpleName().toString());
}
// we allow having no arguments in a string as raw type/unspecified argument scenario
Verify.verify(arguments.isEmpty() || (parameters.size() == arguments.size()), parameters + " =/> " + arguments);
} else {
this.parameters = Collections.emptyList();
this.arguments = Collections.emptyList();
}
}
}
代码示例来源:origin: square/javapoet
/**
* Make a TypeVariableName for the given TypeMirror. This form is used internally to avoid
* infinite recursion in cases like {@code Enum<E extends Enum<E>>}. When we encounter such a
* thing, we will make a TypeVariableName without bounds and add that to the {@code typeVariables}
* map before looking up the bounds. Then if we encounter this TypeVariable again while
* constructing the bounds, we can just return it from the map. And, the code that put the entry
* in {@code variables} will make sure that the bounds are filled in before returning.
*/
static TypeVariableName get(
TypeVariable mirror, Map<TypeParameterElement, TypeVariableName> typeVariables) {
TypeParameterElement element = (TypeParameterElement) mirror.asElement();
TypeVariableName typeVariableName = typeVariables.get(element);
if (typeVariableName == null) {
// Since the bounds field is public, we need to make it an unmodifiableList. But we control
// the List that that wraps, which means we can change it before returning.
List<TypeName> bounds = new ArrayList<>();
List<TypeName> visibleBounds = Collections.unmodifiableList(bounds);
typeVariableName = new TypeVariableName(element.getSimpleName().toString(), visibleBounds);
typeVariables.put(element, typeVariableName);
for (TypeMirror typeMirror : element.getBounds()) {
bounds.add(TypeName.get(typeMirror, typeVariables));
}
bounds.remove(OBJECT);
}
return typeVariableName;
}
代码示例来源:origin: facebook/litho
/**
* Get the type variables from the given {@link TypeElement}.
*/
public static List<TypeVariableName> getTypeVariables(TypeElement typeElement) {
final List<? extends TypeParameterElement> typeParameters = typeElement.getTypeParameters();
final int typeParameterCount = typeParameters.size();
final List<TypeVariableName> typeVariables = new ArrayList<>(typeParameterCount);
for (TypeParameterElement typeParameterElement : typeParameters) {
final int boundTypesCount = typeParameterElement.getBounds().size();
final TypeName[] boundsTypeNames = new TypeName[boundTypesCount];
for (int i = 0; i < boundTypesCount; i++) {
boundsTypeNames[i] = TypeName.get(typeParameterElement.getBounds().get(i));
}
final TypeVariableName typeVariable =
TypeVariableName.get(typeParameterElement.getSimpleName().toString(), boundsTypeNames);
typeVariables.add(typeVariable);
}
return typeVariables;
}
}
代码示例来源:origin: androidannotations/androidannotations
public void generify(IJGenerifiable generifiable, TypeElement fromTypeParameters) {
for (TypeParameterElement param : fromTypeParameters.getTypeParameters()) {
List<AbstractJClass> bounds = typeBoundsToJClass(param.getBounds());
addTypeBounds(generifiable, bounds, param.getSimpleName().toString());
}
}
代码示例来源:origin: immutables/immutables
private Type.Parameters initParameters(Parameterizable context) {
Type.Parameters parameters = factory.parameters();
for (TypeParameterElement p : context.getTypeParameters()) {
String name = p.getSimpleName().toString();
// <T extends Cls<T>>: when parsing bounds for T, T should be already defined for recursion
Type.Parameters parameterForRecursion = parameters.recursive(name);
List<Type.Defined> bounds = getBounds(parameterForRecursion, p);
parameters = parameters.introduce(name, bounds);
}
return parameters;
}
代码示例来源:origin: google/error-prone
.filter(
typeParam ->
typeParam.getSimpleName().equals(typeVar.asElement().getSimpleName()))
.findFirst()
代码示例来源:origin: bluelinelabs/LoganSquare
final String typeName = typeParameterElement.getSimpleName().toString();
final String typeArgumentName = typeName + "Type";
final String jsonMapperVariableName = getJsonMapperVariableNameForTypeParameter(typeName);
代码示例来源:origin: bumptech/glide
for (TypeParameterElement typeParameterElement : typeParameters) {
methodSpecBuilder.addTypeVariable(
TypeVariableName.get(typeParameterElement.getSimpleName().toString()));
代码示例来源:origin: immutables/immutables
private TypeExtractor processTypeParameters(ExecutableElement method, EncodedElement.Builder builder) {
boolean isStatic = method.getModifiers().contains(Modifier.STATIC);
TypeExtractor typesReader = isStatic
? new TypeExtractor(types, method)
: this.typesReader;
for (TypeParameterElement p : method.getTypeParameters()) {
String name = p.getSimpleName().toString();
ImmutableList<Defined> bounds = typesReader.getDefined(p.getBounds());
if (!isStatic) {
typesReader = typesReader.withParameter(name, bounds);
}
builder.addTypeParams(new EncodedElement.TypeParam.Builder()
.name(name)
.addAllBounds(bounds)
.build());
}
builder.typeParameters(typesReader.parameters);
return typesReader;
}
代码示例来源:origin: bumptech/glide
for (TypeParameterElement typeParameterElement : typeParameters) {
methodSpecBuilder.addTypeVariable(
TypeVariableName.get(typeParameterElement.getSimpleName().toString()));
代码示例来源:origin: inferred/FreeBuilder
private static void addDeclarationParameters(
SourceBuilder source,
List<TypeParameterElement> typeParameters) {
if (!typeParameters.isEmpty()) {
String prefix = "<";
for (TypeParameterElement typeParameter : typeParameters) {
source.add("%s%s", prefix, typeParameter.getSimpleName());
if (!extendsObject(typeParameter)) {
String separator = " extends ";
for (TypeMirror bound : typeParameter.getBounds()) {
source.add("%s%s", separator, bound);
separator = " & ";
}
}
prefix = ", ";
}
source.add(">");
}
}
代码示例来源:origin: inferred/FreeBuilder
@Test
public void testBoundedGenericElement() {
Consumer<TypeElement> test = foobar -> {
assertThat(foobar.getSimpleName().toString()).isEqualTo("FooBar");
assertThat(foobar.getTypeParameters()).hasSize(2);
assertThat(foobar.getTypeParameters().get(0).getSimpleName().toString()).isEqualTo("T");
assertThat(foobar.getTypeParameters().get(0).toString()).isEqualTo("T");
assertThat(foobar.getTypeParameters().get(1).getSimpleName().toString()).isEqualTo("C");
assertThat(foobar.getTypeParameters().get(1).toString()).isEqualTo("C");
};
TypeElement realFoobar =
model.newType("package org.example; interface FooBar<T extends Number, C> { }");
GenericElement fakeFoobar = new GenericElement.Builder(FOO_BAR_NAME)
.addTypeParameter("T", newTopLevelClass("java.lang.Number"))
.addTypeParameter("C")
.build();
test.accept(realFoobar);
test.accept(fakeFoobar);
}
代码示例来源:origin: inferred/FreeBuilder
@Test
public void testGenericMirror_withSelfReference() {
Consumer<DeclaredType> test = foobar -> {
// FooBar<E extends FooBar<E>>
TypeElement foobarElement = maybeAsTypeElement(foobar).get();
assertThat(foobarElement.getSimpleName().toString()).isEqualTo("FooBar");
assertThat(foobar.getTypeArguments()).hasSize(1);
assertThat(SourceBuilder.forTesting().add("%s", foobar).toString())
.isEqualTo("FooBar<E>");
// E extends FooBar<E>
TypeParameterElement typeParameter = foobarElement.getTypeParameters().get(0);
assertThat(typeParameter.getSimpleName().toString()).isEqualTo("E");
assertThat(typeParameter.getBounds()).hasSize(1);
// FooBar<E>
DeclaredType bound = maybeDeclared(typeParameter.getBounds().get(0)).get();
assertThat(bound.asElement().getSimpleName().toString()).isEqualTo("FooBar");
assertThat(bound.getTypeArguments()).hasSize(1);
// E
TypeVariable typeArgument = maybeVariable(bound.getTypeArguments().get(0)).get();
assertThat(typeArgument.asElement()).isEqualTo(typeParameter);
};
DeclaredType realFoobar = (DeclaredType) model
.newType("package org.example; interface FooBar<E extends FooBar<E>> { }").asType();
GenericElement.Builder fakeFoobarBuilder = new GenericElement.Builder(FOO_BAR_NAME);
fakeFoobarBuilder.getTypeParameter("E").addBound(fakeFoobarBuilder.asType());
GenericMirror fakeFoobar = fakeFoobarBuilder.build().asType();
test.accept(realFoobar);
test.accept(fakeFoobar);
}
}
代码示例来源:origin: ngs-doo/dsl-json
private List<String> extractParametersNames(final List<? extends TypeParameterElement> typeParameters) {
if (typeParameters.isEmpty()) return Collections.emptyList();
List<String> names = new ArrayList<String>(typeParameters.size());
for (TypeParameterElement typeParameter : typeParameters) {
names.add(typeParameter.getSimpleName().toString());
}
return names;
}
代码示例来源:origin: io.vertx/vertx-codegen
public TypeVariableInfo create(TypeUse use, TypeVariable type) {
TypeParameterElement elt = (TypeParameterElement) type.asElement();
TypeParamInfo param = TypeParamInfo.create(elt);
return new TypeVariableInfo(param, use != null && use.isNullable(), elt.getSimpleName().toString());
}
内容来源于网络,如有侵权,请联系作者删除!