public override object VisitTypeDef(GraphQLSchemaParser.TypeDefContext context) { var docComment = context.comment().LastOrDefault(); var desc = docComment != null ? (string)VisitComment(docComment) : null; var fields = context.objectDef().fieldDef().Select(f => VisitFieldDef(f)).Cast <Field>().ToList(); schemaInfo.Types.Add(context.typeName.Text, new TypeInfo(fields, context.typeName.Text, desc)); return(null); }
public override object VisitTypeDef(GraphQLSchemaParser.TypeDefContext context) { var docComment = context.comment().LastOrDefault(); var desc = docComment != null ? (string)VisitComment(docComment) : null; var fields = new List <Field>(); using (new FieldConsumer(this, fields)) { var result = base.Visit(context.objectDef()); schemaInfo.Types.Add(context.typeName.Text, new TypeInfo(fields, context.typeName.Text, desc)); return(result); } }
public override object VisitTypeDef(GraphQLSchemaParser.TypeDefContext context) { var docComment = context.comment().LastOrDefault(); var desc = docComment != null ? (string)VisitComment(docComment) : null; var fields = new List <Field>(); using (new FieldConsumer(this, fields)) { var result = base.Visit(context.objectDef()); // you can extend type to add fields to it so the type might already be in the schema if (schemaInfo.Types.ContainsKey(context.typeName.GetText())) { schemaInfo.Types[context.typeName.GetText()].Fields.AddRange(fields); } else { schemaInfo.Types.Add(context.typeName.GetText(), new TypeInfo(fields, context.typeName.GetText(), desc)); } return(result); } }