Add strict mode
clickingbuttons opened this issue · 2 comments
clickingbuttons commented
Currently invalid syntax will silently fail. I'd like an error returned or an exception thrown instead of the results up until the invalid syntax.
Example:
import wgsl_reflect from "@feng3d/wgsl_reflect";
const { WgslReflect } = wgsl_reflect;
const reflect = new WgslReflect(`
const valid_not_skipped: u32 = 0u;
some invalid syntax;
const valid_but_skipped: u32 = 0u;
`);
console.log(reflect);
/*
_WgslReflect2 {
structs: [],
overrides: [],
uniforms: [],
storages: [],
textures: [],
samplers: [],
functions: [],
aliases: [],
ast: [
Const {
name: 'valid_not_skipped',
type: [Type],
storage: '',
access: '',
value: [LiteralExpr],
attributes: null
}
],
entry: EntryFunctions { vertex: [], fragment: [], compute: [] }
}
*/
brendan-duncan commented
I'll look into adding better error exceptions.
greggman commented
For me, I just compile with WebGPU, if it fails then don't call wgsl_reflect.