static ImmutableList<Extend> fromElements(String packageName, ImmutableList<ExtendElement> extendElements) { ImmutableList.Builder<Extend> extendBuilder = new ImmutableList.Builder<>(); for (ExtendElement extendElement : extendElements) { extendBuilder.add(new Extend(extendElement.location(), extendElement.documentation(), extendElement.name(), Field.fromElements(packageName, extendElement.fields(), true))); } return extendBuilder.build(); }
static ImmutableList<OneOf> fromElements(String packageName, ImmutableList<OneOfElement> elements, boolean extension) { ImmutableList.Builder<OneOf> oneOfs = ImmutableList.builder(); for (OneOfElement oneOf : elements) { if (!oneOf.groups().isEmpty()) { GroupElement group = oneOf.groups().get(0); throw new IllegalStateException(group.location() + ": 'group' is not supported"); } oneOfs.add(new OneOf(oneOf.name(), oneOf.documentation(), Field.fromElements(packageName, oneOf.fields(), extension))); } return oneOfs.build(); }
static MessageType fromElement(String packageName, ProtoType protoType, MessageElement messageElement) { if (!messageElement.groups().isEmpty()) { GroupElement group = messageElement.groups().get(0); throw new IllegalStateException(group.location() + ": 'group' is not supported"); } ImmutableList<Field> declaredFields = Field.fromElements(packageName, messageElement.fields(), false); // Extension fields be populated during linking. List<Field> extensionFields = new ArrayList<>(); ImmutableList<OneOf> oneOfs = OneOf.fromElements(packageName, messageElement.oneOfs(), false); ImmutableList.Builder<Type> nestedTypes = ImmutableList.builder(); for (TypeElement nestedType : messageElement.nestedTypes()) { nestedTypes.add(Type.get(packageName, protoType.nestedType(nestedType.name()), nestedType)); } ImmutableList<Extensions> extensionsList = Extensions.fromElements(messageElement.extensions()); ImmutableList<Reserved> reserveds = Reserved.fromElements(messageElement.reserveds()); Options options = new Options(Options.MESSAGE_OPTIONS, messageElement.options()); return new MessageType(protoType, messageElement.location(), messageElement.documentation(), messageElement.name(), declaredFields, extensionFields, oneOfs, nestedTypes.build(), extensionsList, reserveds, options); }
static ImmutableList<OneOf> fromElements(String packageName, ImmutableList<OneOfElement> elements, boolean extension) { ImmutableList.Builder<OneOf> oneOfs = ImmutableList.builder(); for (OneOfElement oneOf : elements) { if (!oneOf.groups().isEmpty()) { throw new IllegalStateException("'group' is not supported"); } oneOfs.add(new OneOf(oneOf.name(), oneOf.documentation(), Field.fromElements(packageName, oneOf.fields(), extension))); } return oneOfs.build(); }
static ImmutableList<OneOf> fromElements(String packageName, ImmutableList<OneOfElement> elements, boolean extension) { ImmutableList.Builder<OneOf> oneOfs = ImmutableList.builder(); for (OneOfElement oneOf : elements) { if (!oneOf.groups().isEmpty()) { throw new IllegalStateException("'group' is not supported"); } oneOfs.add(new OneOf(oneOf.name(), oneOf.documentation(), Field.fromElements(packageName, oneOf.fields(), extension))); } return oneOfs.build(); }
static ImmutableList<Extend> fromElements(String packageName, ImmutableList<ExtendElement> extendElements) { ImmutableList.Builder<Extend> extendBuilder = new ImmutableList.Builder<>(); for (ExtendElement extendElement : extendElements) { extendBuilder.add(new Extend(extendElement.location(), extendElement.documentation(), extendElement.name(), Field.fromElements(packageName, extendElement.fields(), true))); } return extendBuilder.build(); }
static ImmutableList<Extend> fromElements(String packageName, ImmutableList<ExtendElement> extendElements) { ImmutableList.Builder<Extend> extendBuilder = new ImmutableList.Builder<>(); for (ExtendElement extendElement : extendElements) { extendBuilder.add(new Extend(extendElement.location(), extendElement.documentation(), extendElement.name(), Field.fromElements(packageName, extendElement.fields(), true))); } return extendBuilder.build(); }
static MessageType fromElement(String packageName, ProtoType protoType, MessageElement messageElement) { if (!messageElement.groups().isEmpty()) { throw new IllegalStateException("'group' is not supported"); } ImmutableList<Field> declaredFields = Field.fromElements(packageName, messageElement.fields(), false); // Extension fields be populated during linking. List<Field> extensionFields = new ArrayList<>(); ImmutableList<OneOf> oneOfs = OneOf.fromElements(packageName, messageElement.oneOfs(), false); ImmutableList.Builder<Type> nestedTypes = ImmutableList.builder(); for (TypeElement nestedType : messageElement.nestedTypes()) { nestedTypes.add(Type.get(packageName, protoType.nestedType(nestedType.name()), nestedType)); } ImmutableList<Extensions> extensionsList = Extensions.fromElements(messageElement.extensions()); ImmutableList<Reserved> reserveds = Reserved.fromElements(messageElement.reserveds()); Options options = new Options(Options.MESSAGE_OPTIONS, messageElement.options()); return new MessageType(protoType, messageElement.location(), messageElement.documentation(), messageElement.name(), declaredFields, extensionFields, oneOfs, nestedTypes.build(), extensionsList, reserveds, options); }
static MessageType fromElement(String packageName, ProtoType protoType, MessageElement messageElement) { if (!messageElement.groups().isEmpty()) { throw new IllegalStateException("'group' is not supported"); } ImmutableList<Field> declaredFields = Field.fromElements(packageName, messageElement.fields(), false); // Extension fields be populated during linking. List<Field> extensionFields = new ArrayList<>(); ImmutableList<OneOf> oneOfs = OneOf.fromElements(packageName, messageElement.oneOfs(), false); ImmutableList.Builder<Type> nestedTypes = ImmutableList.builder(); for (TypeElement nestedType : messageElement.nestedTypes()) { nestedTypes.add(Type.get(packageName, protoType.nestedType(nestedType.name()), nestedType)); } ImmutableList<Extensions> extensionsList = Extensions.fromElements(messageElement.extensions()); ImmutableList<Reserved> reserveds = Reserved.fromElements(messageElement.reserveds()); Options options = new Options(Options.MESSAGE_OPTIONS, messageElement.options()); return new MessageType(protoType, messageElement.location(), messageElement.documentation(), messageElement.name(), declaredFields, extensionFields, oneOfs, nestedTypes.build(), extensionsList, reserveds, options); }