@Override public String getComment() { return elements.getDocComment(method); } }
@Override public String getComment() { return elements.getDocComment(interfaceElement); }
@Override public String getComment() { return elements.getDocComment(loggerInterface); }
/** * Get the class javadoc from the given {@link TypeElement}. */ @Nullable public static String getClassJavadoc(Elements elements, TypeElement typeElement) { final String unsanitizedJavadoc = elements.getDocComment(typeElement); if (unsanitizedJavadoc == null || unsanitizedJavadoc.isEmpty()) { return null; } final String javadoc = JAVADOC_SANITIZER.matcher(unsanitizedJavadoc).replaceAll(""); final int firstPropJavadocIndex = javadoc.indexOf("@prop "); return firstPropJavadocIndex < 0 ? javadoc : javadoc.substring(0, firstPropJavadocIndex); }
private Iterable<String> docFrom(Element element) { @Nullable String docComment = processing().getElementUtils().getDocComment(element); return docComment == null ? ImmutableList.<String>of() : DOC_COMMENT_LINE_SPLITTER.split(docComment); }
@NonNull public Element fromBuilderDelegateMethod(@NonNull ExecutableElement method) { return new DelegateMethod(method.getSimpleName().toString(), TypeName.get(method.getReturnType()), getAnnotations(method).getLeft(), method.getParameters().stream().map(p -> ParameterSpec.builder(TypeName.get(p.asType()), p.getSimpleName().toString()).build()).collect(Collectors.toList()), method.getTypeParameters().stream().map(TypeVariableName::get).collect(Collectors.toList()), method.getModifiers(), elements.getDocComment(method)); }
@NonNull public Element fromConfigDelegateMethod(@NonNull ExecutableElement method) { return new DelegateMethod.Config(method.getSimpleName().toString(), TypeName.get(method.getReturnType()), getAnnotations(method).getLeft(), method.getParameters().stream().map(p -> ParameterSpec.builder(TypeName.get(p.asType()), p.getSimpleName().toString()).build()).collect(Collectors.toList()), method.getTypeParameters().stream().map(TypeVariableName::get).collect(Collectors.toList()), method.getModifiers(), elements.getDocComment(method)); }
@NonNull public Element fromAnnotationMethod(@NonNull ExecutableElement method) { final Pair<List<AnnotationSpec>, Set<ClassName>> annotations = getAnnotations(method); return new AnnotationField.Normal(method.getSimpleName().toString(), TypeName.get(method.getReturnType()), annotations.getLeft(), annotations.getRight(), method.getDefaultValue(), elements.getDocComment(method)); }
@NonNull public Element fromStringResourceAnnotationMethod(@NonNull ExecutableElement method) { final Pair<List<AnnotationSpec>, Set<ClassName>> annotations = getAnnotations(method); return new AnnotationField.StringResource(method.getSimpleName().toString(), annotations.getLeft(), annotations.getRight(), method.getDefaultValue(), elements.getDocComment(method)); }
public static ImmutableList<PropJavadocModel> getPropJavadocs( Elements elements, TypeElement typeElement) { final String unsanitizedJavadoc = elements.getDocComment(typeElement);
public void createEditorFieldMethods(ExecutableElement method, IJExpression keyExpression) { String returnType = method.getReturnType().toString(); EditorFieldHolder editorFieldHolder = EDITOR_FIELD_BY_TYPE.get(returnType); AbstractJClass editorFieldClass = getJClass(editorFieldHolder.fieldClass); String fieldName = method.getSimpleName().toString(); JMethod editorFieldMethod = editorClass.method(PUBLIC, editorFieldClass.narrow(editorClass), fieldName); String docComment = getProcessingEnvironment().getElementUtils().getDocComment(method); codeModelHelper.addTrimmedDocComment(editorFieldMethod, docComment); editorFieldMethod.body()._return(JExpr.invoke(editorFieldHolder.fieldMethodName).arg(keyExpression)); }
public ImmutableList<String> extractDocComment(Element element) { // Only extract for generated type which is public if (constitution.implementationVisibility().isPublic()) { @Nullable String docComment = constitution .protoclass() .processing() .getElementUtils() .getDocComment(CachingElements.getDelegate(element)); if (docComment != null) { return ImmutableList.copyOf(DOC_COMMENT_LINE_SPLITTER.split(docComment)); } } return ImmutableList.of(); }
@Before public void setup() { when(mElements.getDocComment(mTypeElement)).thenReturn( "Test javadoc\n" + "@prop testProp prop for testing"); }
@Before public void setUp() { MockitoAnnotations.initMocks(this); when(mElements.getDocComment(mTypeElement)).thenReturn(""); when(mTypeElement.getQualifiedName()).thenReturn(new MockName(TEST_QUALIFIED_SPEC_NAME)); when(mTypeElement.getAnnotation(LayoutSpec.class)).thenReturn(mLayoutSpec); }
BaseModelAttributeInfo(Element attribute, Types typeUtils, Elements elements, ErrorLogger errorLogger) { this.typeUtils = typeUtils; this.setFieldName(attribute.getSimpleName().toString()); setTypeMirror(attribute.asType()); setJavaDocString(elements.getDocComment(attribute)); classElement = (TypeElement) attribute.getEnclosingElement(); setModelName(classElement.getSimpleName().toString()); setPackageName(elements.getPackageOf(classElement).getQualifiedName().toString()); this.setHasSuperSetter(hasSuperMethod(classElement, attribute)); this.setHasFinalModifier(attribute.getModifiers().contains(FINAL)); this.setPackagePrivate(isFieldPackagePrivate(attribute)); EpoxyAttribute annotation = attribute.getAnnotation(EpoxyAttribute.class); Set<Option> options = new HashSet<>(Arrays.asList(annotation.value())); validateAnnotationOptions(errorLogger, annotation, options); //noinspection deprecation setUseInHash(annotation.hash() && !options.contains(Option.DoNotHash)); setIgnoreRequireHashCode(options.contains(Option.IgnoreRequireHashCode)); setDoNotUseInToString(options.contains(Option.DoNotUseInToString)); setGenerateSetter(annotation.setter() && !options.contains(Option.NoSetter)); setGenerateGetter(!options.contains(Option.NoGetter)); setPrivate(attribute.getModifiers().contains(PRIVATE)); if (isPrivate()) { findGetterAndSetterForPrivateField(errorLogger); } buildAnnotationLists(attribute.getAnnotationMirrors()); }
/** * Helper method that other plugins can use to copy javadocs from an Element */ public static void writeJavadocFromElement(PluginEnvironment pluginEnv, JavaFileWriter writer, Element element) throws IOException { if (!pluginEnv.hasSquidbOption(PluginEnvironment.OPTIONS_DISABLE_JAVADOC_COPYING)) { writer.writeJavadoc(pluginEnv.getUtils().getElements().getDocComment(element)); } } }
private void addActionToIntentBuilder(EIntentServiceHolder holder, ExecutableElement executableElement, String methodName, JFieldVar actionKeyField) { JMethod method = holder.getIntentBuilderClass().method(PUBLIC, holder.getIntentBuilderClass(), methodName); JBlock body = method.body(); String docComment = getProcessingEnvironment().getElementUtils().getDocComment(executableElement); codeModelHelper.addTrimmedDocComment(method, docComment); method.javadoc().addReturn().append("the IntentBuilder to chain calls"); // setAction body.invoke("action").arg(actionKeyField); for (VariableElement param : executableElement.getParameters()) { String paramName = param.getSimpleName().toString(); AbstractJClass parameterClass = codeModelHelper.typeMirrorToJClass(param.asType()); JFieldVar paramVar = getStaticExtraField(holder, paramName); JVar methodParam = method.param(parameterClass, paramName); JInvocation putExtraInvocation = holder.getIntentBuilder().getSuperPutExtraInvocation(param.asType(), methodParam, paramVar); body.add(putExtraInvocation); } body._return(JExpr._this()); }
private JMethod addPutExtraMethod(Element element, List<IntentExtra> intentExtras) { String docComment = elementUtils.getDocComment(element); JMethod method = holder.getIntentBuilderClass().method(PUBLIC, holder.getIntentBuilderClass(), element.getSimpleName().toString()); method.javadoc().addReturn().append("the IntentBuilder to chain calls"); codeModelHelper.addTrimmedDocComment(method, docComment); int paramCount = intentExtras.size(); for (int i = 0; i < paramCount; i++) { IntentExtra intentExtra = intentExtras.get(i); method.javadoc().addParam(intentExtra.parameterName).append("the value for this extra"); AbstractJClass parameterClass = codeModelHelper.typeMirrorToJClass(intentExtra.type); JVar extraParameterVar = method.param(parameterClass, intentExtra.parameterName); JInvocation superCall = getSuperPutExtraInvocation(intentExtra.type, extraParameterVar, intentExtra.keyField); if (i + 1 == paramCount) { method.body()._return(superCall); } else { method.body().add(superCall); } } return method; }
@Override public void beforeEmitClassDeclaration(JavaFileWriter writer) throws IOException { String generatedJavadoc = " This class was generated from the model spec at " + "{@link " + modelSpec.getModelSpecName() + "}"; String elementJavadoc = utils.getElements().getDocComment(modelSpec.getModelSpecElement()); if (!AptUtils.isEmpty(elementJavadoc)) { generatedJavadoc = (generatedJavadoc + "\n <br/>\n" + elementJavadoc); } writer.writeJavadoc(generatedJavadoc); writer.writeComment("Generated code -- do not modify!"); }
public void createBuilderInjectMethod(EFragmentHolder holder, Element element, List<ArgHelper> argHelpers) { JDefinedClass builderClass = holder.getBuilderClass(); JFieldRef builderArgsField = holder.getBuilderArgsField(); JMethod builderMethod = builderClass.method(PUBLIC, holder.narrow(builderClass), element.getSimpleName().toString()); String docComment = getProcessingEnvironment().getElementUtils().getDocComment(element); codeModelHelper.addTrimmedDocComment(builderMethod, docComment); for (ArgHelper argHelper : argHelpers) { String fieldName = argHelper.param.getSimpleName().toString(); TypeMirror actualType = codeModelHelper.getActualTypeOfEnclosingElementOfInjectedElement(holder, argHelper.param); BundleHelper bundleHelper = new BundleHelper(getEnvironment(), actualType); JFieldVar argKeyStaticField = getOrCreateStaticArgField(holder, argHelper.argKey, fieldName); AbstractJClass paramClass = codeModelHelper.typeMirrorToJClass(actualType); JVar arg = builderMethod.param(paramClass, fieldName); builderMethod.body().add(bundleHelper.getExpressionToSaveFromField(builderArgsField, argKeyStaticField, arg)); builderMethod.javadoc().addParam(fieldName).append("value for this Fragment argument"); } builderMethod.javadoc().addReturn().append("the FragmentBuilder to chain calls"); builderMethod.body()._return(_this()); }