@Nonnull @Override public VariableSizeIterator<String> getParameterNames(@Nullable DexReader reader) { if (reader == null) { reader = dexFile.readerAt(debugInfoOffset); reader.skipUleb128(); } // TODO: make sure dalvik doesn't allow more parameter names than we have parameters final int parameterNameCount = reader.readSmallUleb128(); return new VariableSizeIterator<String>(reader, parameterNameCount) { @Override protected String readNextItem(@Nonnull DexReader reader, int index) { return dexFile.getOptionalString(reader.readSmallUleb128() - 1); } }; }