From f0bd8d5170a84be0bdd6e9696f511f679aa8e5aa Mon Sep 17 00:00:00 2001 From: Smallhacker Date: Sat, 19 Jan 2019 23:13:41 +0100 Subject: [PATCH] Moving to multitarget Gradle project --- .gitignore | 2 +- build.gradle | 57 +++++++ gradle.properties | 1 + pom.xml | 159 ------------------ settings.gradle | 11 ++ .../com/smallhacker/disbrowser/Grid.kt | 92 +++++----- .../com/smallhacker/disbrowser/Html.kt | 12 +- .../com/smallhacker/disbrowser/ImmStack.kt | 3 +- .../com/smallhacker/disbrowser/Main.kt | 0 .../com/smallhacker/disbrowser/Service.kt | 0 .../smallhacker/disbrowser/asm/Certainty.kt | 0 .../disbrowser/asm/Continuation.kt | 0 .../smallhacker/disbrowser/asm/Disassembly.kt | 0 .../smallhacker/disbrowser/asm/Instruction.kt | 0 .../smallhacker/disbrowser/asm/MemorySpace.kt | 0 .../disbrowser/asm/MetadataLine.kt | 0 .../smallhacker/disbrowser/asm/Mnemonic.kt | 0 .../com/smallhacker/disbrowser/asm/Mode.kt | 0 .../com/smallhacker/disbrowser/asm/Opcode.kt | 0 .../com/smallhacker/disbrowser/asm/Segment.kt | 0 .../smallhacker/disbrowser/asm/SnesAddress.kt | 0 .../smallhacker/disbrowser/asm/SnesMemory.kt | 0 .../com/smallhacker/disbrowser/asm/State.kt | 0 .../smallhacker/disbrowser/asm/VagueNumber.kt | 0 .../disbrowser/datatype/RangeMap.kt | 0 .../disbrowser/disassembler/Disassembler.kt | 2 +- .../com/smallhacker/disbrowser/game/Game.kt | 0 .../smallhacker/disbrowser/game/GameData.kt | 0 .../smallhacker/disbrowser/game/GameSource.kt | 0 .../resource/DisassemblyResource.kt | 32 ++-- .../disbrowser/resource/RestResource.kt | 1 - .../disbrowser/resource/StaticResource.kt | 0 .../smallhacker/disbrowser/util/ItemQueue.kt | 0 .../com/smallhacker/disbrowser/util/UVal.kt | 0 .../com/smallhacker/disbrowser/util/json.kt | 0 .../com/smallhacker/disbrowser/util/misc.kt | 0 .../smallhacker/disbrowser/util/multiMap.kt | 0 .../resources/public/style.css | 0 src/{main => jvmMain}/ts/main.ts | 0 src/{main => jvmMain}/ts/tsconfig.json | 0 40 files changed, 144 insertions(+), 228 deletions(-) create mode 100644 build.gradle create mode 100644 gradle.properties delete mode 100644 pom.xml create mode 100644 settings.gradle rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/Grid.kt (74%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/Html.kt (96%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/ImmStack.kt (95%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/Main.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/Service.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/Certainty.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/Continuation.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/Disassembly.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/Instruction.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/MemorySpace.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/MetadataLine.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/Mnemonic.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/Mode.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/Opcode.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/Segment.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/SnesAddress.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/SnesMemory.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/State.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/asm/VagueNumber.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/datatype/RangeMap.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/disassembler/Disassembler.kt (99%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/game/Game.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/game/GameData.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/game/GameSource.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/resource/DisassemblyResource.kt (83%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/resource/RestResource.kt (96%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/resource/StaticResource.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/util/ItemQueue.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/util/UVal.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/util/json.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/util/misc.kt (100%) rename src/{main/java => jvmMain/kotlin}/com/smallhacker/disbrowser/util/multiMap.kt (100%) rename src/{main => jvmMain}/resources/public/style.css (100%) rename src/{main => jvmMain}/ts/main.ts (100%) rename src/{main => jvmMain}/ts/tsconfig.json (100%) diff --git a/.gitignore b/.gitignore index d5b6ff3..122ce2f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ /.idea /target -/src/main/resources/public/disbrowser.* \ No newline at end of file +/src/jvmMain/resources/public/disbrowser.* \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..0c36512 --- /dev/null +++ b/build.gradle @@ -0,0 +1,57 @@ +plugins { + id 'kotlin-multiplatform' version '1.3.11' +} +repositories { + mavenCentral() +} +kotlin { + targets { + fromPreset(presets.jvm, 'jvm') + fromPreset(presets.js, 'js') + } + sourceSets { + commonMain { + dependencies { + implementation 'org.jetbrains.kotlin:kotlin-stdlib-common' + } + } + commonTest { + dependencies { + implementation 'org.jetbrains.kotlin:kotlin-test-common' + implementation 'org.jetbrains.kotlin:kotlin-test-annotations-common' + } + } + jvmMain { + dependencies { + implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' + implementation 'com.fasterxml.jackson.core:jackson-core:2.9.8' + implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.8' + implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.8' + implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.9.8' + implementation 'org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.27' + implementation 'org.glassfish.jersey.inject:jersey-hk2:2.27' + + } + languageSettings { + enableLanguageFeature('InlineClasses') + useExperimentalAnnotation('kotlin.ExperimentalUnsignedTypes') + } + } + jvmTest { + dependencies { + implementation 'org.jetbrains.kotlin:kotlin-test' + implementation 'org.jetbrains.kotlin:kotlin-test-junit' + } + } + jsMain { + dependencies { + implementation 'org.jetbrains.kotlin:kotlin-stdlib-js' + } + } + jsTest { + dependencies { + implementation 'org.jetbrains.kotlin:kotlin-test-js' + } + } + } +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..29e08e8 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +kotlin.code.style=official \ No newline at end of file diff --git a/pom.xml b/pom.xml deleted file mode 100644 index 178034c..0000000 --- a/pom.xml +++ /dev/null @@ -1,159 +0,0 @@ - - - 4.0.0 - - com.smallhacker.disbrowser - disbrowser - war - 1.0-SNAPSHOT - disbrowser - - - - - org.glassfish.jersey - jersey-bom - ${jersey.version} - pom - import - - - - - - - com.fasterxml.jackson.core - jackson-core - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson.version} - - - com.fasterxml.jackson.module - jackson-module-kotlin - ${jackson.version} - - - org.glassfish.jersey.containers - jersey-container-grizzly2-http - - - org.glassfish.jersey.inject - jersey-hk2 - - - - - junit - junit - 4.9 - test - - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - ${kotlin.version} - - - org.jetbrains.kotlin - kotlin-test - ${kotlin.version} - test - - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.2.1 - - - - java - - - - - com.smallhacker.disbrowser.Main - - - - org.jetbrains.kotlin - kotlin-maven-plugin - ${kotlin.version} - - - compile - compile - - compile - - - - test-compile - test-compile - - test-compile - - - - - 1.8 - - -XXLanguage:+InlineClasses - -Xexperimental=kotlin.ExperimentalUnsignedTypes - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.0 - - - compile - compile - - compile - - - - testCompile - test-compile - - testCompile - - - - true - - 1.8 - 1.8 - - - - - - - 2.27 - UTF-8 - 1.3.11 - 2.9.8 - - diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..0599e6c --- /dev/null +++ b/settings.gradle @@ -0,0 +1,11 @@ +pluginManagement { + resolutionStrategy { + eachPlugin { + if (requested.id.id == "kotlin-multiplatform") { + useModule("org.jetbrains.kotlin:kotlin-gradle-plugin:${requested.version}") + } + } + } +} +rootProject.name = 'disbrowser' + diff --git a/src/main/java/com/smallhacker/disbrowser/Grid.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/Grid.kt similarity index 74% rename from src/main/java/com/smallhacker/disbrowser/Grid.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/Grid.kt index 9ac6a65..9023037 100644 --- a/src/main/java/com/smallhacker/disbrowser/Grid.kt +++ b/src/jvmMain/kotlin/com/smallhacker/disbrowser/Grid.kt @@ -81,47 +81,47 @@ class Grid { = ins.print(gameData) add(y, ins.address, - htmlFragment { - text(address ?: "") - }, - htmlFragment { - text(bytes) - }, + htmlFragment { + text(address ?: "") + }, + htmlFragment { + text(bytes) + }, editableField(game, indicativeAddress, "label", label), - htmlFragment { - if (secondaryMnemonic == null) { + htmlFragment { + if (secondaryMnemonic == null) { + text(primaryMnemonic) + } else { + span { text(primaryMnemonic) + }.attr("title", secondaryMnemonic).addClass("opcode-info") + } + text(suffix ?: "") + text(" ") + val link = ins.linkedState + if (link == null) { + if (labelAddress == null) { + text(operands ?: "") } else { - span { - text(primaryMnemonic) - }.attr("title", secondaryMnemonic).addClass("opcode-info") + val currentLabel = gameData[labelAddress]?.label + editablePopupField(game, labelAddress, "label", operands, currentLabel) } - text(suffix ?: "") - text(" ") - val link = ins.linkedState - if (link == null) { - if (labelAddress == null) { - text(operands ?: "") - } else { - val currentLabel = gameData[labelAddress]?.label - editablePopupField(game, labelAddress, "label", operands, currentLabel) - } - } else { - val local = link.address in disassembly + } else { + val local = link.address in disassembly - val url = when { - local -> "#${link.address.toSimpleString()}" - else -> "/${game.id}/${link.address.toSimpleString()}/${link.urlString}" - } - - a { - text(operands ?: "") - }.attr("href", url) + val url = when { + local -> "#${link.address.toSimpleString()}" + else -> "/${game.id}/${link.address.toSimpleString()}/${link.urlString}" } - }, - htmlFragment { - text(state ?: "") - }, + + a { + text(operands ?: "") + }.attr("href", url) + } + }, + htmlFragment { + text(state ?: "") + }, editableField(game, indicativeAddress, "comment", comment) ) @@ -135,12 +135,12 @@ class Grid { private fun editableField(game: Game, address: SnesAddress, type: String, value: String?): HtmlNode { return htmlFragment { input.attr("value", value ?: "") - .attr("type", "text") - .addClass("field-$type") - .addClass("field-editable") - .attr("data-field", type) - .attr("data-game", game.id) - .attr("data-address", address.toSimpleString()) + .attr("type", "text") + .addClass("field-$type") + .addClass("field-editable") + .attr("data-field", type) + .attr("data-game", game.id) + .attr("data-address", address.toSimpleString()) } } @@ -164,9 +164,9 @@ class Grid { null, null, null, - htmlFragment { - text("...") - }, + htmlFragment { + text("...") + }, null, null ) @@ -220,8 +220,8 @@ class Grid { }.addClass(cssClass) } }.addClass(rowClasses[y]) - .attr("id", rowId[y]) - .attr("row-certainty", rowCertainties[y]) + .attr("id", rowId[y]) + .attr("row-certainty", rowCertainties[y]) } } } diff --git a/src/main/java/com/smallhacker/disbrowser/Html.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/Html.kt similarity index 96% rename from src/main/java/com/smallhacker/disbrowser/Html.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/Html.kt index b47998e..bb4bcb0 100644 --- a/src/main/java/com/smallhacker/disbrowser/Html.kt +++ b/src/jvmMain/kotlin/com/smallhacker/disbrowser/Html.kt @@ -66,10 +66,14 @@ private class HtmlTextNode(private val text: String): HtmlNode { } private object ParentBuilder { - operator fun getValue(a: HtmlArea, b: KProperty<*>) = ParentHtmlElement(b.name).appendTo(a.parent) + operator fun getValue(a: HtmlArea, b: KProperty<*>) = ParentHtmlElement( + b.name + ).appendTo(a.parent) } private object LeafBuilder { - operator fun getValue(a: HtmlArea, b: KProperty<*>) = HtmlElement(b.name).appendTo(a.parent) + operator fun getValue(a: HtmlArea, b: KProperty<*>) = HtmlElement( + b.name + ).appendTo(a.parent) } fun htmlFragment(inner: InnerHtml = {}) = object : HtmlNode { @@ -108,7 +112,9 @@ val HtmlArea.button by ParentBuilder fun HtmlNode.appendTo(node: HtmlNode) = apply { node.append(this) } fun HtmlNode.addClass(c: String?) = attrAdd("class", c) val HtmlNode.inner get() = this -operator fun HtmlNode.invoke(inner: InnerHtml): HtmlNode = append(htmlFragment(inner)) +operator fun HtmlNode.invoke(inner: InnerHtml): HtmlNode = append( + htmlFragment(inner) +) fun HtmlNode.attr(key: String, value: String?, inner: InnerHtml) = attr(key, value).inner(inner) fun HtmlNode.addClass(c: String?, inner: InnerHtml) = addClass(c).inner(inner) diff --git a/src/main/java/com/smallhacker/disbrowser/ImmStack.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/ImmStack.kt similarity index 95% rename from src/main/java/com/smallhacker/disbrowser/ImmStack.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/ImmStack.kt index 4759acd..4a7aad5 100644 --- a/src/main/java/com/smallhacker/disbrowser/ImmStack.kt +++ b/src/jvmMain/kotlin/com/smallhacker/disbrowser/ImmStack.kt @@ -15,7 +15,8 @@ fun immStack(): ImmStack { return EmptyImmStack as ImmStack } -private class ImmStackImpl(private val parent: ImmStack, override val top: E): ImmStack { +private class ImmStackImpl(private val parent: ImmStack, override val top: E): + ImmStack { override fun isEmpty() = false override fun pop(): ImmStack = parent diff --git a/src/main/java/com/smallhacker/disbrowser/Main.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/Main.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/Main.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/Main.kt diff --git a/src/main/java/com/smallhacker/disbrowser/Service.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/Service.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/Service.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/Service.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/Certainty.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Certainty.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/Certainty.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Certainty.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/Continuation.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Continuation.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/Continuation.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Continuation.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/Disassembly.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Disassembly.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/Disassembly.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Disassembly.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/Instruction.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Instruction.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/Instruction.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Instruction.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/MemorySpace.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/MemorySpace.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/MemorySpace.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/MemorySpace.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/MetadataLine.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/MetadataLine.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/MetadataLine.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/MetadataLine.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/Mnemonic.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Mnemonic.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/Mnemonic.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Mnemonic.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/Mode.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Mode.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/Mode.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Mode.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/Opcode.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Opcode.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/Opcode.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Opcode.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/Segment.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Segment.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/Segment.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/Segment.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/SnesAddress.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/SnesAddress.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/SnesAddress.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/SnesAddress.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/SnesMemory.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/SnesMemory.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/SnesMemory.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/SnesMemory.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/State.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/State.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/State.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/State.kt diff --git a/src/main/java/com/smallhacker/disbrowser/asm/VagueNumber.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/VagueNumber.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/asm/VagueNumber.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/asm/VagueNumber.kt diff --git a/src/main/java/com/smallhacker/disbrowser/datatype/RangeMap.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/datatype/RangeMap.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/datatype/RangeMap.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/datatype/RangeMap.kt diff --git a/src/main/java/com/smallhacker/disbrowser/disassembler/Disassembler.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/disassembler/Disassembler.kt similarity index 99% rename from src/main/java/com/smallhacker/disbrowser/disassembler/Disassembler.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/disassembler/Disassembler.kt index 0a03266..26cf88a 100644 --- a/src/main/java/com/smallhacker/disbrowser/disassembler/Disassembler.kt +++ b/src/jvmMain/kotlin/com/smallhacker/disbrowser/disassembler/Disassembler.kt @@ -111,7 +111,7 @@ object Disassembler { .forEach { tryAddFatal(it.address) } while (fatalQueue.isNotEmpty()) { - val badAddress = fatalQueue.removeNext()!! + val badAddress = fatalQueue.removeNext() val instruction = instructionMap[badAddress] ?: continue val mnemonic = instruction.opcode.mnemonic if (mnemonic == Mnemonic.JSL || mnemonic == Mnemonic.JSR) continue diff --git a/src/main/java/com/smallhacker/disbrowser/game/Game.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/game/Game.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/game/Game.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/game/Game.kt diff --git a/src/main/java/com/smallhacker/disbrowser/game/GameData.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/game/GameData.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/game/GameData.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/game/GameData.kt diff --git a/src/main/java/com/smallhacker/disbrowser/game/GameSource.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/game/GameSource.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/game/GameSource.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/game/GameSource.kt diff --git a/src/main/java/com/smallhacker/disbrowser/resource/DisassemblyResource.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/resource/DisassemblyResource.kt similarity index 83% rename from src/main/java/com/smallhacker/disbrowser/resource/DisassemblyResource.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/resource/DisassemblyResource.kt index 00695ed..0aa300b 100644 --- a/src/main/java/com/smallhacker/disbrowser/resource/DisassemblyResource.kt +++ b/src/jvmMain/kotlin/com/smallhacker/disbrowser/resource/DisassemblyResource.kt @@ -101,28 +101,28 @@ class DisassemblyResource { ?: return Response.status(404).build() val html = - htmlFragment { - html { - head { - title { text("Disassembly Browser") } - link.attr("rel", "stylesheet").attr("href", "/resources/style.css") - meta.attr("charset", "UTF-8") + htmlFragment { + html { + head { + title { text("Disassembly Browser") } + link.attr("rel", "stylesheet").attr("href", "/resources/style.css") + meta.attr("charset", "UTF-8") + } + body { + main { + output.appendTo(parent) } - body { - main { - output.appendTo(parent) - } - aside.addClass("sidebar") { - button.attr("id", "btn-dark-mode") { - text("Dark Mode") - } + aside.addClass("sidebar") { + button.attr("id", "btn-dark-mode") { + text("Dark Mode") } - - script.attr("src", "/resources/disbrowser.js") } + + script.attr("src", "/resources/disbrowser.js") } } + } return Response.ok(html.toString().toByteArray(StandardCharsets.UTF_8)) .encoding("UTF-8") diff --git a/src/main/java/com/smallhacker/disbrowser/resource/RestResource.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/resource/RestResource.kt similarity index 96% rename from src/main/java/com/smallhacker/disbrowser/resource/RestResource.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/resource/RestResource.kt index 6af8ad6..5c0f5d7 100644 --- a/src/main/java/com/smallhacker/disbrowser/resource/RestResource.kt +++ b/src/jvmMain/kotlin/com/smallhacker/disbrowser/resource/RestResource.kt @@ -3,7 +3,6 @@ package com.smallhacker.disbrowser.resource import com.smallhacker.disbrowser.Service import com.smallhacker.disbrowser.asm.SnesAddress import com.smallhacker.disbrowser.asm.MetadataLine -import com.smallhacker.disbrowser.game.GameSource import com.smallhacker.disbrowser.game.getGameSource import javax.ws.rs.Consumes import javax.ws.rs.POST diff --git a/src/main/java/com/smallhacker/disbrowser/resource/StaticResource.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/resource/StaticResource.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/resource/StaticResource.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/resource/StaticResource.kt diff --git a/src/main/java/com/smallhacker/disbrowser/util/ItemQueue.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/util/ItemQueue.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/util/ItemQueue.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/util/ItemQueue.kt diff --git a/src/main/java/com/smallhacker/disbrowser/util/UVal.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/util/UVal.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/util/UVal.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/util/UVal.kt diff --git a/src/main/java/com/smallhacker/disbrowser/util/json.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/util/json.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/util/json.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/util/json.kt diff --git a/src/main/java/com/smallhacker/disbrowser/util/misc.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/util/misc.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/util/misc.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/util/misc.kt diff --git a/src/main/java/com/smallhacker/disbrowser/util/multiMap.kt b/src/jvmMain/kotlin/com/smallhacker/disbrowser/util/multiMap.kt similarity index 100% rename from src/main/java/com/smallhacker/disbrowser/util/multiMap.kt rename to src/jvmMain/kotlin/com/smallhacker/disbrowser/util/multiMap.kt diff --git a/src/main/resources/public/style.css b/src/jvmMain/resources/public/style.css similarity index 100% rename from src/main/resources/public/style.css rename to src/jvmMain/resources/public/style.css diff --git a/src/main/ts/main.ts b/src/jvmMain/ts/main.ts similarity index 100% rename from src/main/ts/main.ts rename to src/jvmMain/ts/main.ts diff --git a/src/main/ts/tsconfig.json b/src/jvmMain/ts/tsconfig.json similarity index 100% rename from src/main/ts/tsconfig.json rename to src/jvmMain/ts/tsconfig.json