MCPcopy Create free account
hub / github.com/GDRETools/gdsdecomp / copy

Method copy

utility/import_info.cpp:210–259  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

208}
209
210Ref<ImportInfo> ImportInfo::copy(const Ref<ImportInfo> &p_iinfo) {
211 ERR_FAIL_COND_V_MSG(p_iinfo.is_null(), Ref<ImportInfo>(), "ImportInfo is null");
212 Ref<ImportInfo> r_iinfo;
213 switch (p_iinfo->iitype) {
214 case IInfoType::MODERN:
215 r_iinfo = Ref<ImportInfo>(memnew(ImportInfoModern));
216 ((Ref<ImportInfoModern>)r_iinfo)->src_md5 = ((Ref<ImportInfoModern>)p_iinfo)->src_md5;
217 ((Ref<ImportInfoModern>)r_iinfo)->cf = copy_config_file(((Ref<ImportInfoModern>)p_iinfo)->cf);
218 break;
219 case IInfoType::V2:
220 r_iinfo = Ref<ImportInfo>(memnew(ImportInfov2));
221 ((Ref<ImportInfov2>)r_iinfo)->type = ((Ref<ImportInfov2>)p_iinfo)->type;
222 ((Ref<ImportInfov2>)r_iinfo)->dest_files = ((Ref<ImportInfov2>)p_iinfo)->dest_files;
223 ((Ref<ImportInfov2>)r_iinfo)->v2metadata = copy_imd_v2(((Ref<ImportInfov2>)p_iinfo)->v2metadata);
224 break;
225 case IInfoType::DUMMY:
226 r_iinfo = Ref<ImportInfo>(memnew(ImportInfoDummy));
227 ((Ref<ImportInfoDummy>)r_iinfo)->type = ((Ref<ImportInfoDummy>)p_iinfo)->type;
228 ((Ref<ImportInfoDummy>)r_iinfo)->source_file = ((Ref<ImportInfoDummy>)p_iinfo)->source_file;
229 ((Ref<ImportInfoDummy>)r_iinfo)->src_md5 = ((Ref<ImportInfoDummy>)p_iinfo)->src_md5;
230 ((Ref<ImportInfoDummy>)r_iinfo)->dest_files = ((Ref<ImportInfoDummy>)p_iinfo)->dest_files;
231 case IInfoType::REMAP:
232 r_iinfo = Ref<ImportInfo>(memnew(ImportInfoRemap));
233 ((Ref<ImportInfoRemap>)r_iinfo)->type = ((Ref<ImportInfoRemap>)p_iinfo)->type;
234 ((Ref<ImportInfoRemap>)r_iinfo)->source_file = ((Ref<ImportInfoRemap>)p_iinfo)->source_file;
235 ((Ref<ImportInfoRemap>)r_iinfo)->src_md5 = ((Ref<ImportInfoRemap>)p_iinfo)->src_md5;
236 ((Ref<ImportInfoRemap>)r_iinfo)->dest_files = ((Ref<ImportInfoRemap>)p_iinfo)->dest_files;
237 ((Ref<ImportInfoRemap>)r_iinfo)->importer = ((Ref<ImportInfoRemap>)p_iinfo)->importer;
238 break;
239 case IInfoType::GDEXT:
240 r_iinfo = Ref<ImportInfo>(memnew(ImportInfoGDExt));
241 ((Ref<ImportInfoGDExt>)r_iinfo)->type = ((Ref<ImportInfoGDExt>)p_iinfo)->type;
242 ((Ref<ImportInfoGDExt>)r_iinfo)->source_file = ((Ref<ImportInfoGDExt>)p_iinfo)->source_file;
243 ((Ref<ImportInfoGDExt>)r_iinfo)->src_md5 = ((Ref<ImportInfoGDExt>)p_iinfo)->src_md5;
244 ((Ref<ImportInfoGDExt>)r_iinfo)->dest_files = ((Ref<ImportInfoGDExt>)p_iinfo)->dest_files;
245 ((Ref<ImportInfoGDExt>)r_iinfo)->importer = ((Ref<ImportInfoGDExt>)p_iinfo)->importer;
246 ((Ref<ImportInfoGDExt>)r_iinfo)->cf = copy_config_file(((Ref<ImportInfoGDExt>)p_iinfo)->cf);
247 default:
248 break;
249 }
250 r_iinfo->import_md_path = p_iinfo->import_md_path;
251 r_iinfo->ver_major = p_iinfo->ver_major;
252 r_iinfo->ver_minor = p_iinfo->ver_minor;
253 r_iinfo->not_an_import = p_iinfo->not_an_import;
254 r_iinfo->auto_converted_export = p_iinfo->auto_converted_export;
255 r_iinfo->preferred_import_path = p_iinfo->preferred_import_path;
256 r_iinfo->export_dest = p_iinfo->export_dest;
257 r_iinfo->export_lossless_copy = p_iinfo->export_lossless_copy;
258 return r_iinfo;
259}
260
261ImportInfo::ImportInfo() {
262 import_md_path = "";

Callers 4

generate_bundleFunction · 0.80
prepop_cacheFunction · 0.80
copy_libsFunction · 0.80
export_fileMethod · 0.80

Calls 2

copy_config_fileFunction · 0.85
copy_imd_v2Function · 0.85

Tested by

no test coverage detected