summaryrefslogtreecommitdiff
path: root/tests/examplefiles/example.hx
diff options
context:
space:
mode:
Diffstat (limited to 'tests/examplefiles/example.hx')
-rw-r--r--tests/examplefiles/example.hx192
1 files changed, 0 insertions, 192 deletions
diff --git a/tests/examplefiles/example.hx b/tests/examplefiles/example.hx
deleted file mode 100644
index 7584fc81..00000000
--- a/tests/examplefiles/example.hx
+++ /dev/null
@@ -1,192 +0,0 @@
-/**
- * This is not really a valid Haxe file, but just an demo...
- */
-
-package;
-package net.onthewings;
-
-import net.onthewings.Test;
-import net.onthewings.*;
-
-using Lambda;
-using net.onthewings.Test;
-
-#if flash8
-// Haxe code specific for flash player 8
-#elseif flash
-// Haxe code specific for flash platform (any version)
-#elseif js
-// Haxe code specific for javascript plaform
-#elseif neko
-// Haxe code specific for neko plaform
-#else
-// do something else
- #error // will display an error "Not implemented on this platform"
- #error "Custom error message" // will display an error "Custom error message"
-#end
-
-0; // Int
--134; // Int
-0xFF00; // Int
-
-123.0; // Float
-.14179; // Float
-13e50; // Float
--1e-99; // Float
-
-"hello"; // String
-"hello \"world\" !"; // String
-'hello "world" !'; // String
-
-true; // Bool
-false; // Bool
-
-null; // Unknown<0>
-
-~/[a-z]+/i; // EReg : regular expression
-
-var point = { "x" : 1, "y" : -5 };
-
-{
- var x;
- var y = 3;
- var z : String;
- var w : String = "";
- var a, b : Bool, c : Int = 0;
-}
-
-//haxe3 pattern matching
-switch(e.expr) {
- case EConst(CString(s)) if (StringTools.startsWith(s, "foo")):
- "1";
- case EConst(CString(s)) if (StringTools.startsWith(s, "bar")):
- "2";
- case EConst(CInt(i)) if (switch(Std.parseInt(i) * 2) { case 4: true; case _: false; }):
- "3";
- case EConst(_):
- "4";
- case _:
- "5";
-}
-
-switch [true, 1, "foo"] {
- case [true, 1, "foo"]: "0";
- case [true, 1, _]: "1";
- case _: "_";
-}
-
-
-class Test <T:Void->Void> {
- private function new():Void {
- inline function innerFun(a:Int, b:Int):Int {
- return readOnlyField = a + b;
- }
-
- _innerFun(1, 2.3);
- }
-
- static public var instance(get,null):Test;
- static function get_instance():Test {
- return instance != null ? instance : instance = new Test();
- }
-}
-
-@:native("Test") private class Test2 {}
-
-extern class Ext {}
-
-@:macro class M {
- @:macro static function test(e:Array<Expr>):ExprOf<String> {
- return macro "ok";
- }
-}
-
-enum Color {
- Red;
- Green;
- Blue;
- Grey( v : Int );
- Rgb( r : Int, g : Int, b : Int );
- Alpha( a : Int, col : Color );
-}
-
-class Colors {
- static function toInt( c : Color ) : Int {
- return switch( c ) {
- case Red: 0xFF0000;
- case Green: 0x00FF00;
- case Blue: 0x0000FF;
- case Grey(v): (v << 16) | (v << 8) | v;
- case Rgb(r,g,b): (r << 16) | (g << 8) | b;
- case Alpha(a,c): (a << 24) | (toInt(c) & 0xFFFFFF);
- }
- }
-}
-
-class EvtQueue<T : (Event, EventDispatcher)> {
- var evt : T;
-}
-
-typedef DS = Dynamic<String>;
-typedef Pt = {
- var x:Float;
- var y:Float;
- @:optional var z:Float; /* optional z */
- function add(pt:Pt):Void;
-}
-typedef Pt2 = {
- x:Float,
- y:Float,
- ?z:Float, //optional z
- add : Point -> Void,
-}
-
-
-//top-level class members
-public function test();
-private var attr(get, set) = 1;
-
-
-//pre-proc number
-public static inline function indexOf<T>(arr:Array<T>, v:T) : Int
-{
- #if (haxe_ver >= 3.1)
- return arr.indexOf(v);
- #else
- #if (flash || js)
- return untyped arr.indexOf(v);
- #else
- return std.Lambda.indexOf(arr, v);
- #end
- #end
-}
-
-//macro reification
-var e = macro var $myVar = 0;
-var e = macro ${v}.toLowerCase();
-var e = macro o.$myField;
-var e = macro { $myField : 0 };
-var e = macro $i{varName}++;
-var e = macro $v{myStr};
-var args = [macro "sub", macro 3];
-var e = macro "Hello".toLowerCase($a{args});
-(macro $i{tmp}.addAtom($v{name}, $atom)).finalize(op.pos);
-
-var c = macro class MyClass {
- public function new() { }
- public function $funcName() {
- trace($v{funcName} + " was called");
- }
-}
-
-var c = macro interface IClass {};
-
-//macro class could have no name...
-var def = macro class {
- private inline function new(loader) this = loader;
- private var loader(get,never) : $loaderType;
- inline private function get_loader() : $loaderType return this;
-};
-
-//ECheckType
-var f = (123:Float); \ No newline at end of file