Skip to content

Commit 1a5920a

Browse files
authored
Merge pull request #221 from modelix/feature/improve-typed-root-node-creation
feat(model-api-gen): utility method for adding typed root nodes
2 parents cc40e83 + f0c772e commit 1a5920a

File tree

1 file changed

+23
-0
lines changed
  • model-api-gen-runtime/src/commonMain/kotlin/org/modelix/metamodel

1 file changed

+23
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* Licensed under the Apache License, Version 2.0 (the "License");
3+
* you may not use this file except in compliance with the License.
4+
* You may obtain a copy of the License at
5+
*
6+
* http://www.apache.org/licenses/LICENSE-2.0
7+
*
8+
* Unless required by applicable law or agreed to in writing, software
9+
* distributed under the License is distributed on an "AS IS" BASIS,
10+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
* See the License for the specific language governing permissions and
12+
* limitations under the License.
13+
*/
14+
package org.modelix.metamodel
15+
16+
import org.modelix.model.api.INode
17+
import org.modelix.model.api.addNewChild
18+
19+
inline fun <reified NodeT : ITypedNode> INode.addNewChild(concept: INonAbstractConcept<NodeT>) =
20+
addNewChild(null, concept.untyped()).typed<NodeT>()
21+
22+
inline fun <reified NodeT : ITypedNode> INode.addNewChild(role: String, concept: INonAbstractConcept<NodeT>) =
23+
addNewChild(role, concept.untyped()).typed<NodeT>()

0 commit comments

Comments
 (0)