﻿interface System.Collections.Generic.IList<T> System.Collections.IList : ICollection<T> 
	arrayitemtype T
	java java.util.List
	python list
	js Array
	php service MyList
	rust service NList
	rustref service NListRef
	rustprim service NListPrim

indexer get T [int]
	java {!}.get({0})
	python {!}[{0}]
	js {!}[{0}]
	php {!}->items[{0}]
	rust {!}.get({0}) return&
	rustprim {!}.get({0})

indexer set T [int]  
	java Utils.putArrayValue({!}, {0}, {1})
	python {!}[{0}] = {1}
	js {!}[{0}] = {1}
	php {!}->items[{0}] = {1}
	rust {!}.set({0}, {1*}) return&
	rustref {!}.set({0}, {1&}) return&
	rustprim {!}.set({0}, {1})

method void Insert(int, T) changelength
	java =add
	python =insert
	js {!}.splice({0}, 0, {1})
	php =Insert
	rust {!}.insert({0}, {1*})
	rustref {!}.insert({0}, {1&})
	rustprim {!}.insert({0}, {1})

method void RemoveAt(int) changelength
	java =remove
	python del {!}[{0}]
	js {!}.splice({0}, 1)
	php =RemoveAt
	rust =remove_at

method int IndexOf(T)
	java =indexOf
	python Utils.indexOfList({!}, {0}, 0)
	js =indexOf
	php =IndexOf
	rust {!}.index_of({0&}, 0, false)
	rustprim {!}.index_of({0}, 0, false)

method int LastIndexOf(T)
	java =lastIndexOf
	python Utils.lastIndexOfList({!}, {0}, 0)
	js =lastIndexOf
	php =LastIndexOf
	rust {!}.index_of({0&}, 0, true)
	rustprim {!}.index_of({0}, 0, true)

method int IndexOf(T, int)
	java Utils.indexOf({!}, {0}, {1})
	python Utils.indexOfList({!}, {0}, {1})
	js =indexOf
	php =IndexOf
	rust {!}.index_of({0&}, {1}, false)
	rustprim {!}.index_of({0}, {1}, false)

method int LastIndexOf(T, int)
	java Utils.lastIndexOf({!}, {0}, {1})
	python Utils.lastIndexOfList({!}, {0}, {1})
	js =lastIndexOf
	php =LastIndexOf
	rust {!}.index_of({0&}, {1}, true)
	rustprim {!}.index_of({0}, {1}, true)

method void Swap(int, int)
	rust =swap
