|
|
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
В некоторых случаях компилятор может определить, что код недостижим, а в некоторых - нет. вопрос такой: когда он может это понять, а когда нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 15:44 |
|
||
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
Вот здесь http://ru.wikipedia.org/wiki/Недостижимый_код можно найти полезную ссылку http://ru.wikipedia.org/wiki/CFG которая, вроде, доходчиво объясняет. На сколько я понимаю Java компилятор во время компиляции строит такой граф и по нему определяет недостижимый код. Компилятор не может определить недостежимый код, если его "недостижимость" обусловлена какими-то факторами внешними к компилируемому методу класса. Определение такого подобного кода уже более трудоёмкая задача и напрямую с процессом компиляуци не связана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 15:53 |
|
||
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
Особо интересующие могут почитать исходный код com\sun\tools\javac\comp\Flow.java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 15:57 |
|
||
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, я точно знаю, что если например Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: java 1. 2. Код: java 1. 2. какие-ниюудь простые случае подскажете ещё ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 16:28 |
|
||
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
redwhite90какие-ниюудь простые случае подскажете ещё ? Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 16:30 |
|
||
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, наверное throw в этом контексте аналогично return ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 16:33 |
|
||
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz На сколько я понимаю Java компилятор во время компиляции строит такой граф и по нему определяет недостижимый код. Компилятор не может определить недостежимый код, если его "недостижимость" обусловлена какими-то факторами внешними к компилируемому методу класса. Определение такого подобного кода уже более трудоёмкая задача и напрямую с процессом компиляуци не связана. Код: java 1. 2. 3. 4. 5. 6. 7. К слову недостижимость в данном случае не обусловлена какими-то внешними факторами, но компилятор ее не определяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 10:54 |
|
||
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
redwhite90, Верно. Циклы компилятор вычислить не может, пока не развернет. Но с тем же успехом можно и while(true) замкнуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 11:07 |
|
||
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ещё и Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 11:15 |
|
||
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
redwhite90Blazkowicz, ещё и Код: java 1. 2. ОК. Я ошибся. Внешние факторы тут не причем. Валидация происходит исключительно по графу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 11:23 |
|
||
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczredwhite90Blazkowicz, ещё и Код: java 1. 2. ОК. Я ошибся. Внешние факторы тут не причем. Валидация происходит исключительно по графу. да и я ошибся, но мы видимо друг друга поняли Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 12:56 |
|
||
|
Как компилятор определяет недостижимый код?
|
|||
|---|---|---|---|
|
#18+
redwhite90вопрос такой: когда он может это понять, а когда нет? Все строго спецификации. JSL Chap. 14.21 Unreacheable Statements ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 18:15 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38557359&tid=2127652]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 413ms |

| 0 / 0 |
