@@ -7,15 +7,57 @@ trait ArraysAST extends InbetweenArraysAST {
77 self : OperatorExpressionsAST & BaseAST =>
88 object scalaArraysOps {
99 object arraysOpsOverride {
10+ trait FinalTypes extends arraysOps.FinalTypes {
11+ type Array <: arraysOpsOverride.Array
12+ type CreateArrayExpression <: arraysOpsOverride.CreateArray
13+ type CreateArrayFromExpression <: arraysOpsOverride.CreateArrayFromExpression
14+ type CreateArrayWithDefaultValues <: arraysOpsOverride.CreateArrayWithDefaultValues
15+ type CreateArrayFromValues <: arraysOpsOverride.CreateArrayFromValues
16+ }
1017
11- trait CreateArray extends arraysOps.CreateArray with scalaBase.anyOverrides.Type {
18+ trait Array extends arraysOps.Array with scalaBase.anyOverrides.Type {
1219 override def toScala : String = " Array"
13-
14- override def prefixRootPackage (rootPackageName : Seq [any.Name ], excludedTypeNames : Set [Seq [any.Name ]]): CreateArray =
20+ override def prefixRootPackage (rootPackageName : Seq [any.Name ], excludedTypeNames : Set [Seq [any.Name ]]): Array =
1521 this
22+ override def toImport : Seq [any.Import ] = Seq .empty
23+ }
24+
25+ trait CreateArray extends arraysOps.CreateArray with scalaBase.anyOverrides.Expression {
26+ override def prefixRootPackage (rootPackageName : Seq [any.Name ], excludedTypeNames : Set [Seq [any.Name ]]): CreateArray
27+ }
28+
29+ trait CreateArrayFromExpression extends arraysOps.CreateArrayFromExpression with CreateArray {
30+ import factory ._
31+ import arraysOpsFactory ._
32+ override def toScala : String = expression.toScala
1633
17- def toImport : Seq [any.Import ] = Seq .empty
34+ override def prefixRootPackage (rootPackageName : Seq [any.Name ], excludedTypeNames : Set [Seq [any.Name ]]): CreateArrayFromExpression =
35+ arraysOpsFactory.convert(copy(expression = expression.prefixRootPackage(rootPackageName, excludedTypeNames)))
36+
37+ override def toImport : Seq [any.Import ] = Seq .empty
1838 }
39+
40+ trait CreateArrayWithDefaultValues extends arraysOps.CreateArrayWithDefaultValues with CreateArray {
41+ import factory ._
42+ import arraysOpsFactory .convert
43+ override def toScala : String = s " Array.ofDim[ ${tpe.toScala}]( ${dimensions.map(_.toScala).mkString(" , " )}) "
44+ override def prefixRootPackage (rootPackageName : scala.Seq [ArraysAST .this .any.Name ], excludedTypeNames : _root_.scala.Predef .Set [scala.Seq [ArraysAST .this .any.Name ]]): CreateArrayWithDefaultValues =
45+ copy(
46+ tpe = tpe.prefixRootPackage(rootPackageName, excludedTypeNames),
47+ dimensions = dimensions.map(_.prefixRootPackage(rootPackageName, excludedTypeNames))
48+ )
49+ }
50+
51+ trait CreateArrayFromValues extends arraysOps.CreateArrayFromValues with CreateArray {
52+ import factory ._
53+ import arraysOpsFactory .convert
54+
55+ override def toScala : String = s " Array( ${values.map(_.toScala).mkString(" , " )}) "
56+ override def prefixRootPackage (rootPackageName : scala.Seq [ArraysAST .this .any.Name ], excludedTypeNames : _root_.scala.Predef .Set [scala.Seq [ArraysAST .this .any.Name ]]): CreateArrayFromValues =
57+ copy(
58+ values = values.map(_.prefixRootPackage(rootPackageName, excludedTypeNames))
59+ )
60+ }
1961
2062 trait GetArrayOp extends arraysOps.GetArrayOp with scalaOperatorExpressions.operatorExpressionsOverrides.Operator with scalaOperatorExpressions.PostfixOperator {
2163 def operator : String = " .apply"
@@ -45,17 +87,61 @@ trait ArraysAST extends InbetweenArraysAST {
4587 }
4688 }
4789
48- val arraysOpsFactory : scalaArraysOps.arraysOpsOverride.Factory
90+ override val arraysOpsFinalTypes : scalaArraysOps.arraysOpsOverride.FinalTypes
91+ override val arraysOpsFactory : scalaArraysOps.arraysOpsOverride.Factory
4992}
5093
5194trait FinalArraysAST extends ArraysAST { self : FinalOperatorExpressionsAST & FinalBaseAST =>
95+ object finalArraysFinalTypes {
96+ trait ArraysFinalTypes extends scalaArraysOps.arraysOpsOverride.FinalTypes {
97+ type Array = scalaArraysOps.arraysOpsOverride.Array
98+ type CreateArrayExpression = scalaArraysOps.arraysOpsOverride.CreateArray
99+ type CreateArrayFromExpression = scalaArraysOps.arraysOpsOverride.CreateArrayFromExpression
100+ type CreateArrayWithDefaultValues = scalaArraysOps.arraysOpsOverride.CreateArrayWithDefaultValues
101+ type CreateArrayFromValues = scalaArraysOps.arraysOpsOverride.CreateArrayFromValues
102+ }
103+ }
104+ override val arraysOpsFinalTypes : finalArraysFinalTypes.ArraysFinalTypes = new finalArraysFinalTypes.ArraysFinalTypes {}
105+
52106 object finalArraysFactoryTypes {
53107 trait FinalArraysFactory extends scalaArraysOps.arraysOpsOverride.Factory {
54- def createArray (dimension: any.Expression ): arraysOps.CreateArray = {
55- case class CreateArray (dimension: any.Expression ) extends scalaArraysOps.arraysOpsOverride.CreateArray {
56- def getSelfType : scalaBase.anyOverrides.Type = this
108+ def array (): arraysOps.Array = {
109+ case class Array ()
110+ extends scalaArraysOps.arraysOpsOverride.Array {
111+ override def getSelfArrayType : scalaArraysOps.arraysOpsOverride.Array = this
112+ override def getSelfType : scalaBase.anyOverrides.Type = this
113+ }
114+ Array ()
115+ }
116+
117+ def createArrayFromExpression (expression : any.Expression ): scalaArraysOps.arraysOpsOverride.CreateArrayFromExpression = {
118+ case class CreateArrayFromExpression (val expression : any.Expression )
119+ extends scalaArraysOps.arraysOpsOverride.CreateArrayFromExpression
120+ with finalBaseAST.anyOverrides.FinalExpression {
121+ override def getSelfCreateArrayExpression : arraysOpsFinalTypes.CreateArrayExpression = this
122+ override def getSelfCreateArrayFromExpression : arraysOpsFinalTypes.CreateArrayFromExpression = this
123+ }
124+ CreateArrayFromExpression (expression)
125+ }
126+
127+ def createArrayWithDefaultValues (tpe : any.Type , dimensions : Seq [any.Expression ]): scalaArraysOps.arraysOpsOverride.CreateArrayWithDefaultValues = {
128+ case class CreateArrayWithDefaultValues (tpe : any.Type , dimensions : Seq [any.Expression ])
129+ extends scalaArraysOps.arraysOpsOverride.CreateArrayWithDefaultValues
130+ with finalBaseAST.anyOverrides.FinalExpression {
131+ override def getSelfCreateArrayExpression : arraysOpsFinalTypes.CreateArrayExpression = this
132+ override def getSelfCreateArrayWithDefaultValues : arraysOpsFinalTypes.CreateArrayWithDefaultValues = this
133+ }
134+ CreateArrayWithDefaultValues (tpe, dimensions)
135+ }
136+
137+ def createArrayFromValues (values : Seq [any.Expression ]): scalaArraysOps.arraysOpsOverride.CreateArrayFromValues = {
138+ case class CreateArrayFromValues (values : Seq [any.Expression ])
139+ extends scalaArraysOps.arraysOpsOverride.CreateArrayFromValues
140+ with finalBaseAST.anyOverrides.FinalExpression {
141+ override def getSelfCreateArrayExpression : arraysOpsFinalTypes.CreateArrayExpression = this
142+ override def getSelfCreateArrayFromValues : arraysOpsFinalTypes.CreateArrayFromValues = this
57143 }
58- CreateArray (dimension )
144+ CreateArrayFromValues (values )
59145 }
60146
61147 def getArrayOp (): arraysOps.GetArrayOp = {
0 commit comments