diff --git a/demo/project.xml b/demo/project.xml
index 3cb66a2..fe7a135 100644
--- a/demo/project.xml
+++ b/demo/project.xml
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/src/main/haxework/macro/PositionYamlParser.hx b/src/main/haxework/macro/PositionYamlParser.hx
index 52334f3..ddec310 100644
--- a/src/main/haxework/macro/PositionYamlParser.hx
+++ b/src/main/haxework/macro/PositionYamlParser.hx
@@ -1,5 +1,7 @@
package haxework.macro;
+import haxe.DynamicAccess;
+
class PositionYamlParser {
private var filename:String;
@@ -18,16 +20,16 @@ class PositionYamlParser {
parseBlock(result);
}
- private function parseBlock(result:Dynamic):Void {
- for (field in Reflect.fields(result)) {
+ private function parseBlock(result:DynamicAccess):Void {
+ for (field in result.keys()) {
var offset = content.indexOf(field, cache.get(field));
cache.set(field, offset);
- Reflect.setField(result, "$" + field, {
+ result.set("$" + field, {
min:offset,
max:offset + field.length,
file:filename,
});
- var value = Reflect.field(result, field);
+ var value = result.get(field);
if (Std.is(value, Array)) {
for (item in cast(value, Array)) {
parseBlock(item);
@@ -38,7 +40,7 @@ class PositionYamlParser {
}
}
- public static function parse(filename:String, content:String, result:Dynamic):Void {
+ public static inline function parse(filename:String, content:String, result:Dynamic):Void {
new PositionYamlParser(filename, content, result).parseAll();
}
}
diff --git a/src/main/haxework/provider/Provider.hx b/src/main/haxework/provider/Provider.hx
index f74b538..dae035f 100755
--- a/src/main/haxework/provider/Provider.hx
+++ b/src/main/haxework/provider/Provider.hx
@@ -33,7 +33,8 @@ class Provider {
instances.set(key, instance);
return instance;
} else {
- throw 'Factory for "${key}" not found';
+ return null;
+ //throw 'Factory for "${key}" not found';
}
}