diff --git a/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Behavior_org_iets3_core_expr.kt b/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Behavior_org_iets3_core_expr.kt index a75f8341..ea53676f 100644 --- a/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Behavior_org_iets3_core_expr.kt +++ b/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Behavior_org_iets3_core_expr.kt @@ -10,13 +10,10 @@ import org.iets3.core.expr.base.N_ISingleSymbolRef import org.modelix.aspects.behavior.buildPolymorphicFunction val binaryExpressionSymbols by buildPolymorphicFunction().returns().forConcept() - .defaultValue { ":${it.untyped().getShortName()}:" }.delegate() + .defaultValue { it.alias ?: ":${it.untyped().getShortName()}:" }.delegate() val ISingleSymbolRef_getSymbolName by buildPolymorphicFunction().returns().forNode(C_ISingleSymbolRef).delegate() fun N_ISingleSymbolRef.getSymbolName() = ISingleSymbolRef_getSymbolName(this) val IRef_target by buildPolymorphicFunction().returns().forNode(C_IRef).delegate() fun N_IRef.target() = IRef_target(this) - -val BaseConcept_alias by buildPolymorphicFunction().returns().forConcept().delegate() -fun CN_BaseConcept.alias() = BaseConcept_alias(this) diff --git a/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_base.kt b/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_base.kt index dc1895e0..2d5725ea 100644 --- a/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_base.kt +++ b/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_base.kt @@ -82,7 +82,7 @@ val Editor_org_iets3_core_expr_base = languageAspects(L_org_iets3_core_expr_base binaryExpressionSymbols.implement(language.OptionOrExpression) { "?:" } binaryExpressionSymbols.implement(L_org_iets3_core_expr_lambda.FunCompose) { ":o:" } - editor(language.BinaryExpression) { + editor(language.BinaryExpression, applicableToSubConcepts = true) { val symbol = binaryExpressionSymbols(concept) concept.left.cell() symbol.constant() @@ -345,7 +345,7 @@ val Editor_org_iets3_core_expr_base = languageAspects(L_org_iets3_core_expr_base language.OrTag to "||", language.PlusTag to "+", ) - editor(language.OperatorTag) { + editor(language.OperatorTag, applicableToSubConcepts = true) { val symbol = operatorTagSymbols[concept] ?: "Unknown operator tag ${concept.untyped().getLongName()}" symbol.constant() @@ -395,7 +395,7 @@ val Editor_org_iets3_core_expr_base = languageAspects(L_org_iets3_core_expr_base } } editor(language.PrimitiveType) { - concept.alias().constant { + (concept.alias ?: concept.untyped().getShortName()).constant { iets3type() } } diff --git a/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_datetime.kt b/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_datetime.kt index 7bd111c9..8049588b 100644 --- a/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_datetime.kt +++ b/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_datetime.kt @@ -4,13 +4,5 @@ import org.iets3.core.expr.datetime.L_org_iets3_core_expr_datetime import org.modelix.aspects.languageAspects val Editor_org_iets3_core_expr_datetime = languageAspects(L_org_iets3_core_expr_datetime) { - BaseConcept_alias.implement(language.DateDeltaType) { "datedelta" } - BaseConcept_alias.implement(language.DaysDeltaType) { "days" } - BaseConcept_alias.implement(language.MonthsDeltaType) { "months" } - BaseConcept_alias.implement(language.WeeksDeltaType) { "weeks" } - BaseConcept_alias.implement(language.YearsDeltaType) { "years" } - BaseConcept_alias.implement(language.TimeDeltaType) { "timedelta" } - BaseConcept_alias.implement(language.HoursDeltaType) { "hours" } - BaseConcept_alias.implement(language.MinutesDeltaType) { "minutes" } - BaseConcept_alias.implement(language.SecondsDeltaType) { "seconds" } + } diff --git a/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_simpleTypes.kt b/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_simpleTypes.kt index 166a9ed3..9f17c18c 100644 --- a/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_simpleTypes.kt +++ b/kernelf-editor/src/commonMain/kotlin/org/modelix/editor/kernelf/Editor_org_iets3_core_expr_simpleTypes.kt @@ -5,11 +5,6 @@ import org.modelix.aspects.languageAspects import org.modelix.editor.editor val Editor_org_iets3_core_expr_simpleTypes = languageAspects(L_org_iets3_core_expr_simpleTypes) { - BaseConcept_alias.implement(language.BooleanType) { "boolean" } - BaseConcept_alias.implement(language.NumberType) { "number" } - BaseConcept_alias.implement(language.IntegerType) { "int" } - BaseConcept_alias.implement(language.RealType) { "real" } - BaseConcept_alias.implement(language.StringType) { "string" } editor(language.StringLiteral) { horizontal { textColor("DarkGreen") @@ -25,6 +20,7 @@ val Editor_org_iets3_core_expr_simpleTypes = languageAspects(L_org_iets3_core_ex editor(language.NumberLiteral) { concept.value.cell { textColor("DarkMagenta") + regex("""[0-9]+([.][0-9]+)?""") validateValue { it.toDoubleOrNull() != null } } } @@ -147,7 +143,7 @@ val Editor_org_iets3_core_expr_simpleTypes = languageAspects(L_org_iets3_core_ex language.RoundUpRoundingMode to "round up", language.TruncateRoundingMode to "truncate", ) - editor(language.RoundingMode) { + editor(language.RoundingMode, applicableToSubConcepts = true) { val mode = roundingModes[concept] ?: "Unknown rounding mode ${concept.untyped().getLongName()}" mode.constant()