Documentation class

Пакет: com.hypixel.hytale.codec.util

Файл: com/hypixel/hytale/codec/util/Documentation.java

Поля (11)

МодификаторыТипИмя
break
continue
continue
StringBuilder var1
IntArrayList var2
CharArrayList var3
char var5
int var6
boolean var7
int var8
int var9

Методы (6)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Unbalanced markdown formatting")
abstract for for(int var4 = 0; var4 < var0.length()
if if(var0 == null)
if if(!var7)
static String stripMarkdownString stripMarkdown(@Nullable String var0)
switch switch(var5)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.codec.util;

class="kw">import it.unimi.dsi.fastutil.chars.CharArrayList;
class="kw">import it.unimi.dsi.fastutil.ints.IntArrayList;
class="kw">import javax.annotation.Nullable;

class="kw">public class Documentation {
   class="kw">public Documentation() {
   }

   class="kw">public class="kw">static String stripMarkdown(@Nullable String var0) {
      if (var0 == null) {
         class="kw">return null;
      }

      StringBuilder var1 = new StringBuilder();
      IntArrayList var2 = new IntArrayList();
      CharArrayList var3 = new CharArrayList();

      for (int var4 = 0; var4 < var0.length(); var4++) {
         char var5 = var0.charAt(var4);
         class="kw">switch (var5) {
            case '*':
            case '_':
               int var6 = var4;
               boolean var7 = var6 >= 1 && !Character.isWhitespace(var0.charAt(var6 - 1));
               if (!var7 || !var3.isEmpty() && var3.getChar(var3.size() - 1) == var5) {
                  int var8 = !var2.isEmpty() && var7 ? var2.getInt(var2.size() - 1) : -1;

                  while (var4 < var0.length() && var0.charAt(var4) == var5 && var4 - var6 != var8) {
                     var4++;
                  }

                  int var9 = var4 - var6;
                  if (!var2.isEmpty() && var2.getInt(var2.size() - 1) == var9) {
                     if (!var7) {
                        var1.append(String.valueOf(var5).repeat(var9));
                        class="kw">continue;
                     }

                     var2.removeInt(var2.size() - 1);
                     var3.removeChar(var3.size() - 1);
                  } else {
                     if (var4 < var0.length() && Character.isWhitespace(var0.charAt(var4))) {
                        var1.append(String.valueOf(var5).repeat(var9));
                        var1.append(var0.charAt(var4));
                        class="kw">continue;
                     }

                     var2.add(var9);
                     var3.add(var5);
                  }

                  var4--;
               } else {
                  var1.append(var0.charAt(var4));
               }
               break;
            class="kw">default:
               var1.append(var5);
         }
      }

      if (!var2.isEmpty()) {
         throw new IllegalArgumentException("Unbalanced markdown formatting");
      } else {
         class="kw">return var1.toString();
      }
   }
}