Skip to content

Commit 04c9540

Browse files
committed
Use initializer list in Arrays
1 parent 97241ff commit 04c9540

File tree

69 files changed

+343
-940
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+343
-940
lines changed

core/debugger/debugger_marshalls.cpp

+14-18
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@
3636
#define CHECK_END(arr, expected, what) ERR_FAIL_COND_V_MSG((uint32_t)arr.size() > (uint32_t)expected, false, String("Malformed ") + what + " message from script debugger, message too long. Expected size: " + itos(expected) + ", actual size: " + itos(arr.size()))
3737

3838
Array DebuggerMarshalls::ScriptStackDump::serialize() {
39-
Array arr;
40-
arr.push_back(frames.size() * 3);
39+
Array arr{ frames.size() * 3 };
4140
for (const ScriptLanguage::StackInfo &frame : frames) {
4241
arr.push_back(frame.file);
4342
arr.push_back(frame.line);
@@ -64,10 +63,7 @@ bool DebuggerMarshalls::ScriptStackDump::deserialize(const Array &p_arr) {
6463
}
6564

6665
Array DebuggerMarshalls::ScriptStackVariable::serialize(int max_size) {
67-
Array arr;
68-
arr.push_back(name);
69-
arr.push_back(type);
70-
arr.push_back(value.get_type());
66+
Array arr{ name, type, value.get_type() };
7167

7268
Variant var = value;
7369
if (value.get_type() == Variant::OBJECT && value.get_validated_object() == nullptr) {
@@ -99,20 +95,20 @@ bool DebuggerMarshalls::ScriptStackVariable::deserialize(const Array &p_arr) {
9995
}
10096

10197
Array DebuggerMarshalls::OutputError::serialize() {
102-
Array arr;
103-
arr.push_back(hr);
104-
arr.push_back(min);
105-
arr.push_back(sec);
106-
arr.push_back(msec);
107-
arr.push_back(source_file);
108-
arr.push_back(source_func);
109-
arr.push_back(source_line);
110-
arr.push_back(error);
111-
arr.push_back(error_descr);
112-
arr.push_back(warning);
11398
unsigned int size = callstack.size();
99+
Array arr{
100+
hr,
101+
min,
102+
sec, msec,
103+
source_file,
104+
source_func,
105+
source_line,
106+
error,
107+
error_descr,
108+
warning,
109+
size * 3
110+
};
114111
const ScriptLanguage::StackInfo *r = callstack.ptr();
115-
arr.push_back(size * 3);
116112
for (int i = 0; i < callstack.size(); i++) {
117113
arr.push_back(r[i].file);
118114
arr.push_back(r[i].func);

core/debugger/engine_debugger.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,7 @@ void EngineDebugger::initialize(const String &p_uri, bool p_skip_breakpoints, bo
149149
singleton = memnew(RemoteDebugger(Ref<RemoteDebuggerPeer>(peer)));
150150
script_debugger = memnew(ScriptDebugger);
151151
// Notify editor of our pid (to allow focus stealing).
152-
Array msg;
153-
msg.push_back(OS::get_singleton()->get_process_id());
152+
Array msg{ OS::get_singleton()->get_process_id() };
154153
singleton->send_message("set_pid", msg);
155154
}
156155
if (!singleton) {

core/debugger/remote_debugger.cpp

+9-14
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,7 @@ class RemoteDebugger::PerformanceProfiler : public EngineProfiler {
9595
};
9696

9797
Error RemoteDebugger::_put_msg(const String &p_message, const Array &p_data) {
98-
Array msg;
99-
msg.push_back(p_message);
100-
msg.push_back(Thread::get_caller_id());
101-
msg.push_back(p_data);
98+
Array msg{ p_message, Thread::get_caller_id(), p_data };
10299
Error err = peer->put_message(msg);
103100
if (err != OK) {
104101
n_messages_dropped++;
@@ -235,9 +232,7 @@ void RemoteDebugger::flush_output() {
235232
types.push_back(MESSAGE_TYPE_LOG);
236233
}
237234

238-
Array arr;
239-
arr.push_back(strings);
240-
arr.push_back(types);
235+
Array arr{ strings, types };
241236
_put_msg("output", arr);
242237
output_strings.clear();
243238
}
@@ -418,11 +413,12 @@ void RemoteDebugger::debug(bool p_can_continue, bool p_is_error_breakpoint) {
418413
const String error_str = script_lang ? script_lang->debug_get_error() : "";
419414

420415
if (can_break) {
421-
Array msg;
422-
msg.push_back(p_can_continue);
423-
msg.push_back(error_str);
424-
msg.push_back(script_lang->debug_get_stack_level_count() > 0);
425-
msg.push_back(Thread::get_caller_id());
416+
Array msg{
417+
p_can_continue,
418+
error_str,
419+
script_lang->debug_get_stack_level_count() > 0,
420+
Thread::get_caller_id()
421+
};
426422
if (allow_focus_steal_fn) {
427423
allow_focus_steal_fn();
428424
}
@@ -514,8 +510,7 @@ void RemoteDebugger::debug(bool p_can_continue, bool p_is_error_breakpoint) {
514510
script_lang->debug_get_globals(&globals, &globals_vals);
515511
ERR_FAIL_COND(globals.size() != globals_vals.size());
516512

517-
Array var_size;
518-
var_size.push_back(local_vals.size() + member_vals.size() + globals_vals.size());
513+
Array var_size{ local_vals.size() + member_vals.size() + globals_vals.size() };
519514
send_message("stack_frame_vars", var_size);
520515
_send_stack_vars(locals, local_vals, 0);
521516
_send_stack_vars(members, member_vals, 1);

core/io/json.cpp

+25-129
Original file line numberDiff line numberDiff line change
@@ -664,201 +664,97 @@ Variant JSON::_from_native(const Variant &p_variant, bool p_full_objects, int p_
664664

665665
case Variant::VECTOR2: {
666666
const Vector2 v = p_variant;
667-
668-
Array args;
669-
args.push_back(v.x);
670-
args.push_back(v.y);
671-
667+
Array args{ v.x, v.y };
672668
RETURN_ARGS;
673669
} break;
674670
case Variant::VECTOR2I: {
675671
const Vector2i v = p_variant;
676-
677-
Array args;
678-
args.push_back(v.x);
679-
args.push_back(v.y);
680-
672+
Array args{ v.x, v.y };
681673
RETURN_ARGS;
682674
} break;
683675
case Variant::RECT2: {
684676
const Rect2 r = p_variant;
685-
686-
Array args;
687-
args.push_back(r.position.x);
688-
args.push_back(r.position.y);
689-
args.push_back(r.size.width);
690-
args.push_back(r.size.height);
691-
677+
Array args{ r.position.x, r.position.y, r.size.width, r.size.height };
692678
RETURN_ARGS;
693679
} break;
694680
case Variant::RECT2I: {
695681
const Rect2i r = p_variant;
696-
697-
Array args;
698-
args.push_back(r.position.x);
699-
args.push_back(r.position.y);
700-
args.push_back(r.size.width);
701-
args.push_back(r.size.height);
702-
682+
Array args{ r.position.x, r.position.y, r.size.width, r.size.height };
703683
RETURN_ARGS;
704684
} break;
705685
case Variant::VECTOR3: {
706686
const Vector3 v = p_variant;
707-
708-
Array args;
709-
args.push_back(v.x);
710-
args.push_back(v.y);
711-
args.push_back(v.z);
712-
687+
Array args{ v.x, v.y, v.z };
713688
RETURN_ARGS;
714689
} break;
715690
case Variant::VECTOR3I: {
716691
const Vector3i v = p_variant;
717-
718-
Array args;
719-
args.push_back(v.x);
720-
args.push_back(v.y);
721-
args.push_back(v.z);
722-
692+
Array args{ v.x, v.y, v.z };
723693
RETURN_ARGS;
724694
} break;
725695
case Variant::TRANSFORM2D: {
726696
const Transform2D t = p_variant;
727-
728-
Array args;
729-
args.push_back(t[0].x);
730-
args.push_back(t[0].y);
731-
args.push_back(t[1].x);
732-
args.push_back(t[1].y);
733-
args.push_back(t[2].x);
734-
args.push_back(t[2].y);
735-
697+
Array args{ t[0].x, t[0].y, t[1].x, t[1].y, t[2].x, t[2].y };
736698
RETURN_ARGS;
737699
} break;
738700
case Variant::VECTOR4: {
739701
const Vector4 v = p_variant;
740-
741-
Array args;
742-
args.push_back(v.x);
743-
args.push_back(v.y);
744-
args.push_back(v.z);
745-
args.push_back(v.w);
746-
702+
Array args{ v.x, v.y, v.z, v.w };
747703
RETURN_ARGS;
748704
} break;
749705
case Variant::VECTOR4I: {
750706
const Vector4i v = p_variant;
751-
752-
Array args;
753-
args.push_back(v.x);
754-
args.push_back(v.y);
755-
args.push_back(v.z);
756-
args.push_back(v.w);
757-
707+
Array args{ v.x, v.y, v.z, v.w };
758708
RETURN_ARGS;
759709
} break;
760710
case Variant::PLANE: {
761711
const Plane p = p_variant;
762-
763-
Array args;
764-
args.push_back(p.normal.x);
765-
args.push_back(p.normal.y);
766-
args.push_back(p.normal.z);
767-
args.push_back(p.d);
768-
712+
Array args{ p.normal.x, p.normal.y, p.normal.z, p.d };
769713
RETURN_ARGS;
770714
} break;
771715
case Variant::QUATERNION: {
772716
const Quaternion q = p_variant;
773-
774-
Array args;
775-
args.push_back(q.x);
776-
args.push_back(q.y);
777-
args.push_back(q.z);
778-
args.push_back(q.w);
779-
717+
Array args{ q.x, q.y, q.z, q.w };
780718
RETURN_ARGS;
781719
} break;
782720
case Variant::AABB: {
783721
const AABB aabb = p_variant;
784-
785-
Array args;
786-
args.push_back(aabb.position.x);
787-
args.push_back(aabb.position.y);
788-
args.push_back(aabb.position.z);
789-
args.push_back(aabb.size.x);
790-
args.push_back(aabb.size.y);
791-
args.push_back(aabb.size.z);
792-
722+
Array args{ aabb.position.x, aabb.position.y, aabb.position.z, aabb.size.x, aabb.size.y, aabb.size.z };
793723
RETURN_ARGS;
794724
} break;
795725
case Variant::BASIS: {
796726
const Basis b = p_variant;
797727

798-
Array args;
799-
args.push_back(b.get_column(0).x);
800-
args.push_back(b.get_column(0).y);
801-
args.push_back(b.get_column(0).z);
802-
args.push_back(b.get_column(1).x);
803-
args.push_back(b.get_column(1).y);
804-
args.push_back(b.get_column(1).z);
805-
args.push_back(b.get_column(2).x);
806-
args.push_back(b.get_column(2).y);
807-
args.push_back(b.get_column(2).z);
728+
Array args{ b.get_column(0).x, b.get_column(0).y, b.get_column(0).z,
729+
b.get_column(1).x, b.get_column(1).y, b.get_column(1).z,
730+
b.get_column(2).x, b.get_column(2).y, b.get_column(2).z };
808731

809732
RETURN_ARGS;
810733
} break;
811734
case Variant::TRANSFORM3D: {
812735
const Transform3D t = p_variant;
813736

814-
Array args;
815-
args.push_back(t.basis.get_column(0).x);
816-
args.push_back(t.basis.get_column(0).y);
817-
args.push_back(t.basis.get_column(0).z);
818-
args.push_back(t.basis.get_column(1).x);
819-
args.push_back(t.basis.get_column(1).y);
820-
args.push_back(t.basis.get_column(1).z);
821-
args.push_back(t.basis.get_column(2).x);
822-
args.push_back(t.basis.get_column(2).y);
823-
args.push_back(t.basis.get_column(2).z);
824-
args.push_back(t.origin.x);
825-
args.push_back(t.origin.y);
826-
args.push_back(t.origin.z);
737+
Array args{ t.basis.get_column(0).x, t.basis.get_column(0).y, t.basis.get_column(0).z,
738+
t.basis.get_column(1).x, t.basis.get_column(1).y, t.basis.get_column(1).z,
739+
t.basis.get_column(2).x, t.basis.get_column(2).y, t.basis.get_column(2).z,
740+
t.origin.x, t.origin.y, t.origin.z };
827741

828742
RETURN_ARGS;
829743
} break;
830744
case Variant::PROJECTION: {
831745
const Projection p = p_variant;
832746

833-
Array args;
834-
args.push_back(p[0].x);
835-
args.push_back(p[0].y);
836-
args.push_back(p[0].z);
837-
args.push_back(p[0].w);
838-
args.push_back(p[1].x);
839-
args.push_back(p[1].y);
840-
args.push_back(p[1].z);
841-
args.push_back(p[1].w);
842-
args.push_back(p[2].x);
843-
args.push_back(p[2].y);
844-
args.push_back(p[2].z);
845-
args.push_back(p[2].w);
846-
args.push_back(p[3].x);
847-
args.push_back(p[3].y);
848-
args.push_back(p[3].z);
849-
args.push_back(p[3].w);
747+
Array args{ p[0].x,
748+
p[0].y, p[0].z, p[0].w,
749+
p[1].x, p[1].y, p[1].z, p[1].w,
750+
p[2].x, p[2].y, p[2].z, p[2].w,
751+
p[3].x, p[3].y, p[3].z, p[3].w };
850752

851753
RETURN_ARGS;
852754
} break;
853755
case Variant::COLOR: {
854756
const Color c = p_variant;
855-
856-
Array args;
857-
args.push_back(c.r);
858-
args.push_back(c.g);
859-
args.push_back(c.b);
860-
args.push_back(c.a);
861-
757+
Array args{ c.r, c.g, c.b, c.a };
862758
RETURN_ARGS;
863759
} break;
864760

core/variant/array.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ struct ArrayPrivate {
4545
Vector<Variant> array;
4646
Variant *read_only = nullptr; // If enabled, a pointer is used to a temporary value that is used to return read-only values.
4747
ContainerTypeValidate typed;
48+
49+
ArrayPrivate() {}
50+
ArrayPrivate(std::initializer_list<Variant> p_init) :
51+
array(p_init) {}
4852
};
4953

5054
void Array::_ref(const Array &p_from) const {

core/variant/variant_op.h

+3-7
Original file line numberDiff line numberDiff line change
@@ -907,9 +907,7 @@ template <typename S>
907907
class OperatorEvaluatorStringFormat<S, void> {
908908
public:
909909
_FORCE_INLINE_ static String do_mod(const String &s, bool *r_valid) {
910-
Array values;
911-
values.push_back(Variant());
912-
910+
Array values{ Variant() };
913911
String a = s.sprintf(values, r_valid);
914912
if (r_valid) {
915913
*r_valid = !*r_valid;
@@ -966,8 +964,7 @@ template <typename S>
966964
class OperatorEvaluatorStringFormat<S, Object> {
967965
public:
968966
_FORCE_INLINE_ static String do_mod(const String &s, const Object *p_object, bool *r_valid) {
969-
Array values;
970-
values.push_back(p_object);
967+
Array values{ p_object };
971968
String a = s.sprintf(values, r_valid);
972969
if (r_valid) {
973970
*r_valid = !*r_valid;
@@ -997,8 +994,7 @@ template <typename S, typename T>
997994
class OperatorEvaluatorStringFormat {
998995
public:
999996
_FORCE_INLINE_ static String do_mod(const String &s, const T &p_value, bool *r_valid) {
1000-
Array values;
1001-
values.push_back(p_value);
997+
Array values{ p_value };
1002998
String a = s.sprintf(values, r_valid);
1003999
if (r_valid) {
10041000
*r_valid = !*r_valid;

0 commit comments

Comments
 (0)