func init // adds using namespace sys.add_use('System') // gets type of an array if(isdef("ElementType")) this.type = 'Object' else this.type = code(this.props("ElementType").value.props("TypeName").value) if(this.type == 'Object undefined') error(this.name + ' - property ' + this.props("ElementType").name + ' does not defined') this.type = 'Object' end end if(not isdef("KeysType")) this.keys = code(this.props("KeysType").value.props("TypeName").value) if(this.keys == 'Object undefined') error(this.name + ' - property ' + this.props("KeysType").name + ' does not defined') end end if(not isdef("ItemsType")) this.items = code(this.props("ItemsType").value.props("TypeName").value) if(this.items == 'Object undefined') error(this.name + ' - property ' + this.props("ItemsType").name + ' does not defined') end end end func doSort(array) blk.println('Array.Sort', isdef("ElementType") ? '' : '<' + this.type + '>', '(', d("Array"), ');') end func doSort2(keys, items) blk.println('Array.Sort', this.make_cast(), '(', d("Keys"), ', ', d("Items"), ');') end func doSort3(array, comparer) blk.println('Array.Sort', isdef("ElementType") ? '' : '<' + this.type + '>', '(', d("Array"), ', ', d("Comparer"), ');') end func doSort4(keys, items, comparer) blk.println('Array.Sort', this.make_cast(), '(', d("Keys"), ', ', d("Items"), ', ', d("Comparer"), ');') end func doSort5(array, index, length) blk.println('Array.Sort', isdef("ElementType") ? '' : '<' + this.type + '>', '(', d("Array"), ', ', d("Index"), ', ', d("Length"), ');') end func doSort6(keys, items, index, length) blk.println('Array.Sort', this.make_cast(), '(', d("Keys"), ', ', d("Items"), ', ', d("Index"), ', ', d("Length"), ');') end func doSort7(array, index, length, comparer) blk.println('Array.Sort', isdef("ElementType") ? '' : '<' + this.type + '>', '(', d("Array"), ', ', d("Index"), ', ', d("Length"), ', ', d("Comparer"), ');') end func doSort8(keys, items, index, length, comparer) blk.println('Array.Sort', this.make_cast(), '(', d("Keys"), ', ', d("Items"), ', ', d("Index"), ', ', d("Length"), ', ', d("Comparer"), ');') end func make_cast() if(isdef("KeysType") or isdef("ItemsType")) cast = '' else cast = '<' + this.keys + ',' + this.items + '>' end return(cast) end