Skip to content

OverloadedMethods (ru)

Dima Kruk edited this page Feb 12, 2013 · 4 revisions

OverloadedMethods - языковое расширение, которое добавляет возможность перегружать методы.

Использование OverloadedMethods упрощает использование методов которые могут иметь несколько сигнатур. Все что Вам нужно это перечислить допустимые сигнатуры в специальной аннотации. После этого редактор, в случае несоответствия, сможет сообщить об ошибке.

Основная цель OverloadedMethods улучшить работу с существующими API (своих или открытых библиотек).

Все доступные (присутствуют в аннотациях) сигнатуры можно увидеть нажав ctrl+p(command+p на mac).

##Аннотация

Overloaded аннотация будет доступна после импорта языка overloadedMethods в контекстном меню метода "Intentions"(alt+enter) (Add Overload Annotation)

###[Overloaded()]

Аннотация позволяет описать допустимые варианты сигнатур метода.

[Overloaded(a : int, b : int)]
[Overloaded(a : String, b : String)]
public function myMethod(...rest) : void {
	...
}

Также может быть уточнен возвращаемый тип.

[Overloaded(a : int, b : int):int]
[Overloaded(a : String, b : String):String]
public function myMethod(...rest) : * {
	...
}

Clone this wiki locally