@@ -39,6 +39,7 @@ public final class Token {
3939 case eof = " <EOF> "
4040 case bang = " ! "
4141 case dollar = " $ "
42+ case amp = " & "
4243 case openingParenthesis = " ( "
4344 case closingParenthesis = " ) "
4445 case spread = " ... "
@@ -1102,6 +1103,11 @@ extension SchemaDefinition: TypeSystemDefinition {}
11021103extension TypeExtensionDefinition : TypeSystemDefinition { }
11031104extension SchemaExtensionDefinition : TypeSystemDefinition { }
11041105extension DirectiveDefinition : TypeSystemDefinition { }
1106+ extension InterfaceExtensionDefinition : TypeSystemDefinition { }
1107+ extension ScalarExtensionDefinition : TypeSystemDefinition { }
1108+ extension UnionExtensionDefinition : TypeSystemDefinition { }
1109+ extension EnumExtensionDefinition : TypeSystemDefinition { }
1110+ extension InputObjectExtensionDefinition : TypeSystemDefinition { }
11051111
11061112public func == ( lhs: TypeSystemDefinition , rhs: TypeSystemDefinition ) -> Bool {
11071113 switch lhs {
@@ -1125,6 +1131,26 @@ public func == (lhs: TypeSystemDefinition, rhs: TypeSystemDefinition) -> Bool {
11251131 if let r = rhs as? SchemaExtensionDefinition {
11261132 return l == r
11271133 }
1134+ case let l as InterfaceExtensionDefinition :
1135+ if let r = rhs as? InterfaceExtensionDefinition {
1136+ return l == r
1137+ }
1138+ case let l as ScalarExtensionDefinition :
1139+ if let r = rhs as? ScalarExtensionDefinition {
1140+ return l == r
1141+ }
1142+ case let l as UnionExtensionDefinition :
1143+ if let r = rhs as? UnionExtensionDefinition {
1144+ return l == r
1145+ }
1146+ case let l as EnumExtensionDefinition :
1147+ if let r = rhs as? EnumExtensionDefinition {
1148+ return l == r
1149+ }
1150+ case let l as InputObjectExtensionDefinition :
1151+ if let r = rhs as? InputObjectExtensionDefinition {
1152+ return l == r
1153+ }
11281154 default :
11291155 return false
11301156 }
@@ -1566,26 +1592,120 @@ extension SchemaExtensionDefinition: Equatable {
15661592 }
15671593}
15681594
1595+ public final class InterfaceExtensionDefinition {
1596+ public let kind : Kind = . interfaceExtensionDefinition
1597+ public let loc : Location ?
1598+ public let definition : InterfaceTypeDefinition
1599+
1600+ init ( loc: Location ? = nil , definition: InterfaceTypeDefinition ) {
1601+ self . loc = loc
1602+ self . definition = definition
1603+ }
1604+ }
1605+
1606+ extension InterfaceExtensionDefinition : Equatable {
1607+ public static func == (
1608+ lhs: InterfaceExtensionDefinition ,
1609+ rhs: InterfaceExtensionDefinition
1610+ ) -> Bool {
1611+ return lhs. definition == rhs. definition
1612+ }
1613+ }
1614+
1615+ public final class ScalarExtensionDefinition {
1616+ public let kind : Kind = . scalarExtensionDefinition
1617+ public let loc : Location ?
1618+ public let definition : ScalarTypeDefinition
1619+
1620+ init ( loc: Location ? = nil , definition: ScalarTypeDefinition ) {
1621+ self . loc = loc
1622+ self . definition = definition
1623+ }
1624+ }
1625+
1626+ extension ScalarExtensionDefinition : Equatable {
1627+ public static func == ( lhs: ScalarExtensionDefinition , rhs: ScalarExtensionDefinition ) -> Bool {
1628+ return lhs. definition == rhs. definition
1629+ }
1630+ }
1631+
1632+ public final class UnionExtensionDefinition {
1633+ public let kind : Kind = . unionExtensionDefinition
1634+ public let loc : Location ?
1635+ public let definition : UnionTypeDefinition
1636+
1637+ init ( loc: Location ? = nil , definition: UnionTypeDefinition ) {
1638+ self . loc = loc
1639+ self . definition = definition
1640+ }
1641+ }
1642+
1643+ extension UnionExtensionDefinition : Equatable {
1644+ public static func == ( lhs: UnionExtensionDefinition , rhs: UnionExtensionDefinition ) -> Bool {
1645+ return lhs. definition == rhs. definition
1646+ }
1647+ }
1648+
1649+ public final class EnumExtensionDefinition {
1650+ public let kind : Kind = . enumExtensionDefinition
1651+ public let loc : Location ?
1652+ public let definition : EnumTypeDefinition
1653+
1654+ init ( loc: Location ? = nil , definition: EnumTypeDefinition ) {
1655+ self . loc = loc
1656+ self . definition = definition
1657+ }
1658+ }
1659+
1660+ extension EnumExtensionDefinition : Equatable {
1661+ public static func == ( lhs: EnumExtensionDefinition , rhs: EnumExtensionDefinition ) -> Bool {
1662+ return lhs. definition == rhs. definition
1663+ }
1664+ }
1665+
1666+ public final class InputObjectExtensionDefinition {
1667+ public let kind : Kind = . inputObjectExtensionDefinition
1668+ public let loc : Location ?
1669+ public let definition : InputObjectTypeDefinition
1670+
1671+ init ( loc: Location ? = nil , definition: InputObjectTypeDefinition ) {
1672+ self . loc = loc
1673+ self . definition = definition
1674+ }
1675+ }
1676+
1677+ extension InputObjectExtensionDefinition : Equatable {
1678+ public static func == (
1679+ lhs: InputObjectExtensionDefinition ,
1680+ rhs: InputObjectExtensionDefinition
1681+ ) -> Bool {
1682+ return lhs. definition == rhs. definition
1683+ }
1684+ }
1685+
15691686public final class DirectiveDefinition {
15701687 public let kind : Kind = . directiveDefinition
15711688 public let loc : Location ?
15721689 public let description : StringValue ?
15731690 public let name : Name
15741691 public let arguments : [ InputValueDefinition ]
15751692 public let locations : [ Name ]
1693+ public let repeatable : Bool
15761694
15771695 init (
15781696 loc: Location ? = nil ,
15791697 description: StringValue ? = nil ,
15801698 name: Name ,
15811699 arguments: [ InputValueDefinition ] = [ ] ,
1582- locations: [ Name ]
1700+ locations: [ Name ] ,
1701+ repeatable: Bool = false
15831702 ) {
15841703 self . loc = loc
15851704 self . name = name
15861705 self . description = description
15871706 self . arguments = arguments
15881707 self . locations = locations
1708+ self . repeatable = repeatable
15891709 }
15901710}
15911711
0 commit comments