Removed unused classes.

This commit is contained in:
JesseBrault0709 2024-05-20 14:54:24 +02:00
parent 13c84e8879
commit a2c93f080c
5 changed files with 0 additions and 370 deletions

View File

@ -1,33 +0,0 @@
package groowt.view.component.web.transpile;
import groowt.view.component.web.util.SourcePosition;
public final class DefaultSourceMapSerializer implements SourceMapSerializer {
public static final char LINE_COL_SEP = ',';
public static final char POS_SEP = '.';
public static final char ENTRY_SEP = ':';
private void serialize(StringBuilder sb, SourcePosition sourcePosition) {
final var line = sourcePosition.line();
final var column = sourcePosition.column();
sb.append(line).append(LINE_COL_SEP).append(column);
}
@Override
public String serialize(SourceMap sourceMap) {
final StringBuilder sb = new StringBuilder();
final var iter = sourceMap.getAll().iterator();
while (iter.hasNext()) {
final var entry = iter.next();
this.serialize(sb, entry.from());
sb.append(POS_SEP);
this.serialize(sb, entry.to());
if (iter.hasNext()) {
sb.append(ENTRY_SEP);
}
}
return sb.toString();
}
}

View File

@ -1,58 +0,0 @@
package groowt.view.component.web.transpile;
import groowt.view.component.web.util.SourcePosition;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
public final class SourceMap {
public record SourceMapEntry(SourcePosition from, SourcePosition to) {}
private final Map<SourcePosition, SourcePosition> mapFromTo = new LinkedHashMap<>();
public SourceMap() {}
public SourceMap(String serialized, SourceMapDeserializer deserializer) {
this.putAll(deserializer.deserialize(serialized));
}
public void put(SourcePosition from, SourcePosition to) {
this.mapFromTo.put(from, to);
}
public void put(SourceMapEntry entry) {
this.mapFromTo.put(entry.from, entry.to);
}
public void putAll(Map<SourcePosition, SourcePosition> map) {
this.mapFromTo.putAll(map);
}
public void putAll(SourceMap sourceMap) {
this.mapFromTo.putAll(sourceMap.mapFromTo);
}
public void putAll(List<SourceMapEntry> entries) {
entries.forEach(this::put);
}
public SourcePosition getTo(SourcePosition from) {
return this.mapFromTo.getOrDefault(from, SourcePosition.UNKNOWN);
}
public Stream<SourceMapEntry> stream() {
return this.mapFromTo.entrySet().stream().map(entry -> new SourceMapEntry(entry.getKey(), entry.getValue()));
}
public List<SourceMapEntry> getAll() {
return this.stream().toList();
}
public String serialize(SourceMapSerializer serializer) {
return serializer.serialize(this);
}
}

View File

@ -1,8 +0,0 @@
package groowt.view.component.web.transpile;
import java.util.List;
@FunctionalInterface
public interface SourceMapDeserializer {
List<SourceMap.SourceMapEntry> deserialize(String serializedSourceMap);
}

View File

@ -1,6 +0,0 @@
package groowt.view.component.web.transpile;
@FunctionalInterface
public interface SourceMapSerializer {
String serialize(SourceMap sourceMap);
}

View File

@ -1,265 +0,0 @@
package groowt.view.component.web.transpile;
import groowt.view.component.web.util.Range;
import org.codehaus.groovy.control.HasCleanup;
import org.codehaus.groovy.control.Janitor;
import org.codehaus.groovy.control.io.ReaderSource;
import org.jetbrains.annotations.Nullable;
import java.io.*;
import java.net.URI;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@Deprecated
public class WebViewComponentReaderSource implements ReaderSource {
public record LineAndColumnRange(LineAndColumn start, LineAndColumn end) {}
public record LineAndColumn(int line, int column) {}
public static final LineAndColumn minusOneLineAndColumn = new LineAndColumn(-1, -1);
public static final LineAndColumnRange minusOneLineAndColumnRange = new LineAndColumnRange(
minusOneLineAndColumn,
minusOneLineAndColumn
);
protected interface Source {
Reader toReader() throws IOException;
@Nullable String getLine(int lineNumber);
@Nullable URI toUri();
LineAndColumnRange convertToLineAndColumnRange(Range<Integer> range);
LineAndColumn convertToLineAndColumn(int index);
}
protected static abstract class AbstractSource implements Source {
@Override
public LineAndColumnRange convertToLineAndColumnRange(Range<Integer> range) {
try (final Reader reader = new BufferedReader(this.toReader())) {
int read = reader.read();
boolean enteredRangeYet = false;
int startLine = -1;
int startColumn = -1;
int index = 0;
int curLine = 0;
int curColumn = 1;
while (read > -1) {
if ((char) read == '\n') {
reader.mark(1);
final int next = reader.read();
if ((char) next != '\r') {
reader.reset();
}
curLine++;
curColumn = 1;
} else if ((char) read == '\r') {
curLine++;
curColumn = 1;
}
if (!enteredRangeYet && range.isInRange(index)) {
enteredRangeYet = true;
startLine = curLine;
startColumn = curColumn;
} else if (enteredRangeYet && !range.isInRange(index)) {
break;
}
read = reader.read();
if (read > -1) {
index++;
curColumn++;
}
}
return new LineAndColumnRange(
new LineAndColumn(startLine, startColumn),
new LineAndColumn(curLine, curColumn)
);
} catch (IOException ignored) {
return minusOneLineAndColumnRange;
} finally {
if (this instanceof HasCleanup hasCleanup) {
hasCleanup.cleanup();
}
}
}
@Override
public LineAndColumn convertToLineAndColumn(final int index) {
try (final Reader reader = new BufferedReader(this.toReader())) {
int read = reader.read();
int currentIndex = 0;
int currentLine = 0;
int currentColumn = 1;
while (read > -1 && currentIndex <= index) {
if ((char) read == '\n') {
reader.mark(1);
final int next = reader.read();
if ((char) next != '\r') {
reader.reset();
}
currentLine++;
currentColumn = 1;
} else if ((char) read == '\r') {
currentLine++;
currentColumn = 1;
}
read = reader.read();
if (read > -1) {
currentIndex++;
currentColumn++;
}
}
return new LineAndColumn(currentLine, currentColumn);
} catch (IOException ignored) {
return minusOneLineAndColumn;
} finally {
if (this instanceof HasCleanup hasCleanup) {
hasCleanup.cleanup();
}
}
}
}
protected static abstract class AbstractSourceWithHasCleanup extends AbstractSource implements HasCleanup {
private final Collection<Reader> createdReaders = new ArrayList<>();
protected void addReader(Reader reader) {
this.createdReaders.add(reader);
}
@Override
public void cleanup() {
this.createdReaders.forEach(reader -> {
try {
reader.close();
} catch (IOException ignored) {
}
});
}
}
protected static final class FileSource extends AbstractSourceWithHasCleanup {
private final File source;
@Nullable
private List<String> cachedLines;
private boolean triedFetchingLines;
public FileSource(File source) {
this.source = source;
}
@Override
public Reader toReader() throws IOException {
final Reader r = new FileReader(this.source);
this.addReader(r);
return r;
}
private void initCachedLines() {
try (final FileInputStream inputStream = new FileInputStream(this.source)) {
final byte[] allBytes = inputStream.readAllBytes();
final String allSource = new String(allBytes);
this.cachedLines = allSource.lines().toList();
} catch (IOException ignored) {
// ignored
} finally {
this.triedFetchingLines = true;
}
}
@Override
public @Nullable String getLine(int lineNumber) {
if (!this.triedFetchingLines) {
this.initCachedLines();
}
return this.cachedLines != null ? this.cachedLines.get(lineNumber) : null;
}
@Override
public URI toUri() {
return this.source.toURI();
}
}
protected static final class StringSource extends AbstractSourceWithHasCleanup {
private final String source;
private List<String> cachedLines;
public StringSource(String source) {
this.source = source;
}
@Override
public Reader toReader() throws IOException {
final Reader r = new StringReader(this.source);
this.addReader(r);
return r;
}
@Override
public String getLine(int lineNumber) {
if (this.cachedLines == null) {
this.cachedLines = this.source.lines().toList();
}
return this.cachedLines.get(lineNumber);
}
@Override
public @Nullable URI toUri() {
return null;
}
}
private final Source source;
public WebViewComponentReaderSource(File sourceFile) {
this.source = new FileSource(sourceFile);
}
public WebViewComponentReaderSource(String sourceString) {
this.source = new StringSource(sourceString);
}
@Override
public Reader getReader() throws IOException {
return this.source.toReader();
}
@Override
public boolean canReopenSource() {
return true;
}
@Override
public String getLine(int lineNumber, Janitor janitor) {
if (lineNumber < 0) {
return null;
}
final var line = this.source.getLine(lineNumber);
if (this.source instanceof HasCleanup hasCleanup) {
janitor.register(hasCleanup);
}
return line;
}
@Override
public void cleanup() {
if (this.source instanceof HasCleanup hasCleanup) {
hasCleanup.cleanup();
}
}
@Override
public URI getURI() {
return this.source.toUri();
}
}