[FIX] props validation: does not crash with t-call-context

The code for props validation assumed that the rendering context was a
component.  This was actually true when it was written, but is no longer
true since t-call-context was introduced.

Because of that, it would crash when trying to access the internals of
the component, such as the static components object.

The fix is simple: instead of passing the context to the props
validation code, which can now be anything, we pass the component node,
which is guaranteed to give a reference to the component (and also to
the app).  This also make the code slightly simpler.

closes #1261
This commit is contained in:
Géry Debongnie
2022-09-24 07:54:25 +02:00
committed by Sam Degueldre
parent c4f0f17b9b
commit d5ed25cd19
9 changed files with 151 additions and 78 deletions
+1 -1
View File
@@ -1188,7 +1188,7 @@ export class CodeGenerator {
}
if (this.dev) {
this.addLine(`helpers.validateProps(${expr}, ${propVar!}, ctx);`);
this.addLine(`helpers.validateProps(${expr}, ${propVar!}, node);`);
}
if (block && (ctx.forceNewBlock === false || ctx.tKeyExpr)) {