foam-framework/foam

Last line of code doesn't execute in a U2 template

Opened this issue · 4 comments

Example:

CLASS({
package: 'foam.demos',
name: 'Test',
extends: 'foam.u2.View',
templates: [
function initE() {/*#U2

((console.log("foo");))

((console.log("bar");))
*/}
]
});

If you run this view, you only see "foo" in the console, "bar" is never outputted. Examining the generated code shows that console.log("bar"); isn't even included.

We should either support this case, or warn if it happens.

Will fix.

Similarly, starting a template with a code statement throws an error as well.

I'm not sure if we can allow code statements before you start an element, but if not, we should at least produce an error.

The code needs to be inside a tag. We need to report template errors.