Ошибка Eclipse JCOP Tools — нет определения для метки Метка: 15659979, , блок 230, значение null

Я работаю над апплетом JavaCard и сталкиваюсь со странной ошибкой в ​​моем плагине NXP JCOP Tools Eclipse:

введите здесь описание изображения

В нем говорится: «нет определения для метки Label: XXXXXXXX, блок XXX, определение null».

Ты хоть представляешь, что это может означать? Eclipse подчеркивает имя пакета, но я абсолютно уверен, что имя пакета правильное и что класс находится в правильном пакете. Других ошибок во всем проекте нет (из 11 ошибок выше есть 2 типа "нет определения для метки Label:..." и остальные 9, непосредственно вызванные этими 2). Я пробовал очищать и обновлять проект и удалять все бинарники, но это не помогает.

В столбце "Тип" указано: "com.ibm.bluez.jcop.eclipse.jcopmarker".

Моя версия Eclipse: Версия: 4.2.2 Идентификатор сборки: M20130204-1200


person vojta    schedule 04.11.2014    source источник


Ответы (1)


Я решил проблему, надеюсь, что это может помочь кому-то. Я изменил код метода с

public boolean processAPDU(APDU apdu) {
    final byte[] apduBuf = apdu.getBuffer();

    switch(apduBuf[ISO7816.OFFSET_INS]) {
...

to

public boolean processAPDU(APDU apdu) {
    final byte[] apduBuf = apdu.getBuffer();

    final byte ins = apduBuf[ISO7816.OFFSET_INS];

    switch(ins) {
...

и ошибка исчезла. Возможно, ошибка в NXP JCOP Tools?

person vojta    schedule 04.11.2014
comment
Это удивительно для меня, так как оба блока кода одинаковы по логике, только во втором блоке вы просто сохраняете значение OFFSET_INS в переменную ins и передаете эту переменную в оператор Switch, я не понимаю, почему эта ошибка решается после выполнения только это изменение. Не могли бы вы объяснить мне? - person Bhanu; 30.11.2014
comment
Я тоже этого не понимаю. Однако это действительно помогло. Нам, вероятно, следует спросить кого-нибудь из NXP... - person vojta; 01.12.2014