func init // adds using namespace sys.add_use('System.Security.Principal') // initialize instance params = '' + sys.get_typed_field('WindowsIdentity.GetCurrent()', 'Identity', 20) + ', ' + sys.get_typed_field('new string[]{}', 'Roles', 13, 2) //sys.get_field_type_array('Roles', 'string') sys.add_object(this.codename, 'GenericPrincipal', params) // makes implementation methods for properties sys._prop_init('.Identity', 1, 0, 0) // makes implementation of methods as properties sys._mtd_as_prop_init('GenericPrincipal') end func doConstructor(data) blk.println(this.codename, ' = new GenericPrincipal(', sys.get_typed_field(data, 'Identity', 20), ', ', sys.get_typed_field(data, 'Roles', 13, 2), ');') end func doIsInRole(data) if(linked("onIsInRole")) event("onIsInRole", this.codename + '.IsInRole(' + d("Role") + ')') else blk.println(this.codename, '.IsInRole(', d("Role"), ');') end end