Module Contents alltypes
      Module Contents data class ActorDeclaration : Declaration
        Module Contents ActorDeclaration(name: String, methods: List<ActorMethod> = emptyList())
        val methods: List<ActorMethod>
        val name: String
      data class ActorMethod : AstNode
        Module Contents ActorMethod(name: String, returnType: Type, params: List<MethodParameter> = emptyList())
        val name: String
        val params: List<MethodParameter>
        val returnType: Type
      interface AstNode
      abstract class AstVisitor
        Module Contents AstVisitor()
        open fun visitActorDeclaration(actor: ActorDeclaration): Unit
        open fun visitActorMethod(method: ActorMethod): Unit
        open fun visitCompilationUnit(cu: CompilationUnit): Unit
        open fun visitDataDeclaration(data: DataDeclaration): Unit
        open fun visitDataField(field: DataField): Unit
        open fun visitDeclaration(declaration: Declaration): Unit
        open fun visitEnumDeclaration(enum: EnumDeclaration): Unit
        open fun visitEnumMember(member: EnumMember): Unit
        open fun visitNode(node: AstNode): Unit
      data class CompilationUnit
        Module Contents CompilationUnit(packageName: String, enums: List<EnumDeclaration> = emptyList(), data: List<DataDeclaration> = emptyList(), actors: List<ActorDeclaration> = emptyList())
        val actors: List<ActorDeclaration>
        val data: List<DataDeclaration>
        val enums: List<EnumDeclaration>
        val packageName: String
      data class CompiledType
        Module Contents CompiledType(packageName: String, spec: TypeSpec)
        val packageName: String
        fun toString(): String
        fun writeToDirectory(directory: File): Unit
      data class DataDeclaration : Declaration
        Module Contents DataDeclaration(name: String, fields: List<DataField> = emptyList())
        val fields: List<DataField>
        val name: String
      data class DataField : AstNode
        Module Contents DataField(name: String, type: Type, index: Int)
        val index: Int
        val name: String
        val type: Type
      interface Declaration : AstNode
        Module Contents abstract val name: String
      data class EnumDeclaration : Declaration
        Module Contents EnumDeclaration(name: String, members: List<EnumMember> = emptyList())
        val members: List<EnumMember>
        val name: String
      data class EnumMember : AstNode
        Module Contents EnumMember(name: String, index: Int)
        val index: Int
        val name: String
      data class MethodParameter : AstNode
        Module Contents MethodParameter(name: String, type: Type)
        val name: String
        val type: Type
      class OrbitJavaCompiler
        Module Contents OrbitJavaCompiler()
        fun compile(compilationUnits: List<CompilationUnit>): List<CompiledType>
      data class Type
        Module Contents Type(name: String, isArray: Boolean = false)
        val isArray: Boolean
        val name: String
    package cloud.orbit.dsl.ast
      Module Contents data class ActorDeclaration : Declaration
        Module Contents ActorDeclaration(name: String, methods: List<ActorMethod> = emptyList())
        val methods: List<ActorMethod>
        val name: String
      data class ActorMethod : AstNode
        Module Contents ActorMethod(name: String, returnType: Type, params: List<MethodParameter> = emptyList())
        val name: String
        val params: List<MethodParameter>
        val returnType: Type
      interface AstNode
      abstract class AstVisitor
        Module Contents AstVisitor()
        open fun visitActorDeclaration(actor: ActorDeclaration): Unit
        open fun visitActorMethod(method: ActorMethod): Unit
        open fun visitCompilationUnit(cu: CompilationUnit): Unit
        open fun visitDataDeclaration(data: DataDeclaration): Unit
        open fun visitDataField(field: DataField): Unit
        open fun visitDeclaration(declaration: Declaration): Unit
        open fun visitEnumDeclaration(enum: EnumDeclaration): Unit
        open fun visitEnumMember(member: EnumMember): Unit
        open fun visitNode(node: AstNode): Unit
      data class CompilationUnit
        Module Contents CompilationUnit(packageName: String, enums: List<EnumDeclaration> = emptyList(), data: List<DataDeclaration> = emptyList(), actors: List<ActorDeclaration> = emptyList())
        val actors: List<ActorDeclaration>
        val data: List<DataDeclaration>
        val enums: List<EnumDeclaration>
        val packageName: String
      data class DataDeclaration : Declaration
        Module Contents DataDeclaration(name: String, fields: List<DataField> = emptyList())
        val fields: List<DataField>
        val name: String
      data class DataField : AstNode
        Module Contents DataField(name: String, type: Type, index: Int)
        val index: Int
        val name: String
        val type: Type
      interface Declaration : AstNode
        Module Contents abstract val name: String
      data class EnumDeclaration : Declaration
        Module Contents EnumDeclaration(name: String, members: List<EnumMember> = emptyList())
        val members: List<EnumMember>
        val name: String
      data class EnumMember : AstNode
        Module Contents EnumMember(name: String, index: Int)
        val index: Int
        val name: String
      data class MethodParameter : AstNode
        Module Contents MethodParameter(name: String, type: Type)
        val name: String
        val type: Type
      data class Type
        Module Contents Type(name: String, isArray: Boolean = false)
        val isArray: Boolean
        val name: String
    package cloud.orbit.dsl.java
      Module Contents data class CompiledType
        Module Contents CompiledType(packageName: String, spec: TypeSpec)
        val packageName: String
        fun toString(): String
        fun writeToDirectory(directory: File): Unit
      class OrbitJavaCompiler
        Module Contents OrbitJavaCompiler()
        fun compile(compilationUnits: List<CompilationUnit>): List<CompiledType>