Porytiles
Loading...
Searching...
No Matches
porytiles::InferredFieldConflict Struct Reference

One unsettled fact about one inferred field, carried out of inference for the reconciler to rule on. More...

#include <metatile_attribute_inference.hpp>

Collaboration diagram for porytiles::InferredFieldConflict:
[legend]

Public Attributes

std::string field_name
 
FieldConflictKind kind
 
std::string probed
 header path or enum prefix (provider kinds only)
 
std::optional< std::uint32_t > declared
 define mask, or the declared shift
 
std::optional< std::uint32_t > alternate
 table mask, or the shift the mask implies
 

Detailed Description

One unsettled fact about one inferred field, carried out of inference for the reconciler to rule on.

Inference cannot rule on these itself: it runs before the user's field overrides are merged, and an override can legitimately settle any of them (a stated mask ends a mask or shift dispute, a stated provider, including provider: null, ends a provider hunt). The reconciler, which sees the overrides, turns each conflict fatal unless the matching override speaks to it. probed is the header path (behavior provider kinds) or the enum prefix (the named-probe kind); declared and alternate carry the two disagreeing values for the mask and shift kinds (define mask versus table mask, declared shift versus the shift the mask implies).

Definition at line 153 of file metatile_attribute_inference.hpp.

Member Data Documentation

◆ alternate

std::optional<std::uint32_t> porytiles::InferredFieldConflict::alternate

table mask, or the shift the mask implies

Definition at line 158 of file metatile_attribute_inference.hpp.

◆ declared

std::optional<std::uint32_t> porytiles::InferredFieldConflict::declared

define mask, or the declared shift

Definition at line 157 of file metatile_attribute_inference.hpp.

◆ field_name

std::string porytiles::InferredFieldConflict::field_name

Definition at line 154 of file metatile_attribute_inference.hpp.

◆ kind

FieldConflictKind porytiles::InferredFieldConflict::kind

Definition at line 155 of file metatile_attribute_inference.hpp.

◆ probed

std::string porytiles::InferredFieldConflict::probed

header path or enum prefix (provider kinds only)

Definition at line 156 of file metatile_attribute_inference.hpp.


The documentation for this struct was generated from the following file: