@@ -31,9 +31,9 @@ FREObject Disassemble(FREContext ctx, void* funcData, uint32_t argc, FREObject a
31
31
32
32
FREObject Assemble (FREContext ctx, void * funcData, uint32_t argc, FREObject argv[])
33
33
{
34
- if (argc != 2 )
34
+ if (argc != 3 )
35
35
{
36
- FAIL (" argc should be 2 " );
36
+ FAIL (" argc should be 3 " );
37
37
}
38
38
39
39
GET_EDITOR (ctx);
@@ -49,6 +49,11 @@ FREObject Assemble(FREContext ctx, void* funcData, uint32_t argc, FREObject argv
49
49
{
50
50
FAIL (" argv[1] is not a vector" );
51
51
}
52
+ DO_OR_FAIL (" Failed to get argv[2] type" , FREGetObjectType (argv[2 ], &type));
53
+ if (type != FRE_TYPE_BOOLEAN)
54
+ {
55
+ FAIL (" argv[2] is not a boolean" );
56
+ }
52
57
53
58
uint32_t vecSize;
54
59
DO_OR_FAIL (" Failed to get argv[1] size" , FREGetArrayLength (argv[1 ], &vecSize));
@@ -72,7 +77,11 @@ FREObject Assemble(FREContext ctx, void* funcData, uint32_t argc, FREObject argv
72
77
strings.emplace (key, val);
73
78
}
74
79
75
- return editor->assemble (std::move (strings));
80
+ uint32_t includeDebugInstructions;
81
+ DO_OR_FAIL (" Failed to get argv[2]'s boolean value" ,
82
+ FREGetObjectAsBool (argv[2 ], &includeDebugInstructions));
83
+
84
+ return editor->assemble (std::move (strings), includeDebugInstructions != 0 );
76
85
}
77
86
78
87
FREObject DisassembleAsync (FREContext ctx, void * funcData, uint32_t argc, FREObject argv[])
@@ -89,9 +98,9 @@ FREObject DisassembleAsync(FREContext ctx, void* funcData, uint32_t argc, FREObj
89
98
90
99
FREObject AssembleAsync (FREContext ctx, void * funcData, uint32_t argc, FREObject argv[])
91
100
{
92
- if (argc != 2 )
101
+ if (argc != 3 )
93
102
{
94
- FAIL (" argc should be 2 " );
103
+ FAIL (" argc should be 3 " );
95
104
}
96
105
97
106
GET_EDITOR (ctx);
@@ -107,6 +116,11 @@ FREObject AssembleAsync(FREContext ctx, void* funcData, uint32_t argc, FREObject
107
116
{
108
117
FAIL (" argv[1] is not a vector" );
109
118
}
119
+ DO_OR_FAIL (" Failed to get argv[2] type" , FREGetObjectType (argv[2 ], &type));
120
+ if (type != FRE_TYPE_BOOLEAN)
121
+ {
122
+ FAIL (" argv[2] is not a boolean" );
123
+ }
110
124
111
125
uint32_t vecSize;
112
126
DO_OR_FAIL (" Failed to get argv[1] size" , FREGetArrayLength (argv[1 ], &vecSize));
@@ -130,7 +144,11 @@ FREObject AssembleAsync(FREContext ctx, void* funcData, uint32_t argc, FREObject
130
144
strings.emplace (key, val);
131
145
}
132
146
133
- return editor->assembleAsync (std::move (strings));
147
+ uint32_t includeDebugInstructions;
148
+ DO_OR_FAIL (" Failed to get argv[2]'s boolean value" ,
149
+ FREGetObjectAsBool (argv[2 ], &includeDebugInstructions));
150
+
151
+ return editor->assembleAsync (std::move (strings), includeDebugInstructions != 0 );
134
152
}
135
153
136
154
FREObject AsyncTaskResult (FREContext ctx, void * funcData, uint32_t argc, FREObject argv[])
0 commit comments