Skip to content
Snippets Groups Projects

Move away from experimental changes

Merged Rico Bergmann requested to merge experimental into develop
6 files
+ 89
16
Compare changes
  • Side-by-side
  • Inline

Files

@@ -9,7 +9,7 @@ import org.rosi_project.model_sync.generator.sync_model.SModelVisitor
class SClass(val name: String,
val attributes: Seq[SAttribute],
val sPackage: String = "",
val parent: SClass = null,
var parent: STypedElement = null,
var methods: Seq[SMethod] = Seq.empty)
extends STypedElement {
@@ -18,7 +18,7 @@ class SClass(val name: String,
def isRootClass: Boolean = parent == null
def collectImports: Set[String] = {
val parentImport: List[String] = if (isRootClass) List() else includeImportIfNecessary(parent.sPackage, parent.name)
val parentImport: List[String] = if (isRootClass) List() else includeImportIfNecessary(parent.getPackage, parent.getName)
val attrTypeImports: List[String] =
attributes
@@ -48,18 +48,22 @@ class SClass(val name: String,
(parentImport ++ attrTypeImports ++ methodResultImports ++ methodParamImports ++ methodImplImports).toSet
}
def getConstructorParameters: Seq[SMethodParameter] = {
val ownParams = attributes.map(attr => SMethodParameter(attr.name, attr.attrType))
val parentParams = if (isRootClass) List() else parent.getConstructorParameters
ownParams ++ parentParams
}
def addMethod(m: SMethod): Unit = methods = methods :+ m
def setParent(parent: STypedElement): Unit = this.parent = parent
override def getName: String = name
override def getPackage: String = sPackage
override def getConstructorParameters: Seq[SMethodParameter] = {
val ownParams = attributes.map(attr => SMethodParameter(attr.name, attr.attrType))
val parentParams = if (isRootClass) List() else parent.getConstructorParameters
ownParams ++ parentParams
}
override def getInheritanceHierarchy: Seq[STypedElement] = if (isRootClass) List(this) else this +: parent.getInheritanceHierarchy
override def accept(visitor: SModelVisitor): Unit = {
attributes.foreach(_.accept(visitor))
methods.foreach(_.accept(visitor))
@@ -67,7 +71,9 @@ class SClass(val name: String,
}
private def includeImportIfNecessary(sPackage: String, sClass: String): List[String] = {
if (sPackage != sPackage && sPackage != "") List(s"$sPackage.$sClass") else List()
if (sPackage != this.sPackage && sPackage != "") List(s"$sPackage.$sClass") else List()
}
override def toString: String = s"$name"
}
Loading