NameNode::class, // Document self::DOCUMENT => DocumentNode::class, self::OPERATION_DEFINITION => OperationDefinitionNode::class, self::VARIABLE_DEFINITION => VariableDefinitionNode::class, self::VARIABLE => VariableNode::class, self::SELECTION_SET => SelectionSetNode::class, self::FIELD => FieldNode::class, self::ARGUMENT => ArgumentNode::class, // Fragments self::FRAGMENT_SPREAD => FragmentSpreadNode::class, self::INLINE_FRAGMENT => InlineFragmentNode::class, self::FRAGMENT_DEFINITION => FragmentDefinitionNode::class, // Values self::INT => IntValueNode::class, self::FLOAT => FloatValueNode::class, self::STRING => StringValueNode::class, self::BOOLEAN => BooleanValueNode::class, self::ENUM => EnumValueNode::class, self::NULL => NullValueNode::class, self::LST => ListValueNode::class, self::OBJECT => ObjectValueNode::class, self::OBJECT_FIELD => ObjectFieldNode::class, // Directives self::DIRECTIVE => DirectiveNode::class, // Types self::NAMED_TYPE => NamedTypeNode::class, self::LIST_TYPE => ListTypeNode::class, self::NON_NULL_TYPE => NonNullTypeNode::class, // Type System Definitions self::SCHEMA_DEFINITION => SchemaDefinitionNode::class, self::OPERATION_TYPE_DEFINITION => OperationTypeDefinitionNode::class, // Type Definitions self::SCALAR_TYPE_DEFINITION => ScalarTypeDefinitionNode::class, self::OBJECT_TYPE_DEFINITION => ObjectTypeDefinitionNode::class, self::FIELD_DEFINITION => FieldDefinitionNode::class, self::INPUT_VALUE_DEFINITION => InputValueDefinitionNode::class, self::INTERFACE_TYPE_DEFINITION => InterfaceTypeDefinitionNode::class, self::UNION_TYPE_DEFINITION => UnionTypeDefinitionNode::class, self::ENUM_TYPE_DEFINITION => EnumTypeDefinitionNode::class, self::ENUM_VALUE_DEFINITION => EnumValueDefinitionNode::class, self::INPUT_OBJECT_TYPE_DEFINITION => InputObjectTypeDefinitionNode::class, // Type Extensions self::SCALAR_TYPE_EXTENSION => ScalarTypeExtensionNode::class, self::OBJECT_TYPE_EXTENSION => ObjectTypeExtensionNode::class, self::INTERFACE_TYPE_EXTENSION => InterfaceTypeExtensionNode::class, self::UNION_TYPE_EXTENSION => UnionTypeExtensionNode::class, self::ENUM_TYPE_EXTENSION => EnumTypeExtensionNode::class, self::INPUT_OBJECT_TYPE_EXTENSION => InputObjectTypeExtensionNode::class, // Directive Definitions self::DIRECTIVE_DEFINITION => DirectiveDefinitionNode::class, ]; }