Note that `has_directive` returns the scope where the directive is found (so it looks into the parent scope too), therefore if the directive is specified on the parent then: `this.has_directive("use asm") == this.parent_scope.has_directive("use asm");`