79 |
79 |
80 str LDSubfile::getContents () { |
80 str LDSubfile::getContents () { |
81 str val = fmt ("1 %d %s ", color (), position ().stringRep (false).chars ()); |
81 str val = fmt ("1 %d %s ", color (), position ().stringRep (false).chars ()); |
82 val += transform ().stringRep (); |
82 val += transform ().stringRep (); |
83 val += ' '; |
83 val += ' '; |
84 val += fileName; |
84 val += fileInfo ()->name (); |
85 return val; |
85 return val; |
86 } |
86 } |
87 |
87 |
88 str LDLine::getContents () { |
88 str LDLine::getContents () { |
89 str val = fmt ("2 %d", color ()); |
89 str val = fmt ("2 %d", color ()); |
260 // ============================================================================= |
260 // ============================================================================= |
261 vector<LDObject*> LDSubfile::inlineContents (bool deep, bool cache) { |
261 vector<LDObject*> LDSubfile::inlineContents (bool deep, bool cache) { |
262 vector<LDObject*> objs, objcache; |
262 vector<LDObject*> objs, objcache; |
263 |
263 |
264 // If we have this cached, just clone that |
264 // If we have this cached, just clone that |
265 if (deep && fileInfo->cache ().size ()) { |
265 if (deep && fileInfo ()->cache ().size ()) { |
266 for (LDObject* obj : fileInfo->cache ()) |
266 for (LDObject* obj : fileInfo ()->cache ()) |
267 objs << obj->clone (); |
267 objs << obj->clone (); |
268 } else { |
268 } else { |
269 if (!deep) |
269 if (!deep) |
270 cache = false; |
270 cache = false; |
271 |
271 |
272 for (LDObject* obj : fileInfo->objs ()) { |
272 for (LDObject* obj : *fileInfo ()) { |
273 // Skip those without schemantic meaning |
273 // Skip those without schemantic meaning |
274 switch (obj->getType ()) { |
274 switch (obj->getType ()) { |
275 case LDObject::Comment: |
275 case LDObject::Comment: |
276 case LDObject::Empty: |
276 case LDObject::Empty: |
277 case LDObject::Gibberish: |
277 case LDObject::Gibberish: |
311 objs << obj->clone (); |
311 objs << obj->clone (); |
312 } |
312 } |
313 } |
313 } |
314 |
314 |
315 if (cache) |
315 if (cache) |
316 fileInfo->setCache (objcache); |
316 fileInfo ()->setCache (objcache); |
317 } |
317 } |
318 |
318 |
319 // Transform the objects |
319 // Transform the objects |
320 for (LDObject* obj : objs) { |
320 for (LDObject* obj : objs) { |
321 // Set the parent now so we know what inlined this. |
321 // Set the parent now so we know what inlined this. |