func init // adds using namespace sys.add_use('System.Text') // initialize instance params = this.props('Constructor').value if(params == 'Constructor') params = '' elseif(params == 'Constructor2') params = '' + d("encoderShouldEmit") elseif(params == 'Constructor3') params = '' + d("encoderShouldEmit") + ', ' + d("throwOnInvalidBytes") end sys.add_object(this.codename, 'UTF8Encoding', params) // makes implementation of methods as properties sys._mtd_as_prop_init('GetDecoder()') sys._mtd_as_prop_init('GetEncoder()') sys._mtd_as_prop_init('GetHashCode()') sys._mtd_as_prop_init('GetPreamble()') sys._mtd_as_prop_init('UTF8Encoding') // initialize common events and properties include("Encoding-init") end func doConstructor() blk.println(this.codename, ' = new UTF8Encoding();') end func doConstructor2(encoderShouldEmit) blk.println(this.codename, ' = new UTF8Encoding(', d("encoderShouldEmit"), ');') end func doConstructor3(encoderShouldEmit, throwOnInvalidBytes) blk.println(this.codename, ' = new UTF8Encoding(', d("encoderShouldEmit"), ', ', d("throwOnInvalidBytes"), ');') end func doEncoding(srcencoding) blk.println(this.codename, ' = (UTF8Encoding)', d("srcEncoding"), ';') end include("Encoding")