for(i in new FloatIter(0.5, 7.5))
trace(i);
class FloatIter {
public var v:Float;
public var max:Float;
public var step:Float;
public inline function new(min:Float, max:Float, step:Float = 1.0) {
v = min;
this.max = max;
this.step = step;
}
public inline function hasNext():Bool
return v < max;
public inline function next():Float
return v += step;
}
var _g_v = 0.5, _g_max = 7.5, _g_step = 1.0;
while(_g_v < _g_max) {
var i = _g_v += _g_step;
haxe.Log.trace(i,{ fileName : "Game.hx", lineNumber : 14, className : "Game", methodName : "new"});
}
class Int_SLL
{
public var head:Int_SLLNode;
inline public function new()
{
head = null;
}
inline public function push(a:Int):Int_SLLNode
{
var node = new Int_SLLNode();
node.data = a;
node.next = head;
head = node;
return node;
}
inline public function iterator():Int_SLLIter
{
return (new Int_SLLIter(head));
}
}
class Int_SLLNode
{
inline public function new(){}
public var next:Int_SLLNode;
public var data:Int;
}
class Int_SLLIter
{
public var walker:Int_SLLNode;
inline public function new(a:Int_SLLNode)
{
walker = a;
}
public inline function hasNext():Bool
{
return (walker != null);
}
public inline function next():Int
{
var r = walker.data;
walker = walker.next;
return r;
}
}
static function main()
{
var a = ['qwe', 'cc', 'dd'];
for (t in a)
{
trace(t);
}
var a = new GenericStack<Int>();
a.add(3);
a.add(4);
for (t in a)
{
trace(t);
}
var a = new Int_SLL();
a.push(3);
a.push(4);
for (t in a)
{
trace(t);
}
}
static public function main() : void {
var a : Array = ["qwe","cc","dd"];
{
var _g : int = 0;
while(_g < a.length) {
var t : String = a[_g];
++_g;
haxe.Log._trace(t,{ fileName : "InlineIters.hx", lineNumber : 18, className : "InlineIters", methodName : "main"});
}
};
var a1 : haxe.ds.GenericStack_Int = new haxe.ds.GenericStack_Int();
a1.add(3);
a1.add(4);
{
var _g1 : haxe.ds.GenericCell_Int = a1.head;
while(_g1 != null) {
var t1 : int = _g1.elt;
_g1 = _g1.next;
haxe.Log._trace(t1,{ fileName : "InlineIters.hx", lineNumber : 27, className : "InlineIters", methodName : "main"});
}
};
var a2 : haxe.ds.Int_SLL = new haxe.ds.Int_SLL();
a2.push(3);
a2.push(4);
{ var $it : * = a2.iterator();
while( $it.hasNext() ) { var t2 : int = $it.next();
haxe.Log._trace(t2,{ fileName : "InlineIters.hx", lineNumber : 37, className : "InlineIters", methodName : "main"});
}}
}
InlineIters.main = function() {
var a = ["qwe","cc","dd"];
var _g = 0;
while(_g < a.length) {
var t = a[_g];
++_g;
console.log(t);
}
var a1 = new haxe.ds.GenericStack();
a1.head = new haxe.ds.GenericCell(3,a1.head);
a1.head = new haxe.ds.GenericCell(4,a1.head);
var $it0 = a1.iterator();
while( $it0.hasNext() ) {
var t = $it0.next();
console.log(t);
}
var a2 = new ryz.tmp.Int_SLL();
a2.push(3);
a2.push(4);
var $it1 = a2.iterator();
while( $it1.hasNext() ) {
var t = $it1.next();
console.log(t);
}
}