@Override public TypedValue getEnumValue(TypeRef type, EnumValue value) { return TypedValue.create(getTypeName(type), String.format("'%s'", value.getSimpleName())); } }
@Override public TypedValue getEnumValue(TypeRef type, EnumValue value) { return TypedValue.create(getTypeName(type), "%s::" + value.getSimpleName()); } }
@Override public TypedValue getEnumValue(TypeRef type, EnumValue value) { TypeName enumTypeName = getTypeName(type); List<String> enumTypeNameParts = Splitter.on('+').splitToList(enumTypeName.getNickname()); String enumShortTypeName = enumTypeNameParts.get(enumTypeNameParts.size() - 1); String enumValueName = enumNamer.getEnumValueName(enumShortTypeName, value.getSimpleName()); return TypedValue.create(enumTypeName, "%s." + enumValueName); } }
@Override public TypedValue getEnumValue(TypeRef type, EnumValue value) { return TypedValue.create(getTypeName(type), ":" + value.getSimpleName()); } }
@Override public TypedValue getEnumValue(TypeRef type, EnumValue value) { return TypedValue.create(getTypeName(type), "%s." + value.getSimpleName()); }
@Override public TypedValue getEnumValue(FieldModel type, EnumValue value) { return TypedValue.create(getTypeName(type), "%s." + value.getSimpleName()); }
@Override public TypedValue getEnumValue(TypeRef type, EnumValue value) { return TypedValue.create(getTypeName(type), "%s." + value.getSimpleName()); }
/** Returns the enum value string */ public String getEnumValue(TypeRef type, String value) { for (EnumValue enumValue : type.getEnumType().getValues()) { if (enumValue.getSimpleName().equals(value)) { return typeNameConverter .getEnumValue(type, enumValue) .getValueAndSaveTypeNicknameIn(typeTable); } } throw new IllegalArgumentException("Unrecognized enum value: " + value); }
private List<GrpcEnumValueDocView> generateEnumValueDocs( SurfaceNamer namer, Collection<EnumValue> values) { ImmutableList.Builder<GrpcEnumValueDocView> valueDocs = ImmutableList.builder(); for (EnumValue value : values) { GrpcEnumValueDocView.Builder doc = GrpcEnumValueDocView.newBuilder(); doc.name(value.getSimpleName()); doc.number(value.getNumber()); doc.lines(namer.getDocLines(GapicParser.getDocString(value))); valueDocs.add(doc.build()); } return valueDocs.build(); } }
case TYPE_ENUM: for (EnumValue enumValue : getProtoType().getEnumType().getValues()) { if (enumValue.getSimpleName().equals(value)) { return;
@VisitsBefore void visit(EnumType enumType) { // Add the enum type to the set of known types. addType(enumType.getLocation(), enumType.getFullName(), TypeRef.of(enumType)); // Build the field-by-name map for this enum type. Map<String, EnumValue> valueByName = Maps.newLinkedHashMap(); for (EnumValue value : enumType.getValues()) { EnumValue old = valueByName.put(value.getSimpleName(), value); if (old != null) { model .getDiagReporter() .report( Diag.error( value.getLocation(), "Duplicate declaration of enum value '%s'. Previous location: %s", value.getSimpleName(), old.getLocation().getDisplayString())); } } enumType.setValueByNameMap(ImmutableMap.copyOf(valueByName)); }
@VisitsBefore void visit(EnumType enumType) { // Add the enum type to the set of known types. addType(enumType.getLocation(), enumType.getFullName(), TypeRef.of(enumType)); // Build the field-by-name map for this enum type. Map<String, EnumValue> valueByName = Maps.newLinkedHashMap(); for (EnumValue value : enumType.getValues()) { EnumValue old = valueByName.put(value.getSimpleName(), value); if (old != null) { model .getDiagReporter() .report( Diag.error( value.getLocation(), "Duplicate declaration of enum value '%s'. Previous location: %s", value.getSimpleName(), old.getLocation().getDisplayString())); } } enumType.setValueByNameMap(ImmutableMap.copyOf(valueByName)); }
@Override public TypedValue getEnumValue(TypeRef type, EnumValue value) { // Go names enums in two different ways. // If the enum is nested in a message, the format is <message type>_<enum value>, // respecting the C++ scoping rule used by protobuf, // where enum values are scoped at the same level as the enum type, not as its children. // On the other hand, if the enum is at top-level, there is no parent message, // and the format is <enum type>_<enum value> ProtoElement parent = type.getEnumType().getParent(); if (parent instanceof ProtoFile) { parent = type.getEnumType(); } return TypedValue.create(getTypeName(parent, false), "%s_" + value.getSimpleName()); } }
/** * Returns a proto representation that includes visible values only. Enum options and * source location are omitted since visibility isn't applicable for them. */ public com.google.protobuf.Enum getVisibleProto() { com.google.protobuf.Enum.Builder scopedEnum = com.google.protobuf.Enum.newBuilder() .setName(getFullName()); for (EnumValue value : values) { if (value.isReachable()) { scopedEnum.addEnumvalue(com.google.protobuf.EnumValue.newBuilder() .setName(value.getSimpleName()) .setNumber(value.getNumber())); } } return scopedEnum.build(); }
/** * Returns a proto representation that includes visible values only. Enum options and * source location are omitted since visibility isn't applicable for them. */ public com.google.protobuf.Enum getVisibleProto() { com.google.protobuf.Enum.Builder scopedEnum = com.google.protobuf.Enum.newBuilder() .setName(getFullName()); for (EnumValue value : values) { if (value.isReachable()) { scopedEnum.addEnumvalue(com.google.protobuf.EnumValue.newBuilder() .setName(value.getSimpleName()) .setNumber(value.getNumber())); } } return scopedEnum.build(); }
@VisitsBefore void normalize(EnumType enumType) { Enum.Builder coreEnumBuilder = Enum.newBuilder().setName(enumType.getFullName()); coreEnumBuilder.setSourceContext( SourceContext.newBuilder() .setFileName(enumType.getFile().getLocation().getDisplayString())); coreEnumBuilder.setSyntax(enumType.getSyntax()); for (EnumValue value : enumType.getReachableValues()) { com.google.protobuf.EnumValue.Builder coreEnumValueBuilder = com.google.protobuf.EnumValue.newBuilder(); // Use simple name for enum value, as otherwise client has to use // fully qualified name in the request. coreEnumValueBuilder.setName(value.getSimpleName()).setNumber(value.getNumber()); coreEnumValueBuilder.addAllOptions( DescriptorNormalization.getOptions(value.getProto(), includeDefaults)); coreEnumBuilder.addEnumvalue(coreEnumValueBuilder.build()); } coreEnumBuilder.addAllOptions( DescriptorNormalization.getOptions(enumType.getProto(), includeDefaults)); enums.add(coreEnumBuilder.build()); }
@VisitsBefore void normalize(EnumType enumType) { Enum.Builder coreEnumBuilder = Enum.newBuilder().setName(enumType.getFullName()); coreEnumBuilder.setSourceContext( SourceContext.newBuilder() .setFileName(enumType.getFile().getLocation().getDisplayString())); coreEnumBuilder.setSyntax(enumType.getSyntax()); for (EnumValue value : enumType.getReachableValues()) { com.google.protobuf.EnumValue.Builder coreEnumValueBuilder = com.google.protobuf.EnumValue.newBuilder(); // Use simple name for enum value, as otherwise client has to use // fully qualified name in the request. coreEnumValueBuilder.setName(value.getSimpleName()).setNumber(value.getNumber()); coreEnumValueBuilder.addAllOptions( DescriptorNormalization.getOptions(value.getProto(), includeDefaults)); coreEnumBuilder.addEnumvalue(coreEnumValueBuilder.build()); } coreEnumBuilder.addAllOptions( DescriptorNormalization.getOptions(enumType.getProto(), includeDefaults)); enums.add(coreEnumBuilder.build()); }