我的问题是在一些情况下在Haxe(AS3)中内联。
inline
(静态和非静态),始终的方法都会被内联?答案 0 :(得分:4)
你看过haxe.org上的inline doc吗?
1.(在文档中)对内联函数有一些限制。除此之外你不能内联递归函数。我相信标记为inline
的所有方法都将被内联(因为如果你的hxml文件中没有--no-inline oprtion),如果某个带inline
标记的方法无法内联,则会抛出错误在编译期间。
2.他们没有。您只能内联静态变量,否则会出现编译错误错误(Inline variable must be static
)。请注意,内联var显然无法更改,因此没有理由内联非静态var。如果您内联geter
或seter
:
private var v: Bool;
public inline function getv(nv: Bool) {
return v;
}
它将被视为:
private var v: Bool;
public inline function getv(nv: Bool) {
return this.v;
}
内联this
后将参考该类进行更改。看看example。那里没有内联StopWatched
个类属性。