From 50488aee5353c2918b7a00bbe2930c5cf51fe1c9 Mon Sep 17 00:00:00 2001 From: Joseph Cloutier Date: Wed, 27 Apr 2022 11:51:39 -0400 Subject: [PATCH] Clarify purpose of data validation variables. This value doesn't actually contain default values, but instead helps verify that the correct fields are present and have the correct types. It also doesn't need to show up in code completion. --- src/lime/tools/ApplicationData.hx | 3 ++- src/lime/tools/MetaData.hx | 3 ++- src/lime/tools/ProjectXMLParser.hx | 10 +++++----- src/lime/tools/WindowData.hx | 3 ++- tools/CommandLineTools.hx | 12 ++++++------ 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/lime/tools/ApplicationData.hx b/src/lime/tools/ApplicationData.hx index 08668be9e..301917209 100644 --- a/src/lime/tools/ApplicationData.hx +++ b/src/lime/tools/ApplicationData.hx @@ -11,7 +11,8 @@ abstract ApplicationData({ @:optional var url:String; }) from Dynamic { - public static var defaults = { + @:noCompletion + public static var expectedFields:ApplicationData = { file: "", init: "", main: "", diff --git a/src/lime/tools/MetaData.hx b/src/lime/tools/MetaData.hx index 784d1dda3..2e859905a 100644 --- a/src/lime/tools/MetaData.hx +++ b/src/lime/tools/MetaData.hx @@ -12,7 +12,8 @@ abstract MetaData({ @:optional var version:String; }) from Dynamic { - public static var defaults = { + @:noCompletion + public static var expectedFields:MetaData = { buildNumber: "", company: "", companyId: "", diff --git a/src/lime/tools/ProjectXMLParser.hx b/src/lime/tools/ProjectXMLParser.hx index b8f7d6054..e71d87c73 100644 --- a/src/lime/tools/ProjectXMLParser.hx +++ b/src/lime/tools/ProjectXMLParser.hx @@ -439,11 +439,11 @@ class ProjectXMLParser extends HXProject name = "packageName"; } - if (Reflect.hasField(ApplicationData.defaults, name)) + if (Reflect.hasField(ApplicationData.expectedFields, name)) { Reflect.setField(app, name, value); } - else if (Reflect.hasField(MetaData.defaults, name)) + else if (Reflect.hasField(MetaData.expectedFields, name)) { Reflect.setField(meta, name, value); } @@ -856,7 +856,7 @@ class ProjectXMLParser extends HXProject name = "packageName"; } - if (Reflect.hasField(MetaData.defaults, name)) + if (Reflect.hasField(MetaData.expectedFields, name)) { Reflect.setField(meta, name, value); } @@ -2006,11 +2006,11 @@ class ProjectXMLParser extends HXProject Reflect.setField(windows[id], "colorDepth", Std.parseInt(value)); default: - if (Reflect.hasField(WindowData.defaults, name)) + if (Reflect.hasField(WindowData.expectedFields, name)) { Reflect.setField(windows[id], name, value == "true"); } - else if (Reflect.hasField(WindowData.defaults, formatAttributeName(name))) + else if (Reflect.hasField(WindowData.expectedFields, formatAttributeName(name))) { Reflect.setField(windows[id], formatAttributeName(name), value == "true"); } diff --git a/src/lime/tools/WindowData.hx b/src/lime/tools/WindowData.hx index a8a654277..d861cd23b 100644 --- a/src/lime/tools/WindowData.hx +++ b/src/lime/tools/WindowData.hx @@ -33,7 +33,8 @@ abstract WindowData({ @:optional var hidden:Bool; }) from Dynamic { - public static var defaults = { + @:noCompletion + public static var expectedFields:WindowData = { width: 0, height: 0, x: 0.0, diff --git a/tools/CommandLineTools.hx b/tools/CommandLineTools.hx index 2391e6f0e..8f693435a 100644 --- a/tools/CommandLineTools.hx +++ b/tools/CommandLineTools.hx @@ -1860,9 +1860,9 @@ class CommandLineTools var fieldValue = Reflect.field(project, field); var typeValue:Dynamic = switch (field) { - case "app": ApplicationData.defaults; - case "meta": MetaData.defaults; - case "window": WindowData.defaults; + case "app": ApplicationData.expectedFields; + case "meta": MetaData.expectedFields; + case "window": WindowData.expectedFields; default: fieldValue; }; @@ -2130,9 +2130,9 @@ class CommandLineTools var fieldReference = Reflect.field(overrides, fieldName); var typeValue:Dynamic = switch (fieldName) { - case "app": ApplicationData.defaults; - case "meta": MetaData.defaults; - case "window": WindowData.defaults; + case "app": ApplicationData.expectedFields; + case "meta": MetaData.expectedFields; + case "window": WindowData.expectedFields; default: fieldReference; };