static List getConstPoolStringItems()

in dubbo-error-code-inspector/src/main/java/org/apache/dubbo/errorcode/extractor/JavassistUtils.java [97:127]


    static List<String> getConstPoolStringItems(ConstPool cp) {
        List<Object> objects = getConstPoolItems(cp);
        List<String> stringItems = new ArrayList<>(cp.getSize());

        for (Object item : objects) {

            Field stringField;

            if (item != null) {
                stringField = getStringFieldInConstPoolItems(item);

                if (stringField == null) {
                    continue;
                }

                Object fieldData;

                try {
                    fieldData = stringField.get(item);
                } catch (IllegalAccessException e) {
                    throw new RuntimeException("Javassist internal field changed.", e);
                }

                if (fieldData.getClass() == String.class) {
                    stringItems.add((String) fieldData);
                }
            }
        }

        return stringItems;
    }