Class FxPreprocessedParse
The pre-parse of an effect's PREPROCESSED source (issue #308), produced by
ParsePreprocessed(string, string): the recovery for an effect whose
legacy sampler syntax the raw pre-parse could not see because an #include or a macro
supplies it.
public sealed record FxPreprocessedParse : IEquatable<FxPreprocessedParse>
- Inheritance
-
FxPreprocessedParse
- Implements
- Inherited Members
Properties
CompilerPredefinedMacro
The first conditional that tested a macro only the COMPILER defines
(__HLSL_VERSION, __hlsl_dx_compiler …), or null. The managed preprocessor
evaluated it as undefined, so the text may not be the one the compiler's own preprocessor
would have produced, and the caller must not compile it.
public CompilerPredefinedMacroTest? CompilerPredefinedMacro { get; init; }
Property Value
Parsed
The parse of the preprocessed text. Its StrippedHlsl is the compiler input (macros expanded, conditionals evaluated, FX blocks stripped, legacy samplers rewritten); its spans are mapped back onto the author's lines.
public required FxParseResult Parsed { get; init; }
Property Value
Residue
The first legacy sampler construct the rewrite could NOT model and so left in
StrippedHlsl (a sampler2D function parameter, for
example), or null when none is left. The compiler will reject it; this is what lets the
caller say why.
public LegacySamplerResidue? Residue { get; init; }