Skip to content

Commit

Permalink
it builds again
Browse files Browse the repository at this point in the history
  • Loading branch information
wagyourtail committed Jun 12, 2024
1 parent 6226a8d commit 70cfd4d
Show file tree
Hide file tree
Showing 10 changed files with 92 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ object MCPv6ParamReader : FormatReader {
}

override fun visitParameter(
delegate: MethodVisitor,
delegate: InvokableVisitor<*>,
index: Int?,
lvOrd: Int?,
names: Map<Namespace, String>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ object MCPv6ParamWriter : FormatWriter {
}

override fun visitParameter(
delegate: MethodVisitor,
delegate: InvokableVisitor<*>,
index: Int?,
lvOrd: Int?,
names: Map<Namespace, String>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@ import xyz.wagyourtail.unimined.mapping.jvms.four.three.three.MethodDescriptor
import xyz.wagyourtail.unimined.mapping.jvms.four.two.one.InternalName
import xyz.wagyourtail.unimined.mapping.tree.AbstractMappingTree
import xyz.wagyourtail.unimined.mapping.util.CharReader
import xyz.wagyourtail.unimined.mapping.visitor.ClassVisitor
import xyz.wagyourtail.unimined.mapping.visitor.MappingVisitor
import xyz.wagyourtail.unimined.mapping.visitor.MethodVisitor
import xyz.wagyourtail.unimined.mapping.visitor.ParameterVisitor
import xyz.wagyourtail.unimined.mapping.visitor.*
import xyz.wagyourtail.unimined.mapping.visitor.delegate.DelegateMappingVisitor
import xyz.wagyourtail.unimined.mapping.visitor.delegate.NullDelegator

Expand Down Expand Up @@ -73,7 +70,7 @@ object MCPConfigStaticMethodsReader : FormatReader {
}

override fun visitParameter(
delegate: MethodVisitor,
delegate: InvokableVisitor<*>,
index: Int?,
lvOrd: Int?,
names: Map<Namespace, String>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package xyz.wagyourtail.unimined.mapping.formats.tiny.v2
import xyz.wagyourtail.unimined.mapping.EnvType
import xyz.wagyourtail.unimined.mapping.Namespace
import xyz.wagyourtail.unimined.mapping.formats.FormatWriter
import xyz.wagyourtail.unimined.mapping.jvms.ext.FieldOrMethodDescriptor
import xyz.wagyourtail.unimined.mapping.jvms.ext.FullyQualifiedName
import xyz.wagyourtail.unimined.mapping.jvms.ext.annotation.Annotation
import xyz.wagyourtail.unimined.mapping.jvms.ext.condition.AccessConditions
Expand All @@ -13,6 +14,7 @@ import xyz.wagyourtail.unimined.mapping.jvms.four.two.one.InternalName
import xyz.wagyourtail.unimined.mapping.jvms.four.two.one.PackageName
import xyz.wagyourtail.unimined.mapping.tree.node._constant.ConstantGroupNode
import xyz.wagyourtail.unimined.mapping.tree.node._class.InnerClassNode
import xyz.wagyourtail.unimined.mapping.tree.node._class.member.WildcardNode
import xyz.wagyourtail.unimined.mapping.util.escape
import xyz.wagyourtail.unimined.mapping.visitor.*

Expand Down Expand Up @@ -149,6 +151,13 @@ object TinyV2Writer : FormatWriter {
return null
}

override fun visitWildcard(
type: WildcardNode.WildcardType,
descs: Map<Namespace, FieldOrMethodDescriptor>
): WildcardVisitor? {
return null
}

}

class TinyV2MethodWriter(into: (String) -> Unit, parent: BaseTinyV2Writer<*>?): TinyV2MemberWriter<MethodVisitor>(into, parent, "\t\t"), MethodVisitor {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package xyz.wagyourtail.unimined.mapping.formats.umf
import xyz.wagyourtail.unimined.mapping.EnvType
import xyz.wagyourtail.unimined.mapping.Namespace
import xyz.wagyourtail.unimined.mapping.formats.FormatWriter
import xyz.wagyourtail.unimined.mapping.jvms.ext.FieldOrMethodDescriptor
import xyz.wagyourtail.unimined.mapping.jvms.ext.FullyQualifiedName
import xyz.wagyourtail.unimined.mapping.jvms.ext.annotation.Annotation
import xyz.wagyourtail.unimined.mapping.jvms.ext.condition.AccessConditions
Expand All @@ -14,6 +15,7 @@ import xyz.wagyourtail.unimined.mapping.jvms.four.two.one.PackageName
import xyz.wagyourtail.unimined.mapping.jvms.four.two.two.UnqualifiedName
import xyz.wagyourtail.unimined.mapping.tree.node._constant.ConstantGroupNode
import xyz.wagyourtail.unimined.mapping.tree.node._class.InnerClassNode
import xyz.wagyourtail.unimined.mapping.tree.node._class.member.WildcardNode
import xyz.wagyourtail.unimined.mapping.util.escape
import xyz.wagyourtail.unimined.mapping.visitor.*

Expand Down Expand Up @@ -236,6 +238,22 @@ object UMFWriter : FormatWriter {
return UMFInnerClassWriter(into, indent + "\t", namespaces)
}

override fun visitWildcard(
type: WildcardNode.WildcardType,
descs: Map<Namespace, FieldOrMethodDescriptor>
): WildcardVisitor? {
into(indent)
into("${UMFReader.EntryType.WILDCARD.key}\t")
into(when (type) {
WildcardNode.WildcardType.FIELD -> "f"
WildcardNode.WildcardType.METHOD -> "m"
})
into("\t")
into.writeNamespaced(descs.mapValues { it.value.value })
into("\n")
return UMFWildcardWriter(into, indent + "\t", namespaces)
}

}

class UMFCommentWriter(into: (String) -> Unit, indent: String = "", override val namespaces: List<Namespace>) : BaseUMFWriter<CommentVisitor>(into, indent), CommentVisitor
Expand Down Expand Up @@ -331,6 +349,59 @@ object UMFWriter : FormatWriter {

class UMFFieldWriter(into: (String) -> Unit, indent: String = "", namespaces: List<Namespace>) : UMFMemberWriter<FieldVisitor>(into, indent, namespaces), FieldVisitor

class UMFWildcardWriter(into: (String) -> Unit, indent: String = "", override val namespaces: List<Namespace>) : UMFMemberWriter<WildcardVisitor>(into, indent, namespaces), WildcardVisitor {

override fun visitParameter(index: Int?, lvOrd: Int?, names: Map<Namespace, String>): ParameterVisitor? {
into(indent)
into("${UMFReader.EntryType.PARAMETER.key}\t")
into(index?.toString().maybeEscape())
into("\t")
into(lvOrd?.toString().maybeEscape())
into("\t")
into.writeNamespaced(names)
into("\n")
return UMFParameterWriter(into, indent + "\t", namespaces)
}

override fun visitLocalVariable(lvOrd: Int, startOp: Int?, names: Map<Namespace, String>): LocalVariableVisitor? {
into(indent)
into("${UMFReader.EntryType.LOCAL_VARIABLE.key}\t")
into(lvOrd.toString().maybeEscape())
into("\t")
into(startOp?.toString().maybeEscape())
into("\t")
into.writeNamespaced(names)
into("\n")
return UMFLocalVariableWriter(into, indent + "\t", namespaces)
}

override fun visitException(
type: ExceptionType,
exception: InternalName,
baseNs: Namespace,
namespaces: Set<Namespace>
): ExceptionVisitor? {
into(indent)
into("${UMFReader.EntryType.EXCEPTION.key}\t")
when (type) {
ExceptionType.ADD -> into("+\t")
ExceptionType.REMOVE -> into("-\t")
}
into(exception.value.maybeEscape())
into("\t")
into(baseNs.name.maybeEscape())
for (ns in this.namespaces) {
if (ns in namespaces) {
into("\t")
into(ns.name.maybeEscape())
}
}
into("\n")
return UMFExceptionWriter(into, indent + "\t", this.namespaces)
}

}

class UMFInnerClassWriter(into: (String) -> Unit, indent: String = "", namespaces: List<Namespace>) : UMFAccessParentWriter<InnerClassVisitor>(into, indent, namespaces), InnerClassVisitor

class UMFConstantWriter(into: (String) -> Unit, indent: String = "", override val namespaces: List<Namespace>) : BaseUMFWriter<ConstantVisitor>(into, indent), ConstantVisitor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ import xyz.wagyourtail.unimined.mapping.visitor.BaseVisitor

abstract class AccessParentNode<T: AccessParentVisitor<T>, U: BaseVisitor<U>>(parent: BaseNode<U, *>?) : BaseNode<T, U>(parent), AccessParentVisitor<T> {

private val _access: MutableMap<AccessFlag, AccessNode<T>> = mutableMapOf()
val access: Map<AccessFlag, AccessNode<T>> get() = _access
private val _access: MutableList<AccessNode<T>> = mutableListOf()
val access: List<AccessNode<T>> get() = _access

override fun acceptInner(visitor: T, nsFilter: Collection<Namespace>, minimize: Boolean) {
for (access in access.values) {
for (access in access) {
access.accept(visitor, nsFilter, minimize)
}
super.acceptInner(visitor, nsFilter, minimize)
Expand All @@ -28,7 +28,7 @@ abstract class AccessParentNode<T: AccessParentVisitor<T>, U: BaseVisitor<U>>(pa
): AccessVisitor? {
val node = AccessNode(this, type, value, condition)
node.addNamespaces(namespaces)
_access[value] = node
_access.add(node)
return node
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ class NamespaceRecordingDelegate(val recorder: (Set<Namespace>) -> Unit) : Deleg
override fun visitWildcard(
delegate: ClassVisitor,
type: WildcardNode.WildcardType,
descs: Map<Namespace, FieldOrMethodDescriptor?>
descs: Map<Namespace, FieldOrMethodDescriptor>
): WildcardVisitor? {
recorder(descs.keys)
return super.visitWildcard(delegate, type, descs)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class NsFilteredDelegate(val ns: Set<Namespace>, val inverted: Boolean) : Delega
override fun visitWildcard(
delegate: ClassVisitor,
type: WildcardNode.WildcardType,
descs: Map<Namespace, FieldOrMethodDescriptor?>
descs: Map<Namespace, FieldOrMethodDescriptor>
): WildcardVisitor? {
val n = descs.filterKeys { if (inverted) it !in ns else it in ns }
if (descs.isNotEmpty() && n.isEmpty()) return null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ open class NullDelegator : Delegator() {
override fun visitWildcard(
delegate: ClassVisitor,
type: WildcardNode.WildcardType,
descs: Map<Namespace, FieldOrMethodDescriptor?>
descs: Map<Namespace, FieldOrMethodDescriptor>
): WildcardVisitor? {
return null
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ fun MappingVisitor.mapNs(nsMap: Map<Namespace, Namespace>) = DelegateMappingVisi
override fun visitWildcard(
delegate: ClassVisitor,
type: WildcardNode.WildcardType,
descs: Map<Namespace, FieldOrMethodDescriptor?>
descs: Map<Namespace, FieldOrMethodDescriptor>
): WildcardVisitor? {
val n = descs.mapKeys { nsMap[it.key] ?: it.key }
return super.visitWildcard(delegate, type, n)
Expand Down

0 comments on commit 70cfd4d

Please sign in to comment.