func init // adds using namespace sys.add_use('System') // initialize instance c = this.props('Constructor').value if(c == 'Constructor') params = '' + sys.get_typed_field(0, 'Value32', 1) elseif(c == 'Constructor2') params = '' + sys.get_typed_field('0L', 'Value64', 105) elseif(c == 'Constructor3') params = '' + d("value") end if(c == 'Constructor3') blk_init.println('unsafe {').inc() sys.add_object(this.codename, 'IntPtr', params) blk_init.dec().println('}') else sys.add_object(this.codename, 'IntPtr', params) end // makes implementation methods for properties sys._prop_init('Size', 1, 0, 1, 'IntPtr') // makes implementation of methods as properties sys._mtd_as_prop_init('GetHashCode()') sys._mtd_as_prop_init('ToInt32()') sys._mtd_as_prop_init('ToInt64()') sys._mtd_as_prop_init('ToPointer()') sys._mtd_as_prop_init('ToString()') sys._mtd_as_prop_init('.IntPtr') end func doIntPtr(data) blk.println(this.codename, ' = ', d("IntPtr"), ';') end func doConstructor(data) blk.println(this.codename, ' = new IntPtr(', d("value32"), ');') end func doConstructor2(data) blk.println(this.codename, ' = new IntPtr(', sys.get_typed_field(data, 'Value64', 105), ');') end func doConstructor3(data) blk.println(this.codename, ' = new IntPtr(', d("value"), ');') end func Zero return('IntPtr.Zero') end func doAdd(data) if(linked("onAdd")) event("onAdd", 'IntPtr.Add(' + d("pointer") + ', ' + d("offset") + ')') else blk.println('IntPtr.Add(', d("pointer"), ', ', d("offset"), ');') end end func doEquals(data) if(linked("onEquals")) event("onEquals", this.codename + '.Equals(' + d("obj") + ')') else blk.println(this.codename, '.Equals(', d("obj"), ');') end end func doSubtract(data) if(linked("onSubtract")) event("onSubtract", 'IntPtr.Subtract(' + d("pointer") + ', ' + d("offset") + ')') else blk.println('IntPtr.Subtract(', d("pointer"), ', ', d("offset"), ');') end end func doToString2(data) if(linked("onToString")) event("onToString", this.codename + '.ToString(' + d("format") + ')') else blk.println(this.codename, '.ToString(', d("format"), ');') end end