@Override public void enterField(ProtoParser.FieldContext ctx) { FieldContainer parent = context.peek(FieldContainer.class); Field field = new Field(parent); context.push(field); }
@Override public void enterMap(ProtoParser.MapContext ctx) { Message parent = context.peek(Message.class); Field field = new Field(parent); context.push(field); }
@Override public void enterField(ProtoParser.FieldContext ctx) { FieldContainer parent = context.peek(FieldContainer.class); Field field = new Field(parent); context.push(field); }
@Override public void enterMap(ProtoParser.MapContext ctx) { Message parent = context.peek(Message.class); Field field = new Field(parent); context.push(field); }
private Field createMapKeyField(Message map, String keyTypeName, SourceCodeLocation codeLocation) { Field keyField = new Field(map); keyField.setName(MAP_ENTRY_KEY); keyField.setTag(1); keyField.setIndex(1); keyField.setTypeName(keyTypeName); keyField.setModifier(OPTIONAL); keyField.setSourceCodeLocation(codeLocation); return keyField; }
private Field createMapKeyField(Message map, String keyTypeName, SourceCodeLocation codeLocation) { Field keyField = new Field(map); keyField.setName(MAP_ENTRY_KEY); keyField.setTag(1); keyField.setIndex(1); keyField.setTypeName(keyTypeName); keyField.setModifier(OPTIONAL); keyField.setSourceCodeLocation(codeLocation); return keyField; }
private Field createMapValueField(Message map, String valueTypeName, SourceCodeLocation codeLocation) { Field valueField = new Field(map); valueField.setName(MAP_ENTRY_VALUE); valueField.setTag(2); valueField.setIndex(2); valueField.setModifier(OPTIONAL); valueField.setTypeName(valueTypeName); valueField.setSourceCodeLocation(codeLocation); return valueField; }
private Field createMapValueField(Message map, String valueTypeName, SourceCodeLocation codeLocation) { Field valueField = new Field(map); valueField.setName(MAP_ENTRY_VALUE); valueField.setTag(2); valueField.setIndex(2); valueField.setModifier(OPTIONAL); valueField.setTypeName(valueTypeName); valueField.setSourceCodeLocation(codeLocation); return valueField; }
@Override public void exitGroupBlock(ProtoParser.GroupBlockContext ctx) { Group group = context.pop(Group.class); group.setName(ctx.groupName().getText()); group.setSourceCodeLocation(getSourceCodeLocation(ctx)); final GroupContainer groupContainer = context.peek(GroupContainer.class); final FieldContainer fieldContainer = context.peek(FieldContainer.class); Field field = new Field(fieldContainer); field.setName(group.getName().toLowerCase()); // same behavior as in protoc int tag = Integer.decode(ctx.tag().getText()); field.setTag(tag); field.setIndex(fieldContainer.getFieldCount() + 1); field.setTypeName(group.getName()); field.setType(group); field.setSourceCodeLocation(getSourceCodeLocation(ctx)); groupContainer.addGroup(group); fieldContainer.addField(field); attachComments(ctx, field, true); }
@Override public void exitGroupBlock(ProtoParser.GroupBlockContext ctx) { Group group = context.pop(Group.class); group.setName(ctx.groupName().getText()); group.setSourceCodeLocation(getSourceCodeLocation(ctx)); final GroupContainer groupContainer = context.peek(GroupContainer.class); final FieldContainer fieldContainer = context.peek(FieldContainer.class); Field field = new Field(fieldContainer); field.setName(group.getName().toLowerCase()); // same behavior as in protoc int tag = Integer.decode(ctx.tag().getText()); field.setTag(tag); field.setIndex(fieldContainer.getFieldCount() + 1); field.setTypeName(group.getName()); field.setType(group); field.setSourceCodeLocation(getSourceCodeLocation(ctx)); groupContainer.addGroup(group); fieldContainer.addField(field); attachComments(ctx, field, true); }