directive @DirectiveA on SCALAR | ENUM | ENUM_VALUE directive @DirectiveB(arg: Int) on INPUT_FIELD_DEFINITION | INPUT_OBJECT directive @DirectiveC( arg: MyInput! = {} ) on FIELD_DEFINITION | OBJECT | ARGUMENT_DEFINITION scalar MyScalar @DirectiveA enum MyEnum @DirectiveA { EnumA @DirectiveA } input MyInput @DirectiveB { field: String @DirectiveB } type MyType @DirectiveC { field(a1: Int @DirectiveC): String @DirectiveC } type Query { name: String }