public static MethodSpec parse()

in dataenum-processor/src/main/java/com/spotify/dataenum/processor/parser/MethodParser.java [39:57]


  public static MethodSpec parse(ExecutableElement el, Trees trees) {
    // filter off DEFAULT modifier
    Function<Stream<Modifier>, Stream<Modifier>> adjustModifiers =
        mods -> mods.filter(x -> x != Modifier.DEFAULT);
    // populate STATIC modifier if required
    if (el.getAnnotation(Static.class) != null) {
      adjustModifiers =
          adjustModifiers.andThen(mods -> Stream.concat(Stream.of(Modifier.STATIC), mods));
    }

    // make sure internal @Static annotation doesn't sneak out
    Function<Stream<? extends AnnotationMirror>, Stream<? extends AnnotationMirror>>
        adjustAnnotations =
            annos -> annos.filter(x -> !"@com.spotify.dataenum.Static".equals(x.toString()));

    return MethodMethods.builderFrom(el, adjustModifiers, adjustAnnotations)
        .addCode(MethodMethods.codeBlockFrom(el, trees))
        .build();
  }