func init // adds using namespace sys.add_use('System') // initialize instance params = '' + sys.get_typed_field(' ', 'KeyChar', 106) + ', ' + sys.get_typed_field('ConsoleKey.Escape', 'Key', 20) + ', ' + sys.get_typed_field('false', 'Shift', 104) + ', ' + sys.get_typed_field('false', 'Alt', 104) + ', ' + sys.get_typed_field('false', 'Control', 104) sys.add_object(this.codename, 'ConsoleKeyInfo', params) // makes implementation methods for properties sys._prop_init('.Key', 1, 0, 0) sys._prop_init('.KeyChar', 1, 0, 106) sys._prop_init('Modifiers', 1, 0, 0) // makes implementation of methods as properties sys._mtd_as_prop_init('GetHashCode()') sys._mtd_as_prop_init('ConsoleKeyInfo') end func doConsoleKeyInfo(data) blk.println(this.codename, ' = ', d("cki"), ';') end func doConstructor(data) blk.println(this.codename, ' = new ConsoleKeyInfo(', sys.get_typed_field(data, 'KeyChar', 106), ', ', sys.get_typed_field(data, 'Key', 20), ', ', sys.get_typed_field(data, 'Shift', 104), ', ', sys.get_typed_field(data, 'Alt', 104), ', ', sys.get_typed_field(data, 'Control', 104), ');') end func doEquals(data) if(linked("onEquals")) event("onEquals", this.codename + '.Equals(' + d("cki") + ')') else blk.println(this.codename, '.Equals(', d("cki"), ');') end end func doEquals2(data) if(linked("onEquals")) event("onEquals", this.codename + '.Equals(' + d("value") + ')') else blk.println(this.codename, '.Equals(', d("value"), ');') end end func .Alt return('((' + this.codename + '.Modifiers & ConsoleModifiers.Alt) != 0)') end func .Control return('((' + this.codename + '.Modifiers & ConsoleModifiers.Control) != 0)') end func .Shift return('((' + this.codename + '.Modifiers & ConsoleModifiers.Shift) != 0)') end