visitEnumTypeDefinitionNode method

  1. @override
void visitEnumTypeDefinitionNode(
  1. EnumTypeDefinitionNode node
)

Visit EnumTypeDefinitionNode.

Implementation

@override
void visitEnumTypeDefinitionNode(EnumTypeDefinitionNode node) {
  enums[node.name.value] = () {
    final enumName = EnumName(name: node.name.value);

    final nextContext = context.sameTypeWithNoPath(
      alias: enumName,
      ofUnion: Nullable<TypeDefinitionNode?>(null),
    );

    logFn(context, nextContext.align, '-> Enum');
    logFn(context, nextContext.align,
        '<- Generated enum ${enumName.namePrintable}.');

    return EnumDefinition(
      name: enumName,
      values: node.values
          .map((ev) => EnumValueDefinition(
                name: EnumValueName(name: ev.name.value),
                annotations: proceedDeprecated(ev.directives),
              ))
          .toList()
        ..add(artemisUnknown),
    );
  };
}