обычная установка описания говорит мне, что мне нужно запустить Pharo как минимум три файла:
- файл изображения
- файл изменений
- исходный файл (например, PharoV10.sources)
Я запускал Pharo 2 без файла с исходным кодом и не заметил никаких проблем. Все источники, казалось, были доступны.
Итак, зачем мне исходный файл (например, PharoV10.sources)?
Ответ 1 · рейтинг 8 · David Buck
Файл изображения содержит только скомпилированный код, а не исходный код. Файл изменений содержит исходный код того, что вы сами добавили в систему, но не исходный код существующих системных классов. Чтобы получить исходный код для существующих системных классов, вам нужен исходный файл.
Сказав это, Smalltalk может декомпилировать код и создать то, что выглядит как исходный код, если исходный файл недоступен. В этом коде будут отсутствовать правильные имена переменных, комментарии и интервалы. Вы действительно не хотите использовать декомпилированный исходный код, поэтому вам нужен доступ к исходному файлу.
Ответ 2 · рейтинг 6 · aka.nice
3 возможных объяснения, попробуйте определить шутку:
- Браузер достаточно умен, чтобы показать вам исходный код, реконструированный (декомпилированный) из байт-кодов CompiledMethod. Подсказка: в этом случае вы потеряете все комментарии
- есть путь поиска исходных файлов, и один находится где-то на вашем диске
- Pharo меняется так быстро, что каждый источник теперь можно найти в файле .changes.
Для проверки 1. вы можете попробовать просмотреть ссылки на декомпилятор (на мой вкус, слишком много применений).
Для проверки 2. вы можете начать просматривать разработчиков #openSourceFiles.
Для проверки 3. вы можете оценить этот фрагмент:
| nSources nChanges |
nSources := nChanges := 0.
SystemNavigation default allBehaviorsDo: [:b |
b selectorsDo: [:s |
(b compiledMethodAt: s) fileIndex = 1
ifTrue: [nSources := nSources+1]
ifFalse: [nChanges := nChanges+1]]].
^{nSources. nChanges}