@@ -126,11 +126,15 @@ namespace CodeGen.Engine
126126 fieldLoopExpressionEvaluators.Add("ENABLED", evaluateFieldEnabled)
127127 fieldLoopExpressionEvaluators.Add("ENUM", evaluateFieldEnum)
128128 fieldLoopExpressionEvaluators.Add("ENUMERATED", evaluateFieldEnumerated)
129+ fieldLoopExpressionEvaluators.Add("EXPLICIT_GROUP", evaluateFieldExplicitGroup)
130+ fieldLoopExpressionEvaluators.Add("EXPLICIT_GROUP_NO_EXPAND", evaluateFieldExplicitGroupNoExpand)
129131 fieldLoopExpressionEvaluators.Add("FIELD_POSITION", evaluateFieldPosition)
130132 fieldLoopExpressionEvaluators.Add("FIRST_UNIQUE_KEY_SEGMENT", evaluateFirstUniqueKeySegment)
131133 fieldLoopExpressionEvaluators.Add("FORMAT", evaluateFieldFormat)
132- fieldLoopExpressionEvaluators.Add("EXPLICIT_GROUP_NO_EXPAND", evaluateFieldExplicitGroupNoExpand)
133- fieldLoopExpressionEvaluators.Add("IMPLICIT_GROUP_NO_EXPAND", evaluateFieldImplicitGroupNoExpand)
134+ fieldLoopExpressionEvaluators.Add("GROUP", evaluateFieldGroup)
135+ fieldLoopExpressionEvaluators.Add("GROUP_OVERLAY", evaluateFieldGroupOverlay)
136+ fieldLoopExpressionEvaluators.Add("GROUP_MEMBER_PREFIX", evaluateFieldGroupMemberPrefix)
137+ fieldLoopExpressionEvaluators.Add("GROUP_MEMBER_PREFIX_COMPILER", evaluateFieldGroupMemberPrefixCompiler)
134138 fieldLoopExpressionEvaluators.Add("HEADING", evaluateFieldHeading)
135139 fieldLoopExpressionEvaluators.Add("HELPID", evaluateFieldHelpID)
136140 fieldLoopExpressionEvaluators.Add("HYPERLINK", evaluateFieldHyperlink)
@@ -139,6 +143,8 @@ namespace CodeGen.Engine
139143 fieldLoopExpressionEvaluators.Add("I2", evaluateFieldI2)
140144 fieldLoopExpressionEvaluators.Add("I4", evaluateFieldI4)
141145 fieldLoopExpressionEvaluators.Add("I8", evaluateFieldI8)
146+ fieldLoopExpressionEvaluators.Add("IMPLICIT_GROUP", evaluateFieldImplicitGroup)
147+ fieldLoopExpressionEvaluators.Add("IMPLICIT_GROUP_NO_EXPAND", evaluateFieldImplicitGroupNoExpand)
142148 fieldLoopExpressionEvaluators.Add("INFOLINE", evaluateFieldInfoLine)
143149 fieldLoopExpressionEvaluators.Add("INPUT_CENTER", evaluateFieldInputCenter)
144150 fieldLoopExpressionEvaluators.Add("INPUT_LEFT", evaluateFieldInputLeft)
@@ -151,6 +157,7 @@ namespace CodeGen.Engine
151157 fieldLoopExpressionEvaluators.Add("LONGDESC", evaluateFieldLongDescription)
152158 fieldLoopExpressionEvaluators.Add("MAPPED", evaluateFieldMapped)
153159 fieldLoopExpressionEvaluators.Add("MAPPEDSTR", evaluateFieldMappedStr)
160+ fieldLoopExpressionEvaluators.Add("NAME_LINK",evaluateFieldNameLink)
154161 fieldLoopExpressionEvaluators.Add("NEGATIVE_ALLOWED", evaluateFieldNegativeAllowed)
155162 fieldLoopExpressionEvaluators.Add("NEGATIVE_ORZERO", evaluateFieldNegativeOrZero)
156163 fieldLoopExpressionEvaluators.Add("NEGATIVE_REQUIRED", evaluateFieldNegativeRequired)
@@ -217,6 +224,7 @@ namespace CodeGen.Engine
217224 fieldLoopExpressionEvaluators.Add("OVERLAY", evaluateFieldOverlay)
218225 fieldLoopExpressionEvaluators.Add("OVERLAY_OFFSET", evaluateFieldOverlayOffset)
219226 fieldLoopExpressionEvaluators.Add("PAINTCHAR", evaluateFieldPaintChar)
227+ fieldLoopExpressionEvaluators.Add("PAINTFIELD", evaluateFieldPaintField)
220228 fieldLoopExpressionEvaluators.Add("PII_SCRUB", evaluateFieldPiiScrub)
221229 fieldLoopExpressionEvaluators.Add("PKSEGMENT", evaluateFieldPkSegment)
222230 fieldLoopExpressionEvaluators.Add("PRECISION", evaluateFieldPrecision)
@@ -244,12 +252,10 @@ namespace CodeGen.Engine
244252 fieldLoopExpressionEvaluators.Add("TIMEOUT", evaluateFieldTimeout)
245253 fieldLoopExpressionEvaluators.Add("TOOLKIT", evaluateFieldToolkit)
246254 fieldLoopExpressionEvaluators.Add("UNDERLINE", evaluateFieldUnderline)
247- fieldLoopExpressionEvaluators.Add("UNFLATTENED_GROUP", evaluateFieldUnflattenedGroup)
248- fieldLoopExpressionEvaluators.Add("UNFLATTENED_EXPLICIT_GROUP", evaluateFieldUnflattenedExplicitGroup)
249- fieldLoopExpressionEvaluators.Add("UNFLATTENED_IMPLICIT_GROUP", evaluateFieldUnflattenedImplicitGroup)
250255 fieldLoopExpressionEvaluators.Add("UPPERCASE", evaluateFieldUppercase)
251256 fieldLoopExpressionEvaluators.Add("USED_IN_RELATION", evaluateFieldUsedInRelation)
252257 fieldLoopExpressionEvaluators.Add("USER", evaluateFieldUser)
258+ fieldLoopExpressionEvaluators.Add("USER_TYPE", evaluateFieldUserType)
253259 fieldLoopExpressionEvaluators.Add("USERTEXT", evaluateFieldUserText)
254260 fieldLoopExpressionEvaluators.Add("USERTIMESTAMP", evaluateFieldUserTimeStamp)
255261 fieldLoopExpressionEvaluators.Add("VIEW_LENGTH", evaluateFieldViewLength)
@@ -1072,6 +1078,16 @@ namespace CodeGen.Engine
10721078 mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
10731079 endmethod
10741080
1081+ private static method evaluateFieldExplicitGroup, boolean
1082+ tkn, @Token
1083+ template, @FileNode
1084+ loops, @IEnumerable<LoopNode>
1085+ endparams
1086+ proc
1087+ lambda doEvaluate(str, field, index) (field.GroupType == RpsFieldGroup.Yes && String.IsNullOrWhiteSpace(field.GroupStructure))
1088+ mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
1089+ endmethod
1090+
10751091 private static method evaluateFieldPosition, boolean
10761092 tkn, @Token
10771093 template, @FileNode
@@ -1092,6 +1108,46 @@ namespace CodeGen.Engine
10921108 mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
10931109 endmethod
10941110
1111+ private static method evaluateFieldGroup, boolean
1112+ tkn, @Token
1113+ template, @FileNode
1114+ loops, @IEnumerable<LoopNode>
1115+ endparams
1116+ proc
1117+ lambda doEvaluate(str, field, index) (field.GroupType == RpsFieldGroup.Yes)
1118+ mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
1119+ endmethod
1120+
1121+ private static method evaluateFieldGroupOverlay, boolean
1122+ tkn, @Token
1123+ template, @FileNode
1124+ loops, @IEnumerable<LoopNode>
1125+ endparams
1126+ proc
1127+ lambda doEvaluate(str, field, index) (field.GroupType == RpsFieldGroup.Overlay)
1128+ mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
1129+ endmethod
1130+
1131+ private static method evaluateFieldGroupMemberPrefix, boolean
1132+ tkn, @Token
1133+ template, @FileNode
1134+ loops, @IEnumerable<LoopNode>
1135+ endparams
1136+ proc
1137+ lambda doEvaluate(str, field, index) (field.IsGroup && !String.IsNullOrWhiteSpace(field.GroupMemberPrefix))
1138+ mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
1139+ endmethod
1140+
1141+ private static method evaluateFieldGroupMemberPrefixCompiler, boolean
1142+ tkn, @Token
1143+ template, @FileNode
1144+ loops, @IEnumerable<LoopNode>
1145+ endparams
1146+ proc
1147+ lambda doEvaluate(str, field, index) (field.CompilerUsesGroupMemberPrefix)
1148+ mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
1149+ endmethod
1150+
10951151 private static method evaluateFieldExplicitGroupNoExpand, boolean
10961152 tkn, @Token
10971153 template, @FileNode
@@ -1102,6 +1158,16 @@ namespace CodeGen.Engine
11021158 mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
11031159 endmethod
11041160
1161+ private static method evaluateFieldImplicitGroup, boolean
1162+ tkn, @Token
1163+ template, @FileNode
1164+ loops, @IEnumerable<LoopNode>
1165+ endparams
1166+ proc
1167+ lambda doEvaluate(str, field, index) (field.GroupType == RpsFieldGroup.Yes && !String.IsNullOrWhiteSpace(field.GroupStructure))
1168+ mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
1169+ endmethod
1170+
11051171 private static method evaluateFieldImplicitGroupNoExpand, boolean
11061172 tkn, @Token
11071173 template, @FileNode
@@ -1302,6 +1368,16 @@ namespace CodeGen.Engine
13021368 mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
13031369 endmethod
13041370
1371+ private static method evaluateFieldNameLink, boolean
1372+ tkn, @Token
1373+ template, @FileNode
1374+ loops, @IEnumerable<LoopNode>
1375+ endparams
1376+ proc
1377+ lambda doEvaluate(str, field, index) (!field.NoNameLink)
1378+ mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
1379+ endmethod
1380+
13051381 private static method evaluateFieldNegativeAllowed, boolean
13061382 tkn, @Token
13071383 template, @FileNode
@@ -2067,6 +2143,16 @@ namespace CodeGen.Engine
20672143 mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
20682144 endmethod
20692145
2146+ private static method evaluateFieldPaintField, boolean
2147+ tkn, @Token
2148+ template, @FileNode
2149+ loops, @IEnumerable<LoopNode>
2150+ endparams
2151+ proc
2152+ lambda doEvaluate(str, field, index) (field.PaintField)
2153+ mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
2154+ endmethod
2155+
20702156 private static method evaluateFieldPiiScrub, boolean
20712157 tkn, @Token
20722158 template, @FileNode
@@ -2409,36 +2495,6 @@ namespace CodeGen.Engine
24092495 mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
24102496 endmethod
24112497
2412- private static method evaluateFieldUnflattenedGroup, boolean
2413- tkn, @Token
2414- template, @FileNode
2415- loops, @IEnumerable<LoopNode>
2416- endparams
2417- proc
2418- lambda doEvaluate(str, field, index) (field.GroupType == RpsFieldGroup.Yes)
2419- mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
2420- endmethod
2421-
2422- private static method evaluateFieldUnflattenedExplicitGroup, boolean
2423- tkn, @Token
2424- template, @FileNode
2425- loops, @IEnumerable<LoopNode>
2426- endparams
2427- proc
2428- lambda doEvaluate(str, field, index) (field.GroupType == RpsFieldGroup.Yes && String.IsNullOrWhiteSpace(field.GroupStructure))
2429- mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
2430- endmethod
2431-
2432- private static method evaluateFieldUnflattenedImplicitGroup, boolean
2433- tkn, @Token
2434- template, @FileNode
2435- loops, @IEnumerable<LoopNode>
2436- endparams
2437- proc
2438- lambda doEvaluate(str, field, index) (field.GroupType == RpsFieldGroup.Yes && !String.IsNullOrWhiteSpace(field.GroupStructure))
2439- mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
2440- endmethod
2441-
24422498 private static method evaluateFieldUppercase, boolean
24432499 tkn, @Token
24442500 template, @FileNode
@@ -2497,6 +2553,16 @@ namespace CodeGen.Engine
24972553 mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
24982554 endmethod
24992555
2556+ private static method evaluateFieldUserType, boolean
2557+ tkn, @Token
2558+ template, @FileNode
2559+ loops, @IEnumerable<LoopNode>
2560+ endparams
2561+ proc
2562+ lambda doEvaluate(str, field, index) (!String.IsNullOrWhiteSpace(field.UserFieldType))
2563+ mreturn EvaluateFieldLoopExpression(tkn, template, loops, doEvaluate)
2564+ endmethod
2565+
25002566 private static method evaluateFieldUserText, boolean
25012567 tkn, @Token
25022568 template, @FileNode
0 commit comments