diff --git a/src/main/java/com/probejs/compiler/EventCompiler.java b/src/main/java/com/probejs/compiler/EventCompiler.java index a822a965..ad70d4c4 100644 --- a/src/main/java/com/probejs/compiler/EventCompiler.java +++ b/src/main/java/com/probejs/compiler/EventCompiler.java @@ -95,7 +95,7 @@ private static void writeWildcardEvents(BufferedWriter writer) throws IOExceptio "", "E.g. `player.data_from_server.reload`, `ftbquests.completed.123456`" ) - .format(0, 0) + .formatLines(0, 0) ); lines.add( "declare function onEvent(name: `${string}.${string}`, handler: (event: Internal.EventJS) => void): void;" diff --git a/src/main/java/com/probejs/compiler/TypingCompiler.java b/src/main/java/com/probejs/compiler/TypingCompiler.java index ce698b09..8c6a62d2 100644 --- a/src/main/java/com/probejs/compiler/TypingCompiler.java +++ b/src/main/java/com/probejs/compiler/TypingCompiler.java @@ -78,7 +78,7 @@ public static void compileGlobal(Set> globalClasses) throws IOException NameResolver.ResolvedName name = NameResolver.getResolvedName(clazz.getName()); if (name.getNamespace().isEmpty()) { - for (String line : formatter.format(0, 4)) { + for (String line : formatter.formatLines(0, 4)) { writer.write(line); writer.write("\n"); } @@ -96,7 +96,7 @@ public static void compileGlobal(Set> globalClasses) throws IOException val path = entry.getKey(); val formatters = entry.getValue(); val namespace = new FormatterNamespace(path, formatters); - for (val line : namespace.format(0, 4)) { + for (val line : namespace.formatLines(0, 4)) { writer.write(line); writer.write('\n'); } @@ -113,17 +113,17 @@ public static void compileGlobal(Set> globalClasses) throws IOException "Document", DocManager.classAdditions.values().stream().map(l -> l.get(0)).collect(Collectors.toList()) ) - .format(0, 4)) { + .formatLines(0, 4)) { writer.write(line); writer.write("\n"); } //namespace::Type - for (String line : new FormatterNamespace("Type", DocManager.typeDocuments).format(0, 4)) { + for (String line : new FormatterNamespace("Type", DocManager.typeDocuments).formatLines(0, 4)) { writer.write(line); writer.write("\n"); } //no namespace - for (String line : new FormatterRaw(DocManager.rawTSDoc).format(0, 4)) { + for (String line : new FormatterRaw(DocManager.rawTSDoc).formatLines(0, 4)) { writer.write(line); writer.write("\n"); } diff --git a/src/main/java/com/probejs/compiler/rich/lang/FormatterLang.java b/src/main/java/com/probejs/compiler/rich/lang/FormatterLang.java index a896f513..78bd51ea 100644 --- a/src/main/java/com/probejs/compiler/rich/lang/FormatterLang.java +++ b/src/main/java/com/probejs/compiler/rich/lang/FormatterLang.java @@ -2,6 +2,7 @@ import com.probejs.ProbeJS; import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.util.PUtil; import java.util.*; import java.util.function.Consumer; @@ -13,7 +14,7 @@ import net.minecraft.client.resources.language.LanguageManager; import net.minecraft.locale.Language; -public class FormatterLang implements IFormatter { +public class FormatterLang implements MultiFormatter { public static final LanguageInfo DEFAULT_LANGUAGE = new LanguageInfo("en_us", "US", "English", false); private static final Set ALL_KEYS = new HashSet<>(); @@ -33,7 +34,7 @@ public static Set getAllKeys() { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { if (!(Language.getInstance() instanceof ClientLanguage)) { return new ArrayList<>(0); } diff --git a/src/main/java/com/probejs/compiler/special/PlatformDataCompiler.java b/src/main/java/com/probejs/compiler/special/PlatformDataCompiler.java index c98d84ab..e409aead 100644 --- a/src/main/java/com/probejs/compiler/special/PlatformDataCompiler.java +++ b/src/main/java/com/probejs/compiler/special/PlatformDataCompiler.java @@ -24,7 +24,7 @@ public static void compile(BufferedWriter writer) throws IOException { //more? for (final String line : new FormatterNamespace("platform", new FormatterRaw(lines, false)) - .format(0, 4)) { + .formatLines(0, 4)) { writer.write(line); writer.write('\n'); } diff --git a/src/main/java/com/probejs/compiler/special/RecipeHoldersCompiler.java b/src/main/java/com/probejs/compiler/special/RecipeHoldersCompiler.java index ebc3200a..04db04e0 100644 --- a/src/main/java/com/probejs/compiler/special/RecipeHoldersCompiler.java +++ b/src/main/java/com/probejs/compiler/special/RecipeHoldersCompiler.java @@ -66,7 +66,7 @@ public static List format(int indent, int stepIndent) { namespecedFmtr.add(new FormatterRaw(lines, false)); } - return new FormatterNamespace("stub.probejs", namespecedFmtr).format(indent, stepIndent); + return new FormatterNamespace("stub.probejs", namespecedFmtr).formatLines(indent, stepIndent); } public static void compile(BufferedWriter writer) throws IOException { diff --git a/src/main/java/com/probejs/compiler/special/RegistryCompiler.java b/src/main/java/com/probejs/compiler/special/RegistryCompiler.java index 82d4d673..9c09153e 100644 --- a/src/main/java/com/probejs/compiler/special/RegistryCompiler.java +++ b/src/main/java/com/probejs/compiler/special/RegistryCompiler.java @@ -49,7 +49,7 @@ public static void compile(BufferedWriter writer) throws IOException { formatters.add(new FormatterNamespace(namespace, new FormatterRaw(lines, false))); }); val namespaced = new FormatterNamespace("Registry", formatters); - for (val line : namespaced.format(0, 4)) { + for (val line : namespaced.formatLines(0, 4)) { writer.write(line); writer.write('\n'); } diff --git a/src/main/java/com/probejs/compiler/special/TagCompiler.java b/src/main/java/com/probejs/compiler/special/TagCompiler.java index e01f6772..df94ae0b 100644 --- a/src/main/java/com/probejs/compiler/special/TagCompiler.java +++ b/src/main/java/com/probejs/compiler/special/TagCompiler.java @@ -36,7 +36,7 @@ public static List format(int indent, int stepIndent) { ) .collect(Collectors.toList()); return new FormatterNamespace("Tag", new FormatterRaw(lines, false)) - .format(indent, stepIndent); + .formatLines(indent, stepIndent); } public static void compile(BufferedWriter writer) throws IOException { diff --git a/src/main/java/com/probejs/document/DocumentClass.java b/src/main/java/com/probejs/document/DocumentClass.java index c4d698fc..10461a96 100644 --- a/src/main/java/com/probejs/document/DocumentClass.java +++ b/src/main/java/com/probejs/document/DocumentClass.java @@ -1,7 +1,7 @@ package com.probejs.document; import com.probejs.document.comment.CommentUtil; -import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.util.PUtil; import lombok.Getter; import lombok.Setter; @@ -9,7 +9,7 @@ import java.util.ArrayList; import java.util.List; -public class DocumentClass extends DocumentProperty implements IConcrete, IFormatter { +public class DocumentClass extends DocumentProperty implements IConcrete, MultiFormatter { @Setter @Getter @@ -48,7 +48,7 @@ public void merge(DocumentClass other) { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { List lines = new ArrayList<>(); StringBuilder firstLine = new StringBuilder(PUtil.indent(indent)) .append("class ") @@ -61,8 +61,8 @@ public List format(int indent, int stepIndent) { firstLine.append("implements ").append(String.join(", ", this.interfaces)).append(' '); } lines.add(firstLine.append('{').toString()); - this.fieldDocs.forEach(f -> lines.addAll(f.format(indent + stepIndent, stepIndent))); - this.methodDocs.forEach(m -> lines.addAll(m.format(indent + stepIndent, stepIndent))); + this.fieldDocs.forEach(f -> lines.addAll(f.formatLines(indent + stepIndent, stepIndent))); + this.methodDocs.forEach(m -> lines.addAll(m.formatLines(indent + stepIndent, stepIndent))); lines.add(PUtil.indent(indent) + "}"); return lines; } diff --git a/src/main/java/com/probejs/document/DocumentComment.java b/src/main/java/com/probejs/document/DocumentComment.java index 26335230..4aadbe87 100644 --- a/src/main/java/com/probejs/document/DocumentComment.java +++ b/src/main/java/com/probejs/document/DocumentComment.java @@ -4,6 +4,7 @@ import com.probejs.document.comment.CommentHandler; import com.probejs.document.comment.CommentUtil; import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.util.PUtil; import java.util.ArrayList; import java.util.Collection; @@ -11,7 +12,7 @@ import java.util.List; import java.util.stream.Collectors; -public class DocumentComment implements IDecorative, IFormatter { +public class DocumentComment implements IDecorative, MultiFormatter { private final List documentText; private final HashMap, List> abstractComments = new HashMap<>(); @@ -59,7 +60,7 @@ public List getDocumentText() { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { return getDocumentText().stream().map(PUtil.indent(indent)::concat).collect(Collectors.toList()); } } diff --git a/src/main/java/com/probejs/document/DocumentField.java b/src/main/java/com/probejs/document/DocumentField.java index a7260abd..65c1e97c 100644 --- a/src/main/java/com/probejs/document/DocumentField.java +++ b/src/main/java/com/probejs/document/DocumentField.java @@ -3,7 +3,7 @@ import com.probejs.document.parser.processor.IDocumentProvider; import com.probejs.document.type.IDocType; import com.probejs.document.type.DocTypeResolver; -import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.util.PUtil; import com.probejs.util.Pair; import com.probejs.util.StringUtil; @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.List; -public class DocumentField extends DocumentProperty implements IDocumentProvider, IFormatter { +public class DocumentField extends DocumentProperty implements IDocumentProvider, MultiFormatter { private final boolean isFinal; private final boolean isStatic; @@ -61,10 +61,10 @@ public DocumentField provide() { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { List formatted = new ArrayList<>(); if (comment != null) { - formatted.addAll(comment.format(indent, stepIndent)); + formatted.addAll(comment.formatLines(indent, stepIndent)); } formatted.add( String.format( diff --git a/src/main/java/com/probejs/document/DocumentMethod.java b/src/main/java/com/probejs/document/DocumentMethod.java index a7dbf864..4700231b 100644 --- a/src/main/java/com/probejs/document/DocumentMethod.java +++ b/src/main/java/com/probejs/document/DocumentMethod.java @@ -3,7 +3,7 @@ import com.probejs.document.parser.processor.IDocumentProvider; import com.probejs.document.type.IDocType; import com.probejs.document.type.DocTypeResolver; -import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.info.clazz.MethodInfo; import com.probejs.util.PUtil; import com.probejs.util.StringUtil; @@ -14,7 +14,7 @@ public class DocumentMethod extends DocumentProperty - implements IDocumentProvider, IFormatter { + implements IDocumentProvider, MultiFormatter { @Override public DocumentMethod provide() { @@ -30,9 +30,9 @@ public String getMethodBody() { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { List formatted = new ArrayList<>(); - if (comment != null) formatted.addAll(comment.format(indent, stepIndent)); + if (comment != null) formatted.addAll(comment.formatLines(indent, stepIndent)); String paramStr = getParams() .stream() .map(documentParam -> diff --git a/src/main/java/com/probejs/document/DocumentType.java b/src/main/java/com/probejs/document/DocumentType.java index 32d14e67..a4570366 100644 --- a/src/main/java/com/probejs/document/DocumentType.java +++ b/src/main/java/com/probejs/document/DocumentType.java @@ -4,7 +4,7 @@ import com.probejs.document.parser.processor.IDocumentProvider; import com.probejs.document.type.IDocType; import com.probejs.document.type.DocTypeResolver; -import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.util.PUtil; import com.probejs.util.Pair; import com.probejs.util.StringUtil; @@ -15,7 +15,7 @@ import java.util.List; @Getter -public class DocumentType implements IDocumentProvider, IFormatter, IConcrete { +public class DocumentType implements IDocumentProvider, MultiFormatter, IConcrete { //type = ; @@ -43,7 +43,7 @@ public DocumentType provide() { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { if (!CommentUtil.isLoaded(comment) || CommentUtil.isHidden(comment)) { return new ArrayList<>(0); } diff --git a/src/main/java/com/probejs/formatter/FormatterClass.java b/src/main/java/com/probejs/formatter/FormatterClass.java index 5335fa77..16d68499 100644 --- a/src/main/java/com/probejs/formatter/FormatterClass.java +++ b/src/main/java/com/probejs/formatter/FormatterClass.java @@ -12,7 +12,7 @@ import com.probejs.document.comment.CommentUtil; import com.probejs.document.type.IDocType; import com.probejs.formatter.api.DocumentReceiver; -import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.formatter.resolver.NameResolver; import com.probejs.info.clazz.ClassInfo; import com.probejs.info.clazz.FieldInfo; @@ -27,7 +27,7 @@ import java.util.*; import java.util.stream.Collectors; -public class FormatterClass extends DocumentReceiver implements IFormatter { +public class FormatterClass extends DocumentReceiver implements MultiFormatter { private final ClassInfo classInfo; private final Map fieldFormatters; @@ -78,14 +78,14 @@ public static String formatParameterized(IType info) { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { List lines = new ArrayList<>(); DocumentComment comment = document == null ? null : document.getComment(); if (comment != null) { if (CommentUtil.isHidden(comment)) { return lines; } - lines.addAll(comment.format(indent, stepIndent)); + lines.addAll(comment.formatLines(indent, stepIndent)); } List assignableTypes = DocManager.typesAssignable @@ -180,7 +180,7 @@ public List format(int indent, int stepIndent) { //not static interface in namespace `Internal` !(classInfo.isInterface() && fmtrMethod.getInfo().isStatic() && internal) ) - .forEach(fmtrMethod -> lines.addAll(fmtrMethod.format(indent + stepIndent, stepIndent))); + .forEach(fmtrMethod -> lines.addAll(fmtrMethod.formatLines(indent + stepIndent, stepIndent))); //fields fieldFormatters .entrySet() @@ -189,7 +189,7 @@ public List format(int indent, int stepIndent) { .filter(f -> !(classInfo.isInterface() && f.getValue().getFieldInfo().isStatic() && internal)) .forEach(f -> { f.getValue().setFromInterface(classInfo.isInterface()); - lines.addAll(f.getValue().format(indent + stepIndent, stepIndent)); + lines.addAll(f.getValue().formatLines(indent + stepIndent, stepIndent)); }); // beans @@ -254,21 +254,21 @@ public List format(int indent, int stepIndent) { lines.addAll( new FormatterComments("Internal constructor, not callable unless via `java()`.") .setStyle(FormatterComments.CommentStyle.J_DOC) - .format(indent + stepIndent, stepIndent) + .formatLines(indent + stepIndent, stepIndent) ); } classInfo .getConstructors() .stream() .map(FormatterConstructor::new) - .forEach(f -> lines.addAll(f.format(indent + stepIndent, stepIndent))); + .forEach(f -> lines.addAll(f.formatLines(indent + stepIndent, stepIndent))); } // additions for (DocumentField fieldDoc : fieldAdditions) { - lines.addAll(fieldDoc.format(indent + stepIndent, stepIndent)); + lines.addAll(fieldDoc.formatLines(indent + stepIndent, stepIndent)); } for (DocumentMethod methodDoc : methodAdditions) { - lines.addAll(methodDoc.format(indent + stepIndent, stepIndent)); + lines.addAll(methodDoc.formatLines(indent + stepIndent, stepIndent)); } //end lines.add(PUtil.indent(indent) + "}"); diff --git a/src/main/java/com/probejs/formatter/FormatterComments.java b/src/main/java/com/probejs/formatter/FormatterComments.java index dc260486..f92a9459 100644 --- a/src/main/java/com/probejs/formatter/FormatterComments.java +++ b/src/main/java/com/probejs/formatter/FormatterComments.java @@ -1,6 +1,6 @@ package com.probejs.formatter; -import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.util.PUtil; import lombok.AllArgsConstructor; import lombok.Getter; @@ -12,7 +12,7 @@ import java.util.Arrays; import java.util.List; -public class FormatterComments implements IFormatter { +public class FormatterComments implements MultiFormatter { @AllArgsConstructor @Getter @@ -68,7 +68,7 @@ public FormatterComments trim() { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { val idnt = PUtil.indent(indent); val lines = new ArrayList(2 + this.raw.size()); if (this.style.begin != null) { diff --git a/src/main/java/com/probejs/formatter/FormatterConstructor.java b/src/main/java/com/probejs/formatter/FormatterConstructor.java index c86e4a22..099ad7b2 100644 --- a/src/main/java/com/probejs/formatter/FormatterConstructor.java +++ b/src/main/java/com/probejs/formatter/FormatterConstructor.java @@ -1,6 +1,6 @@ package com.probejs.formatter; -import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.formatter.resolver.NameResolver; import com.probejs.info.clazz.ClassInfo; import com.probejs.info.clazz.ConstructorInfo; @@ -12,7 +12,7 @@ import java.util.List; import java.util.stream.Collectors; -public class FormatterConstructor implements IFormatter { +public class FormatterConstructor implements MultiFormatter { private final ConstructorInfo constructor; @@ -58,7 +58,7 @@ private String formatParams() { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { List lines = new ArrayList<>(); lines.add(String.format("%sconstructor(%s);", PUtil.indent(indent), formatParams())); return lines; diff --git a/src/main/java/com/probejs/formatter/FormatterField.java b/src/main/java/com/probejs/formatter/FormatterField.java index 3c5886a9..8814d976 100644 --- a/src/main/java/com/probejs/formatter/FormatterField.java +++ b/src/main/java/com/probejs/formatter/FormatterField.java @@ -3,7 +3,7 @@ import com.probejs.document.DocumentField; import com.probejs.document.comment.special.CommentHidden; import com.probejs.formatter.api.DocumentReceiver; -import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.formatter.resolver.NameResolver; import com.probejs.info.clazz.FieldInfo; import com.probejs.info.type.TypeResolver; @@ -15,7 +15,7 @@ import java.util.ArrayList; import java.util.List; -public class FormatterField extends DocumentReceiver implements IFormatter { +public class FormatterField extends DocumentReceiver implements MultiFormatter { @Getter private final FieldInfo fieldInfo; @@ -27,14 +27,14 @@ public FormatterField(FieldInfo fieldInfo) { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { List lines = new ArrayList<>(); val comment = document != null ? document.getComment() : null; if (comment != null) { if (comment.getSpecialComment(CommentHidden.class) != null) { return lines; } - lines.addAll(comment.format(indent, stepIndent)); + lines.addAll(comment.formatLines(indent, stepIndent)); } val builder = new StringBuilder(PUtil.indent(indent)); diff --git a/src/main/java/com/probejs/formatter/FormatterMethod.java b/src/main/java/com/probejs/formatter/FormatterMethod.java index e321a3d5..c3d050d5 100644 --- a/src/main/java/com/probejs/formatter/FormatterMethod.java +++ b/src/main/java/com/probejs/formatter/FormatterMethod.java @@ -7,7 +7,7 @@ import com.probejs.document.comment.special.CommentReturns; import com.probejs.document.type.IDocType; import com.probejs.formatter.api.DocumentReceiver; -import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.formatter.resolver.NameResolver; import com.probejs.info.clazz.MethodInfo; import com.probejs.info.type.IType; @@ -22,7 +22,7 @@ import java.util.stream.Collectors; import javax.annotation.Nullable; -public class FormatterMethod extends DocumentReceiver implements IFormatter { +public class FormatterMethod extends DocumentReceiver implements MultiFormatter { @Getter private final MethodInfo info; @@ -227,7 +227,7 @@ public String formatParams(Map renames, boolean forceNoUnderscor } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { List formatted = new ArrayList<>(); if (document != null) { @@ -236,7 +236,7 @@ public List format(int indent, int stepIndent) { return formatted; } if (comment != null) { - formatted.addAll(comment.format(indent, stepIndent)); + formatted.addAll(comment.formatLines(indent, stepIndent)); } } @@ -276,7 +276,7 @@ public List formatBean(int indent, int stepIndent) { if (document != null) { DocumentComment comment = document.getComment(); if (CommentUtil.isHidden(comment)) return lines; - if (comment != null) lines.addAll(comment.format(indent, stepIndent)); + if (comment != null) lines.addAll(comment.formatLines(indent, stepIndent)); } String idnt = PUtil.indent(indent); diff --git a/src/main/java/com/probejs/formatter/FormatterNamespace.java b/src/main/java/com/probejs/formatter/FormatterNamespace.java index c5cd558a..c2cb479c 100644 --- a/src/main/java/com/probejs/formatter/FormatterNamespace.java +++ b/src/main/java/com/probejs/formatter/FormatterNamespace.java @@ -1,13 +1,14 @@ package com.probejs.formatter; import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.util.PUtil; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; -public class FormatterNamespace implements IFormatter { +public class FormatterNamespace implements MultiFormatter { private final String path; private final Collection formatters; @@ -23,11 +24,11 @@ public FormatterNamespace(String path, IFormatter ...formatters) { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { List lines = new ArrayList<>(); lines.add(PUtil.indent(indent) + String.format("declare namespace %s {", path)); for (IFormatter formatter : formatters) { - lines.addAll(formatter.format(indent + stepIndent, stepIndent)); + lines.addAll(formatter.formatLines(indent + stepIndent, stepIndent)); } lines.add(PUtil.indent(indent) + "}"); return lines; diff --git a/src/main/java/com/probejs/formatter/FormatterRaw.java b/src/main/java/com/probejs/formatter/FormatterRaw.java index d061f206..a8c28899 100644 --- a/src/main/java/com/probejs/formatter/FormatterRaw.java +++ b/src/main/java/com/probejs/formatter/FormatterRaw.java @@ -1,6 +1,6 @@ package com.probejs.formatter; -import com.probejs.formatter.api.IFormatter; +import com.probejs.formatter.api.MultiFormatter; import com.probejs.util.PUtil; import lombok.Getter; import lombok.Setter; @@ -8,7 +8,7 @@ import java.util.ArrayList; import java.util.List; -public class FormatterRaw implements IFormatter { +public class FormatterRaw implements MultiFormatter { private final List docs; /** @@ -31,7 +31,7 @@ public FormatterRaw(List docs, boolean commentMark) { } @Override - public List format(int indent, int stepIndent) { + public List formatLines(int indent, int stepIndent) { List lines = new ArrayList<>(); String idnt = PUtil.indent(indent); if (commentMark) { diff --git a/src/main/java/com/probejs/formatter/api/IFormatter.java b/src/main/java/com/probejs/formatter/api/IFormatter.java index 4df2fede..ad76e1db 100644 --- a/src/main/java/com/probejs/formatter/api/IFormatter.java +++ b/src/main/java/com/probejs/formatter/api/IFormatter.java @@ -3,5 +3,6 @@ import java.util.List; public interface IFormatter { - List format(int indent, int stepIndent); + List formatLines(int indent, int stepIndent); + String formatStr(int indent, int stepIndent); } diff --git a/src/main/java/com/probejs/formatter/api/MultiFormatter.java b/src/main/java/com/probejs/formatter/api/MultiFormatter.java new file mode 100644 index 00000000..9ba877ef --- /dev/null +++ b/src/main/java/com/probejs/formatter/api/MultiFormatter.java @@ -0,0 +1,8 @@ +package com.probejs.formatter.api; + +public interface MultiFormatter extends IFormatter { + @Override + default String formatStr(int indent, int stepIndent) { + return String.join("\n",formatLines(indent, stepIndent)); + } +} diff --git a/src/main/java/com/probejs/formatter/api/SingleFormatter.java b/src/main/java/com/probejs/formatter/api/SingleFormatter.java new file mode 100644 index 00000000..f66f18ea --- /dev/null +++ b/src/main/java/com/probejs/formatter/api/SingleFormatter.java @@ -0,0 +1,12 @@ +package com.probejs.formatter.api; + +import java.util.Collections; +import java.util.List; + +public interface SingleFormatter extends IFormatter { + + @Override + default List formatLines(int indent, int stepIndent) { + return Collections.singletonList(formatStr(indent, stepIndent)); + } +} diff --git a/src/main/java/com/probejs/info/ClassWalker.java b/src/main/java/com/probejs/info/ClassWalker.java index b6cfbc2e..89e15ad3 100644 --- a/src/main/java/com/probejs/info/ClassWalker.java +++ b/src/main/java/com/probejs/info/ClassWalker.java @@ -13,8 +13,8 @@ public class ClassWalker { private final Set> initial; - public ClassWalker(Set> initial) { - this.initial = initial; + public ClassWalker(Collection> initial) { + this.initial = new HashSet<>(initial); } private Set> walkType(IType tInfo) { @@ -42,7 +42,7 @@ private Set> walkType(IType tInfo) { private Set> walkTypes(Collection tInfos) { Set> result = new HashSet<>(); - for (IType tInfo : tInfos) { + for (val tInfo : tInfos) { result.addAll(walkType(tInfo)); } return result; @@ -62,7 +62,7 @@ private Set> touch(Set> classes) { } result.addAll(walkTypes(info.getInterfaces())); //field - for (FieldInfo fInfo : info.getFieldInfos()) { + for (val fInfo : info.getFieldInfos()) { result.addAll(walkType(fInfo.getType())); } //method @@ -89,7 +89,7 @@ public Set> walk() { while (!current.isEmpty()) { result.addAll(current); - current = touch(current).stream().filter(c -> !result.contains(c)).collect(Collectors.toSet()); + current = touch(current).parallelStream().filter(c -> !result.contains(c)).collect(Collectors.toSet()); } return result; } diff --git a/src/main/java/com/probejs/info/EventInfo.java b/src/main/java/com/probejs/info/EventInfo.java index 5e0f51dc..a6d53e96 100644 --- a/src/main/java/com/probejs/info/EventInfo.java +++ b/src/main/java/com/probejs/info/EventInfo.java @@ -76,7 +76,7 @@ public List getBuiltinPropAsComment() { typeNames.add("unknown, info of this event seems fetched from an older version of cache"); } return new FormatterComments("@cancellable " + canCancel, "@at " + String.join(", ", typeNames)) - .format(0, 0); + .formatLines(0, 0); } @SuppressWarnings("unchecked")