public MethodSpec createAsMethod()

in dataenum-processor/src/main/java/com/spotify/dataenum/processor/generator/value/ValueMethods.java [114:127]


  public MethodSpec createAsMethod(OutputSpec spec) {
    Builder builder =
        MethodSpec.methodBuilder("as" + value.name())
            .addModifiers(Modifier.PUBLIC, Modifier.FINAL)
            .returns(value.parameterizedOutputClass())
            .addStatement("return ($T) this", value.parameterizedOutputClass());

    if (!ValueTypeFactory.extractMissingTypeVariablesForValue(value, spec).isEmpty()
        && value.hasTypeVariables()) {
      builder.addAnnotation(ValueTypeFactory.SUPPRESS_UNCHECKED_WARNINGS);
    }

    return builder.build();
  }