v0.13.7
errors and warnings / classes

errors and warnings / classes / E3043

E3043 error

Accessor declared on a widget class

area
classes (x3xxx)
fails the build
yes

A widget class declares an accessor (get name() or set name()). Accessors need the class's own __index and __newindex, but a frame's metatable belongs to WoW. Use methods (getSize(), setSize(v)) instead.

Example

× failswowlua
class Tile extends Frame    get size(): number        return 1    endendprint(Tile)
✓ compileswowlua
class Tile extends Frame    function getSize(): number        return 1    endendprint(Tile)

The compiler reports it like this:

error[E3043]: widget class `Tile` cannot declare accessors
  ┌─ src/main.wowlua:2:9
  │
2 │     get size(): number
  │         ^^^^ the frame's metatable belongs to WoW
codemessage
E3007Metamethod on a widget class

Offline

terminal
$ wowlua explain E3043
E3043 (error): Accessor declared on a widget class

source on GitHub ↗