Java Codegen: Removing some dead/unused code (#971)

This commit is contained in:
Gerolf Seitz 2019-05-07 14:59:20 +02:00 committed by GitHub
parent 1225b45ce5
commit 6ac1e5cf28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,9 +3,9 @@
package com.digitalasset.daml.lf.codegen
import com.digitalasset.daml.lf.data.Ref.{Identifier, QualifiedName, PackageId}
import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId, QualifiedName}
import com.digitalasset.daml.lf.data.{BackStack, ImmArray, Ref}
import com.digitalasset.daml.lf.iface.{DefDataType, Interface, InterfaceType, Record, Variant}
import com.digitalasset.daml.lf.iface.{Interface, InterfaceType}
import com.typesafe.scalalogging.StrictLogging
import scala.annotation.tailrec
@ -13,19 +13,13 @@ import scala.collection.JavaConverters._
import scala.collection.mutable
import scala.concurrent.{ExecutionContext, Future}
private[codegen] sealed trait Node {
def children: Map[String, Node]
}
private[codegen] sealed trait Node
private[codegen] final case class Module(modules: Map[String, Module], types: Map[String, Type])
extends Node {
override def children: Map[String, Node] = modules ++ [Node] types
}
extends Node
private[codegen] final case class Type(typ: Option[InterfaceType], types: Map[String, Type])
extends Node {
override def children: Map[String, Node] = types
}
extends Node
private[codegen] final case class InterfaceTree(
modules: Map[String, Module],
@ -61,8 +55,6 @@ private[codegen] sealed trait NodeWithContext {
def lineage: ImmArray[(String, Node)]
def modulesLineage: BackStack[(String, Module)]
def name: String
def node: Node
def children: Map[String, Node]
def childrenLineages: Iterable[NodeWithContext]
def typesLineages: Iterable[TypeWithContext]
@ -75,8 +67,6 @@ private[codegen] final case class ModuleWithContext(
name: String,
module: Module)
extends NodeWithContext {
override def node: Node = module
override def children: Map[String, Node] = module.modules ++ [Node] module.types
override def childrenLineages: Iterable[NodeWithContext] = {
val newModulesLineage = modulesLineage :+ (name -> module)
module.modules.map {
@ -104,8 +94,6 @@ private[codegen] final case class TypeWithContext(
name: String,
`type`: Type)
extends NodeWithContext {
override def node: Node = `type`
override def children: Map[String, Node] = `type`.types
override def childrenLineages: Iterable[NodeWithContext] = typesLineages
override def typesLineages: Iterable[TypeWithContext] = `type`.types.map {
case (childName, childType) =>
@ -139,27 +127,6 @@ private[codegen] object InterfaceTree extends StrictLogging {
builder.build(interface)
}
def print(`package`: InterfaceTree): Unit = {
def printNodeType(prefix: String, what: String): Unit = {
logger.info(s"$prefix [$what]")
}
def printTree(offset: Int)(nameAndNode: (String, Node)): Unit = {
printNodeType(
s"${" " * offset}${nameAndNode._1}",
nameAndNode._2 match {
case _: Module => "Module"
case Type(Some(InterfaceType.Normal(DefDataType(_, _: Record.FWT))), _) => "Record"
case Type(Some(InterfaceType.Normal(DefDataType(_, _: Variant.FWT))), _) => "Variant"
case Type(Some(_: InterfaceType.Template), _) => "Template"
case Type(None, _) => "<not defined>"
}
)
nameAndNode._2.children.foreach(printTree(offset + 2))
}
logger.info(s"Content of Package ${`package`.interface.packageId}")
`package`.modules.foreach(printTree(2))
}
private sealed trait NodeBuilder
private final class ModuleBuilder(
@ -256,7 +223,4 @@ private[codegen] object InterfaceTrees extends StrictLogging {
def fromInterfaces(interfaces: Seq[Interface]): InterfaceTrees =
InterfaceTrees(interfaces.map(InterfaceTree.fromInterface)(collection.breakOut))
def print(interfaceTrees: InterfaceTrees): Unit =
interfaceTrees.interfaceTrees.foreach(InterfaceTree.print)
}