/
schurik_07
/
example
Обзор
Документация
Войти
/
schurik_07
/
example
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/com/nasmlanguage/NASMChooseByNameContributor.java
36 строк
1 KB
ajkhoury
Update to JDK 17 and improve grammar for labels & macros
18 июл 2023, 23:48
18 июл 2023, 23:48
22a29e1
Код
Авторство
О чём код?
package com.nasmlanguage; import java.util.*; import org.jetbrains.annotations.NotNull; import com.intellij.navigation.*; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.nasmlanguage.psi.NASMIdentifier; public class NASMChooseByNameContributor implements ChooseByNameContributor { @NotNull @Override public String[] getNames(Project project, boolean includeNonProjectItems) { List<NASMIdentifier> identifiers = NASMUtil.findIdentifierReferencesInProject(project); List<String> names = new ArrayList<>(identifiers.size()); for (NASMIdentifier identifier : identifiers) { PsiElement idElement = identifier.getId(); if (idElement != null) { String identifierString = idElement.getText(); if (identifierString != null && identifierString.length() > 0) { names.add(identifierString); } } } return names.toArray(new String[names.size()]); } @NotNull @Override public NavigationItem[] getItemsByName(String name, String pattern, Project project, boolean includeNonProjectItems) { List<NASMIdentifier> identifiers = NASMUtil.findIdentifierReferencesByIdInProject(project, name); return identifiers.toArray(new NavigationItem[identifiers.size()]); } }