javax.lang.model.element.TypeParameterElement.getSimpleName()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(10.9k)|赞(0)|评价(0)|浏览(82)

本文整理了Java中javax.lang.model.element.TypeParameterElement.getSimpleName()方法的一些代码示例,展示了TypeParameterElement.getSimpleName()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TypeParameterElement.getSimpleName()方法的具体详情如下:
包路径:javax.lang.model.element.TypeParameterElement
类名称:TypeParameterElement
方法名:getSimpleName

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());
}

相关文章