private String getParamTypeNoCardinality(ImportTypeTable typeTable, TypeModel type) { if (type.isMessage()) { return "Object"; } else if (type.isEnum()) { return "number"; } else { return typeTable.getFullNameForElementType(type); } }
switch (lineType) { case StructureInitLine: if (!typeRef.isMessage() || typeRef.isRepeated()) { throw new IllegalArgumentException( "typeRef " + typeRef + " not compatible with " + lineType);
private String getParamTypeNameForElementType(TypeModel type) { String typeName = getTypeFormatter().getFullNameForElementType(type); if (type.isMessage() || type.isEnum()) { typeName = PythonDocstringUtil.napoleonType(typeName, getVersionedDirectoryNamespace()); } if (type.isMessage()) { return "Union[dict, " + typeName + "]"; } if (type.isEnum()) { return typeName; } return typeName; }
private static FieldConfig getChildFieldConfig( Map<String, FieldConfig> fieldConfigMap, FieldConfig parentFieldConfig, TypeModel parentType, String key) { if (parentType.isMap()) { return parentFieldConfig; } else if (parentType.isRepeated()) { return parentFieldConfig; } else if (parentType.isMessage()) { FieldModel childField = parentType.getField(key); if (childField == null) { throw new IllegalArgumentException( "Message type " + parentType + " does not have field " + key); } FieldConfig fieldConfig = fieldConfigMap.get(childField.getFullName()); if (fieldConfig == null) { fieldConfig = FieldConfig.createDefaultFieldConfig(childField); } return fieldConfig; } else { throw new IllegalArgumentException( "Primitive type " + parentType + " cannot have children. Child key: " + key); } }
private static TypeModel getChildType(TypeModel parentType, String key) { if (parentType.isMap()) { return parentType.getMapValueType(); } else if (parentType.isRepeated()) { // Using the Optional cardinality replaces the Repeated cardinality return parentType.makeOptional(); } else if (parentType.isMessage()) { FieldModel childField = parentType.getField(key); if (childField == null) { throw new IllegalArgumentException( "Message type " + parentType + " does not have field " + key); } return childField.getType(); } else { throw new IllegalArgumentException( "Primitive type " + parentType + " cannot have children. Child key: " + key); } }
private String getResponseTypeNameForElementType(TypeModel type) { if (type.isMessage()) { String typeName = getTypeFormatter().getFullNameForElementType(type); return PythonDocstringUtil.napoleonType(typeName, getVersionedDirectoryNamespace()); } return getParamTypeNameForElementType(type); }
boolean isMessageField = field.isMessage() && !field.isMap(); boolean isMapContainingMessage = field.isMap() && field.getType().getMapValueType().isMessage(); if (isMessageField || isMapContainingMessage) { String messageType;
@Test public void testAccessorNewVariableWithAccessors() { Scanner scanner = new Scanner("old_var.property"); when(namer.localVarName(Name.from("old_var"))).thenReturn("oldVar"); TypeModel oldVarTypeModel = mock(TypeModel.class); assertThat(parent.put("old_var", oldVarTypeModel, "OldVarType")).isTrue(); when(oldVarTypeModel.isMessage()).thenReturn(true); when(oldVarTypeModel.isRepeated()).thenReturn(false); when(oldVarTypeModel.isMap()).thenReturn(false); FieldModel propertyFieldModel = mock(FieldModel.class); when(oldVarTypeModel.getField("property")).thenReturn(propertyFieldModel); TypeModel propertyTypeModel = mock(TypeModel.class); when(namer.getFieldGetFunctionName(propertyFieldModel)).thenReturn("getProperty"); when(namer.getAndSaveTypeName(typeTable, propertyTypeModel)).thenReturn("PropertyTypeName"); when(propertyFieldModel.getType()).thenReturn(propertyTypeModel); OutputView.VariableView variableView = accessorNewVariable(scanner, context, valueSet, parent, "newVar", false); assertThat(variableView.variable()).isEqualTo("oldVar"); assertThat(variableView.accessors()) .containsExactly(AccessorView.FieldView.newBuilder().field("getProperty").build()) .inOrder(); assertThat(parent.getTypeName("newVar")).isEqualTo("PropertyTypeName"); assertThat(parent.getTypeModel("newVar")).isEqualTo(propertyTypeModel); }
@Test public void testAccessorNewVariableWithIndex() { Scanner scanner = new Scanner("old_var.property[0]"); when(namer.localVarName(Name.from("old_var"))).thenReturn("oldVar"); TypeModel oldVarTypeModel = mock(TypeModel.class); assertThat(parent.put("old_var", oldVarTypeModel, "OldVarType")).isTrue(); when(oldVarTypeModel.isMessage()).thenReturn(true); when(oldVarTypeModel.isRepeated()).thenReturn(false); when(oldVarTypeModel.isMap()).thenReturn(false); FieldModel propertyFieldModel = mock(FieldModel.class); when(oldVarTypeModel.getField("property")).thenReturn(propertyFieldModel); TypeModel propertyTypeModel = mock(TypeModel.class); when(namer.getFieldGetFunctionName(propertyFieldModel)).thenReturn("getProperty"); when(propertyTypeModel.isRepeated()).thenReturn(true); TypeModel optionalPropertyTypeModel = mock(TypeModel.class); when(propertyTypeModel.makeOptional()).thenReturn(optionalPropertyTypeModel); when(namer.getAndSaveTypeName(typeTable, optionalPropertyTypeModel)) .thenReturn("OptionalPropertyTypeName"); when(propertyFieldModel.getType()).thenReturn(propertyTypeModel); OutputView.VariableView variableView = accessorNewVariable(scanner, context, valueSet, parent, "newVar", false); assertThat(variableView.variable()).isEqualTo("oldVar"); assertThat(variableView.accessors()) .containsExactly( AccessorView.FieldView.newBuilder().field("getProperty").build(), AccessorView.IndexView.newBuilder().index("0").build()) .inOrder(); assertThat(parent.getTypeName("newVar")).isEqualTo("OptionalPropertyTypeName"); assertThat(parent.getTypeModel("newVar")).isEqualTo(optionalPropertyTypeModel); }
boolean isMessageField = field.isMessage() && !field.isMap(); boolean isMapContainingMessage = field.isMap() && field.getType().getMapValueType().isMessage(); if (isMessageField || isMapContainingMessage) { String messageType;
getChildSuggestedName(suggestedName, lineType, child), getChildFieldConfig(context.fieldConfigMap(), fieldConfig, type, child.key)); if (type.isMessage()) { child.oneofConfig = type.getOneOfConfig(child.getKey());
@Override public String getParamTypeName(ImportTypeTable typeTable, TypeModel type) { if (type.isMap()) { String keyTypeName = typeTable.getFullNameForElementType(type.getMapKeyType()); String valueTypeName = typeTable.getFullNameForElementType(type.getMapValueType()); if (type.getMapValueType().isMessage()) { valueTypeName += " | Hash"; } return new TypeName( typeTable.getFullNameFor(type), typeTable.getNicknameFor(type), "%s{%i => %i}", new TypeName(keyTypeName), new TypeName(valueTypeName)) .getFullName(); } String elementTypeName = typeTable.getFullNameForElementType(type); if (type.isMessage()) { elementTypeName += " | Hash"; } if (type.isRepeated()) { return new TypeName( typeTable.getFullNameFor(type), typeTable.getNicknameFor(type), "%s<%i>", new TypeName(elementTypeName)) .getFullName(); } return elementTypeName; }
valueSet.getId()); Preconditions.checkArgument( type.isMessage(), "%s:%s: %s is not a message", context.getMethodModel().getSimpleName(),
if (fieldType.isMessage()) { messageTypeName = methodContext.getTypeTable().getFullNameForMessageType(fieldType);