Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Unreachable code? / 6 сообщений из 6, страница 1 из 1
19.09.2013, 08:08:30
    #38400972
daly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unreachable code?
При декомпиляции класса из Maven обнаружил следующий кусок кода:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
    public int doMain(CliRequest cliRequest)
    {
        PlexusContainer localContainer = null;
        int i;
        initialize(cliRequest);
        cli(cliRequest);
        logging(cliRequest);
        version(cliRequest);
        properties(cliRequest);
        localContainer = container(cliRequest);
        commands(cliRequest);
        settings(cliRequest);
        populateRequest(cliRequest);
        encryption(cliRequest);
        repository(cliRequest);
        i = execute(cliRequest);
        if(localContainer != null)
            localContainer.dispose();
        return i;
        ExitException e;
        e;
        int j = e.exitCode;
        if(localContainer != null)
            localContainer.dispose();
        return j;
        e;
        j = 1;
        if(localContainer != null)
            localContainer.dispose();
        return j;
        e;
        CLIReportingUtils.showError(slf4jLogger, "ABORTED", e, cliRequest.showErrors);
        j = 2;
        if(localContainer != null)
            localContainer.dispose();
        return j;
        e;
        CLIReportingUtils.showError(slf4jLogger, "Error executing Maven.", e, cliRequest.showErrors);
        j = 1;
        if(localContainer != null)
            localContainer.dispose();
        return j;
        Exception exception;
        exception;
        if(localContainer != null)
            localContainer.dispose();
        throw exception;
    }


По моей логике после первого же безусловного перехода к оператору return выполнение метода должно прекратится.
Но зачем тогда весь последующий код? И этот странный объект е , идущий рефреном через весь код... Зачем?!
Или это jad нагнал при декомпиляции?
...
Рейтинг: 0 / 0
19.09.2013, 09:43:08
    #38401052
maxkar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unreachable code?
dalyИли это jad нагнал при декомпиляции?
Почему нагадил? Просто не смог. Он вообще не очень хорошо с try/catch/finally работает. Так что лучше возьмите исходник maven'а. Или учитесь читать байткод.
...
Рейтинг: 0 / 0
19.09.2013, 12:57:14
    #38401346
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unreachable code?
Декомпилировать opensource проекты это какое-то новое особое извращение?
Даже если ломает подключить искходники к IDE (что обычно делается в несколько кликов), то можно просто нагуглить класс за несколько секунд и посмотреть:
Запрос
https://www.google.com/search?q="public int doMain(CliRequest"
Ответ
http://maven.apache.org/ref/3.1.0/xref/org/apache/maven/cli/MavenCli.html
https://svn.apache.org/repos/asf/maven/maven-3/tags/maven-3.0-alpha-5/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
...
Рейтинг: 0 / 0
19.09.2013, 14:41:15
    #38401554
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unreachable code?
ну и адовый же код в мавене
...
Рейтинг: 0 / 0
19.09.2013, 14:45:25
    #38401564
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unreachable code?
забыл никну и адовый же код в мавене
Что не так?
...
Рейтинг: 0 / 0
20.09.2013, 17:31:08
    #38403068
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unreachable code?
в eclipse тоже код годный, вложенные if-ы за экран вылезают
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Unreachable code? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]