public TypeParameterInfoMap typeParameterInfoMap() { return typeInfo().typeParameterInfoMap(); }
WayIterable<TypeParameterInfo> getTypeParameterInfoIterable() { return WayIterables.from(typeParameterInfoMap()); }
public String getRawName() { StringBuilder name = new StringBuilder(); String simpleName = getSimpleName(); name.append(simpleName); name.append(typeParameterInfoMap().toStringRaw()); return name.toString(); }
public String getUnboundedName() { StringBuilder name = new StringBuilder(); String simpleName = getSimpleName(); name.append(simpleName); name.append(typeParameterInfoMap().toStringUnbound()); return name.toString(); }
private Optional<RoundElement> wrap(ProcessingEnvironmentWrapper wrapper, ExecutableElement element) { Optional<RoundElement> res = Optional.empty(); Element enclosingElement = element.getEnclosingElement(); if (Apt.isType(enclosingElement)) { TypeInfo typeInfo = TypeInfoTypeElement.wrap(wrapper, (TypeElement) enclosingElement); TypeParameterInfoMap typeParameterInfoMap = typeInfo.typeParameterInfoMap(); MethodInfo methodInfo; methodInfo = MethodInfoExecutableElement.wrap(wrapper, element, typeParameterInfoMap); RoundElement round = new RoundElement(typeInfo, methodInfo); res = Optional.of(round); } return res; }
@Override List<CodeCanvasArtifact> applyTo(ExecutableElement element) { List<CodeCanvasArtifact> res = ImmutableList.of(); Element enclosingElement = element.getEnclosingElement(); if (Apt.isType(enclosingElement)) { TypeInfo typeInfo = TypeInfoTypeElement.wrap(processingEnvironmentWrapper, (TypeElement) enclosingElement); TypeParameterInfoMap typeParameterInfoMap = typeInfo.typeParameterInfoMap(); MethodInfo methodInfo; methodInfo = MethodInfoExecutableElement.wrap(processingEnvironmentWrapper, element, typeParameterInfoMap); res = toArtifactList(typeInfo, methodInfo); } return res; } }
@Override default Artifact generateArtifact(ProcessingEnvironmentWrapper processingEnv, Element element) { Artifact artifact = Artifact.empty(); Element enclosingElement = element.getEnclosingElement(); if (Apt.isType(enclosingElement)) { TypeInfo typeInfo = TypeInfoTypeElement.wrap(processingEnv, (TypeElement) enclosingElement); TypeParameterInfoMap typeParameterInfoMap = typeInfo.typeParameterInfoMap(); MethodInfo methodInfo; methodInfo = MethodInfoExecutableElement.wrap(processingEnv, (ExecutableElement) element, typeParameterInfoMap); artifact = generate(typeInfo, methodInfo); } return artifact; }
public SimpleTypeInfo toSimpleTypeInfo() { return SimpleTypeInfo.newType() .packageInfo(Optional.fromNullable(packageInfo())) .nameInfo(nameInfo()) .typeParameterInfoList(typeParameterInfoMap().list()) .build(); }
public ToMustacheHelper toMustacheHelper() { return Mustaches.toMustacheHelper() .add("access", accessInfo()) .add("package", packageInfo()) .add("name", name()) .add("simpleName", getSimpleName()) .add("rawName", getRawName()) .add("unboundName", getUnboundedName()) .add("varName", getVarName()) .add("typeParameters", typeParameterInfoMap()) .add("methods", methodInfoMap().list()); }
@Override public boolean isEqual(TypeInfo that) { return Testables.isEqualHelper() .equal(accessInfo(), that.accessInfo()) .equal(kind(), that.kind()) .equal(packageInfo(), that.packageInfo()) .equal(name(), that.name()) .equal(typeParameterInfoMap(), that.typeParameterInfoMap()) .equal(annotationInfoMap(), that.annotationInfoMap()) .equal(enclosingTypeInfo(), that.enclosingTypeInfo()) .equal(superTypeInfo(), that.superTypeInfo()) .equal(interfaceInfoMap(), that.interfaceInfoMap()) .equal(constructorInfoMap(), that.constructorInfoMap()) .equal(methodInfoMap(), that.methodInfoMap()) .equal(declaredTypeInfoMap(), that.declaredTypeInfoMap()) .result(); }