int line; /* line number for this node's start */ protected data_node() { line = 0; m_next = null; m_first_child = null; m_name = ""; m_value = ""; m_parent = null; m_attributes = new std.list <attribute_node>(); }
protected data_node(data_node parent, string name, string value) { line = 0; m_next = null; m_first_child = null; m_name = name; m_value = value != null ? value : ""; m_parent = parent; m_attributes = new std.list <attribute_node>(); m_name = m_name.ToLower(); //std::transform(m_name.begin(), m_name.end(), m_name.begin(), [] (char ch) { return std::tolower(uint8_t(ch)); }); }
string m_string_buffer; //mutable util::ovectorstream m_string_buffer; // construction/destruction //------------------------------------------------- // running_machine - constructor //------------------------------------------------- public running_machine(machine_config _config, machine_manager manager) { m_side_effects_disabled = 0; debug_flags = 0; m_config = _config; m_system = _config.gamedrv(); m_manager = manager; m_current_phase = machine_phase.PREINIT; m_paused = false; m_hard_reset_pending = false; m_exit_pending = false; m_soft_reset_timer = null; m_rand_seed = 0x9d14abd7; m_ui_active = _config.options().ui_active(); m_basename = _config.gamedrv().name; m_sample_rate = _config.options().sample_rate(); m_saveload_schedule = saveload_schedule.NONE; m_saveload_schedule_time = attotime.zero; m_saveload_searchpath = null; m_save = new save_manager(this); m_memory = new memory_manager(this); m_ioport = new ioport_manager(this); m_scheduler = new device_scheduler(this); m_scheduler.device_scheduler_after_ctor(this); for (int i = 0; i < m_notifier_list.Length; i++) { m_notifier_list[i] = new std.list <notifier_callback_item>(); } m_base_time = 0; // set the machine on all devices device_enumerator iter = new device_enumerator(root_device()); foreach (device_t device in iter) { device.set_machine(this); } // fetch core options if (options().debug()) { debug_flags = (DEBUG_FLAG_ENABLED | DEBUG_FLAG_CALL_HOOK) | (DEBUG_FLAG_OSD_ENABLED); } }
public void CheckDefaultTestCase() { StackFrame frame = GetFrame($"{DefaultModuleName}!DefaultTestCase"); VariableCollection locals = frame.Locals; dynamic p = locals["p"]; std.wstring string1 = new std.wstring(p.string1); Assert.Equal("qwerty", string1.Text); std.list <std.wstring> strings = new std.list <std.wstring>(p.strings); std.vector <std.@string> ansiStrings = new std.vector <std.@string>(p.ansiStrings); std.map <std.wstring, std.@string> stringMap = new std.map <std.wstring, std.@string>(p.stringMap); std.unordered_map <std.wstring, std.@string> stringUMap = new std.unordered_map <std.wstring, std.@string>(p.stringUMap); string[] stringsConverted = strings.Select(s => s.Text).ToArray(); string[] ansiStringsConverted = ansiStrings.Select(s => s.Text).ToArray(); CompareArrays(new[] { "Foo", "Bar" }, stringsConverted); CompareArrays(new[] { "AnsiFoo", "AnsiBar" }, ansiStringsConverted); foreach (std.wstring s in strings) { Assert.True(s.Length <= s.Reserved); } for (int i = 0; i < ansiStrings.Count; i++) { Assert.True(ansiStrings[i].Length <= ansiStrings[i].Reserved); } VerifyMap(stringMap); VerifyMap(stringUMap); // Verify enum value dynamic e = locals["e"]; Assert.Equal("enumEntry3", e.ToString()); Assert.Equal(3, (int)e); dynamic pEnumeration = p.enumeration; dynamic pInnerEnumeration = p.innerEnumeration; Assert.Equal("enumEntry2", pEnumeration.ToString()); Assert.Equal(2, (int)pEnumeration); Assert.Equal("simple4", pInnerEnumeration.ToString()); Assert.Equal(4, (int)pInnerEnumeration); }
public void CheckDefaultTestCaseLocals() { StackFrame frame = GetFrame($"{DefaultModuleName}!DefaultTestCase"); VariableCollection locals = frame.Locals; dynamic p = locals["p"]; std.wstring string1 = new std.wstring(p.string1); Assert.AreEqual("qwerty", string1.Text); std.list <std.wstring> strings = new std.list <std.wstring>(p.strings); std.vector <std.@string> ansiStrings = new std.vector <std.@string>(p.ansiStrings); std.map <std.wstring, std.@string> stringMap = new std.map <std.wstring, std.@string>(p.stringMap); std.unordered_map <std.wstring, std.@string> stringUMap = new std.unordered_map <std.wstring, std.@string>(p.stringUMap); string[] stringsConverted = strings.Select(s => s.Text).ToArray(); string[] ansiStringsConverted = ansiStrings.Select(s => s.Text).ToArray(); CompareArrays(new[] { "Foo", "Bar" }, stringsConverted); CompareArrays(new[] { "AnsiFoo", "AnsiBar" }, ansiStringsConverted); foreach (std.wstring s in strings) { Assert.IsTrue(s.Length <= s.Reserved); } for (int i = 0; i < ansiStrings.Count; i++) { Assert.IsTrue(ansiStrings[i].Length <= ansiStrings[i].Reserved); } VerifyMap(stringMap); VerifyMap(stringUMap); // Verify enum value dynamic e = locals["e"]; Assert.AreEqual("enumEntry3", e.ToString()); Assert.AreEqual(3, (int)e); // Verify shared/weak pointers std.shared_ptr <int> sptr1 = new std.shared_ptr <int>(locals["sptr1"]); std.shared_ptr <int> esptr1 = new std.shared_ptr <int>(locals["esptr1"]); std.shared_ptr <int> esptr2 = new std.shared_ptr <int>(locals["esptr2"]); std.weak_ptr <int> wptr1 = new std.weak_ptr <int>(locals["wptr1"]); std.weak_ptr <int> ewptr1 = new std.weak_ptr <int>(locals["ewptr1"]); std.weak_ptr <int> ewptr2 = new std.weak_ptr <int>(locals["ewptr2"]); Assert.IsFalse(sptr1.IsEmpty); Assert.AreEqual(1, sptr1.SharedCount); Assert.AreEqual(2, sptr1.WeakCount); Assert.AreEqual(5, sptr1.Element); Assert.IsTrue(sptr1.IsCreatedWithMakeShared); Assert.IsFalse(wptr1.IsEmpty); Assert.AreEqual(1, wptr1.SharedCount); Assert.AreEqual(2, wptr1.WeakCount); Assert.AreEqual(5, wptr1.Element); Assert.IsTrue(wptr1.IsCreatedWithMakeShared); Assert.IsTrue(esptr1.IsEmpty); Assert.IsTrue(ewptr1.IsEmpty); Assert.AreEqual(0, ewptr1.SharedCount); Assert.AreEqual(1, ewptr1.WeakCount); Assert.AreEqual(42, ewptr1.UnsafeElement); Assert.IsTrue(ewptr1.IsCreatedWithMakeShared); Assert.IsTrue(esptr2.IsEmpty); Assert.IsTrue(ewptr2.IsEmpty); Assert.AreEqual(0, ewptr2.SharedCount); Assert.AreEqual(1, ewptr2.WeakCount); Assert.IsFalse(ewptr2.IsCreatedWithMakeShared); }
public void CheckDefaultTestCase() { StackFrame frame = GetFrame($"{DefaultModuleName}!DefaultTestCase"); VariableCollection locals = frame.Locals; dynamic p = locals["p"]; std.wstring string1 = new std.wstring(p.string1); Assert.Equal("qwerty", string1.Text); std.list <std.wstring> strings = new std.list <std.wstring>(p.strings); std.vector <std.@string> ansiStrings = new std.vector <std.@string>(p.ansiStrings); std.map <std.wstring, std.@string> stringMap = new std.map <std.wstring, std.@string>(p.stringMap); std.unordered_map <std.wstring, std.@string> stringUMap = new std.unordered_map <std.wstring, std.@string>(p.stringUMap); string[] stringsConverted = strings.Select(s => s.Text).ToArray(); string[] ansiStringsConverted = ansiStrings.Select(s => s.Text).ToArray(); CompareArrays(new[] { "Foo", "Bar" }, stringsConverted); CompareArrays(new[] { "AnsiFoo", "AnsiBar" }, ansiStringsConverted); foreach (std.wstring s in strings) { Assert.True(s.Length <= s.Reserved); } for (int i = 0; i < ansiStrings.Count; i++) { Assert.True(ansiStrings[i].Length <= ansiStrings[i].Reserved); } VerifyMap(stringMap); VerifyMap(stringUMap); // Verify enum value dynamic e = locals["e"]; Assert.Equal("enumEntry3", e.ToString()); Assert.Equal(3, (int)e); dynamic pEnumeration = p.enumeration; dynamic pInnerEnumeration = p.innerEnumeration; Assert.Equal("enumEntry2", pEnumeration.ToString()); Assert.Equal(2, (int)pEnumeration); Assert.Equal("simple4", pInnerEnumeration.ToString()); Assert.Equal(4, (int)pInnerEnumeration); if (ExecuteCodeGen) { InterpretInteractive($@" MyTestClass global = ModuleGlobals.globalVariable; AreEqual(1212121212, MyTestClass.staticVariable); AreEqual(""qwerty"", global.string1.Text); AreEqual(2, global.strings.Count); AreEqual(""Foo"", global.strings.ElementAt(0).Text); AreEqual(""Bar"", global.strings.ElementAt(1).Text); AreEqual(2, global.ansiStrings.Count); AreEqual(""AnsiFoo"", global.ansiStrings[0].Text); AreEqual(""AnsiBar"", global.ansiStrings[1].Text); AreEqual(MyEnum.enumEntry2, global.enumeration); AreEqual(MyTestClass.MyEnumInner.simple4, global.innerEnumeration); "); } }
public void CheckDefaultTestCaseLocals() { StackFrame frame = GetFrame($"{DefaultModuleName}!DefaultTestCase"); VariableCollection locals = frame.Locals; dynamic p = locals["p"]; std.wstring string1 = new std.wstring(p.string1); Assert.AreEqual("qwerty", string1.Text); std.list<std.wstring> strings = new std.list<std.wstring>(p.strings); std.vector<std.@string> ansiStrings = new std.vector<std.@string>(p.ansiStrings); std.map<std.wstring, std.@string> stringMap = new std.map<std.wstring, std.@string>(p.stringMap); std.unordered_map<std.wstring, std.@string> stringUMap = new std.unordered_map<std.wstring, std.@string>(p.stringUMap); string[] stringsConverted = strings.Select(s => s.Text).ToArray(); string[] ansiStringsConverted = ansiStrings.Select(s => s.Text).ToArray(); CompareArrays(new[] { "Foo", "Bar" }, stringsConverted); CompareArrays(new[] { "AnsiFoo", "AnsiBar" }, ansiStringsConverted); foreach (std.wstring s in strings) Assert.IsTrue(s.Length <= s.Reserved); for (int i = 0; i < ansiStrings.Count; i++) Assert.IsTrue(ansiStrings[i].Length <= ansiStrings[i].Reserved); VerifyMap(stringMap); VerifyMap(stringUMap); // Verify enum value dynamic e = locals["e"]; Assert.AreEqual("enumEntry3", e.ToString()); Assert.AreEqual(3, (int)e); // Verify shared/weak pointers std.shared_ptr<int> sptr1 = new std.shared_ptr<int>(locals["sptr1"]); std.shared_ptr<int> esptr1 = new std.shared_ptr<int>(locals["esptr1"]); std.shared_ptr<int> esptr2 = new std.shared_ptr<int>(locals["esptr2"]); std.weak_ptr<int> wptr1 = new std.weak_ptr<int>(locals["wptr1"]); std.weak_ptr<int> ewptr1 = new std.weak_ptr<int>(locals["ewptr1"]); std.weak_ptr<int> ewptr2 = new std.weak_ptr<int>(locals["ewptr2"]); Assert.IsFalse(sptr1.IsEmpty); Assert.AreEqual(1, sptr1.SharedCount); Assert.AreEqual(2, sptr1.WeakCount); Assert.AreEqual(5, sptr1.Element); Assert.IsTrue(sptr1.IsCreatedWithMakeShared); Assert.IsFalse(wptr1.IsEmpty); Assert.AreEqual(1, wptr1.SharedCount); Assert.AreEqual(2, wptr1.WeakCount); Assert.AreEqual(5, wptr1.Element); Assert.IsTrue(wptr1.IsCreatedWithMakeShared); Assert.IsTrue(esptr1.IsEmpty); Assert.IsTrue(ewptr1.IsEmpty); Assert.AreEqual(0, ewptr1.SharedCount); Assert.AreEqual(1, ewptr1.WeakCount); Assert.AreEqual(42, ewptr1.UnsafeElement); Assert.IsTrue(ewptr1.IsCreatedWithMakeShared); Assert.IsTrue(esptr2.IsEmpty); Assert.IsTrue(ewptr2.IsEmpty); Assert.AreEqual(0, ewptr2.SharedCount); Assert.AreEqual(1, ewptr2.WeakCount); Assert.IsFalse(ewptr2.IsCreatedWithMakeShared); }