Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,11 @@ public static MethodDescription create(List<Token> comments) {
return MethodDescriptionReader.read(comments);
}

@Override
public String format(String lang, int maxLineLen) {
return "";
}

private List<DescriptionElement> computeAllElements() {
List<DescriptionElement> allElements = new ArrayList<>(keywords);
parameters.forEach(parameter -> allElements.addAll(parameter.allElements()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,24 @@ public interface SourceDefinedSymbolDescription {
*/
List<DescriptionElement> getElements();

/**
* Генерирует отформатированное описание на основании прочитанной информации
*
* @param lang Язык (ru/en) для ключевых слов
* @param maxLineLen Максимальная длина строки (для переноса)
* @return Строка отформатированного описания
*/
String format(String lang, int maxLineLen);

/**
* Генерирует отформатированное описание на основании прочитанной информации с параметрами по умолчанию: ru / 120
*
* @return Строка отформатированного описания
*/
default String format() {
return format("ru", 120);
}

/**
* Проверяет вхождение области заданной двумя пограничными токенами в область описания
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@

import java.util.List;
import java.util.Optional;
import java.util.StringJoiner;

/**
* Класс-описание переменной.
Expand Down Expand Up @@ -88,4 +89,25 @@ public static VariableDescription create(List<Token> comments) {
public static VariableDescription create(List<Token> comments, Optional<Token> trailingComment) {
return VariableDescriptionReader.read(comments, trailingComment);
}

@Override
public String format(String lang, int maxLineLen) {
var sj = new StringJoiner("\n//\t", "//\t", "");
if (deprecated) {
if (deprecationInfo.isEmpty()) {
sj.add("Устарела.");
} else {
sj.add("Устарела. " + deprecationInfo.trim());
}
}

if (!purposeDescription.isEmpty()) {
if (sj.length() > 0) {
sj.add("");
}
purposeDescription.lines().forEach(string -> sj.add(string.trim()));
}

return sj.toString();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,19 +49,19 @@
import static java.util.Objects.requireNonNull;

/**
* Вспомагательный класс для чтения описания метода.
* Вспомогательный класс для чтения описания метода.
*/
public final class MethodDescriptionReader extends BSLDescriptionParserBaseVisitor<ParseTree> {

private final MethodDescription.MethodDescriptionBuilder builder;

/**
* сдвиг номера строки относительно исходного текста
* Сдвиг номера строки относительно исходного текста
*/
private final int lineShift;

/**
* сдвиг номера символа относительно исходного текста (только для первой строки)
* Сдвиг номера символа относительно исходного текста (только для первой строки)
*/
private final int firstLineCharShift;

Expand All @@ -75,7 +75,7 @@ private MethodDescriptionReader(SimpleRange range) {
}

/**
* Читает описание метода из списока токенов комментария.
* Читает описание метода из списка токенов комментария.
*
* @param comments Список токенов комментария.
* @return Описание метода.
Expand Down Expand Up @@ -161,7 +161,8 @@ public ParseTree visitExamplesBlock(BSLDescriptionParser.ExamplesBlockContext ct

@Override
public ParseTree visitCallOptionsBlock(BSLDescriptionParser.CallOptionsBlockContext ctx) {
builder.keyword(newElement(ctx.callOptionsHead().CALL_OPTIONS_KEYWORD(), DescriptionElement.Type.CALL_OPTIONS_KEYWORD));
builder.keyword(newElement(ctx.callOptionsHead().CALL_OPTIONS_KEYWORD(),
DescriptionElement.Type.CALL_OPTIONS_KEYWORD));
var strings = ctx.callOptionsString();
if (strings != null) {
builder.callOptions(strings.stream()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@ public final class VariableDescriptionReader extends BSLDescriptionParserBaseVis
private final VariableDescription.VariableDescriptionBuilder builder;

/**
* сдвиг номера строки относительно исходного текста
* Сдвиг номера строки относительно исходного текста
*/
private final int lineShift;

/**
* сдвиг номера символа относительно исходного текста (только для первой строки)
* Сдвиг номера символа относительно исходного текста (только для первой строки)
*/
private final int firstLineCharShift;

Expand Down