Identifier(
        nodePath,
        state
      ) {
        const identifier = /** @type {Identifier} */ (nodePath.node)
        const flags = /** @type {IPluginOptions} */ (state.opts).flags
        const availableFlags = /** @type {IPluginOptions} */ (state.opts).availableFlags

        if (
          identifier.name === `_CFLAGS_` &&
          t.isMemberExpression(nodePath.parent)
        ) {
          const parentNode = /** @type {MemberExpression} */ (nodePath.parent)
          const cFlag = /** @type {Identifier} */ (parentNode.property).name

          if (!availableFlags.includes(cFlag)) {
            throw new Error(
              `${cFlag} is not part of the available compiler flags.`
            )
          }

          nodePath.parentPath.replaceWith(
            t.stringLiteral(flags[cFlag] ? flags[cFlag] : ``)
          )
        }
      }
@param {NodePath} nodePath
@param {PluginPass} state