{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "IBM ZCodeScan Rules Document", "description": "JSON schema for zcodescan-rules.yaml files. Version @version@ -- Licensed Materials - Property of IBM - (c) Copyright IBM Corporation 2026. All Rights Reserved.", "type": "object", "additionalProperties": false, "properties": { "rules": { "description": "The list of rules to apply.", "type": "array", "items": { "$ref": "#/definitions/ruleItem" }, "minItems": 1 } }, "definitions": { "ruleItem": { "type": "object", "additionalProperties": false, "properties": { "id": { "description": "The id of the rule to apply.", "anyOf": [ { "type": "string", "description": "Custom rule following the pattern custom.*Rule", "pattern": "^custom.*Rule" }, { "const": "zcodescan.cobol.rules.AcceptDateTimeRule", "description": "Use CURRENT-DATE rather than ACCEPT DATE or ACCEPT TIME" }, { "const": "zcodescan.cobol.rules.AcceptFromConsoleRule", "description": "Avoid ACCEPT statements containing FROM CONSOLE or FROM SYSIN" }, { "const": "zcodescan.cobol.rules.AcceptRule", "description": "Insecure use of ACCEPT" }, { "const": "zcodescan.cobol.rules.AlphaToNumericMoveRule", "description": "Do not move alphanumeric values to numeric fields." }, { "const": "zcodescan.cobol.rules.AlterRule", "description": "Avoid use of ALTER for control flow." }, { "const": "zcodescan.cobol.rules.AvoidSectionInProcedureDivisionRule", "description": "Avoid using SECTION in the procedure division" }, { "const": "zcodescan.cobol.rules.AvoidSqlLikeRule", "description": "Use LIKE carefully in SQL WHERE" }, { "const": "zcodescan.cobol.rules.BinarySubscriptRule", "description": "Use binary subscripts" }, { "const": "zcodescan.cobol.rules.BlockContainsRule", "description": "Specify 0 RECORDS for BLOCK CONTAINS clauses in file description entries" }, { "const": "zcodescan.cobol.rules.BufferOverflowRule", "description": "Improper restriction of operations within the bounds of a memory buffer" }, { "const": "zcodescan.cobol.rules.CallSyntaxRule", "description": "Avoid CALL statements with a literal program name" }, { "const": "zcodescan.cobol.rules.CancelRule", "description": "Avoid CANCEL statements" }, { "const": "zcodescan.cobol.rules.CheckSqlcodeAfterExecSqlRule", "description": "EXEC SQL: Check the value of SQLCODE after an EXEC SQL statement" }, { "const": "zcodescan.cobol.rules.CheckSqlstateAfterExecSqlRule", "description": "Test SQLSTATE after every SQL statement." }, { "const": "zcodescan.cobol.rules.CicsCommareaLengthRule", "description": "Specify COMMAREA length in CICS LINK and CICS XCTL commands." }, { "const": "zcodescan.cobol.rules.CicsNoHandleRule", "description": "Use NOHANDLE with CICS commands." }, { "const": "zcodescan.cobol.rules.CommentRegexRule", "description": "Track comment markers using regex" }, { "const": "zcodescan.cobol.rules.CommentedOutCodeRule", "description": "Commented-out code blocks should be removed" }, { "const": "zcodescan.cobol.rules.Comp3PictureClauseRule", "description": "Use an odd number of digits in a COMP-3 or PACKED-DECIMAL data definition" }, { "const": "zcodescan.cobol.rules.CompilerDirectivesRule", "description": "Avoid using the compiler directive" }, { "const": "zcodescan.cobol.rules.CondTooManyDataItemsRule", "description": "Conditions should use fewer distinct data items" }, { "const": "zcodescan.cobol.rules.CondVarNoLiteralCompareRule", "description": "Avoid Comparing Condition Variables to Literals" }, { "const": "zcodescan.cobol.rules.ConditionNamePrefixRule", "description": "Use the specified prefix with condition names" }, { "const": "zcodescan.cobol.rules.CopyLimitRule", "description": "Limit the Number of COPY Directives in a Program" }, { "const": "zcodescan.cobol.rules.CopySuppressRule", "description": "Avoid COPY SUPPRESS statements" }, { "const": "zcodescan.cobol.rules.CopybookProceduralLogicRule", "description": "Avoid defining procedural logic in copybooks" }, { "const": "zcodescan.cobol.rules.CopybookRule", "description": "Avoid including the specified copy book" }, { "const": "zcodescan.cobol.rules.CorrespondingRule", "description": "Avoid CORRESPONDING phrases" }, { "const": "zcodescan.cobol.rules.CursorCloseExplicitRule", "description": "Explicitly close all explicitly opened cursors." }, { "const": "zcodescan.cobol.rules.CursorCloseInLoopRule", "description": "Do not close cursors inside loops." }, { "const": "zcodescan.cobol.rules.CursorDeclarationScopeRule", "description": "Do not declare cursors inside the Procedure Division." }, { "const": "zcodescan.cobol.rules.CursorDeclareInLoopRule", "description": "Do not declare cursors inside loops." }, { "const": "zcodescan.cobol.rules.CursorGroupByRule", "description": "Avoid GROUP BY in SQL cursors." }, { "const": "zcodescan.cobol.rules.CursorOpenInLoopRule", "description": "Avoid opening cursors inside loops." }, { "const": "zcodescan.cobol.rules.CursorReadUpdateRule", "description": "FOR READ ONLY or FOR UPDATE should be specified for DB2 cursors." }, { "const": "zcodescan.cobol.rules.DataOccursOneRule", "description": "Avoid OCCURS 1 on data items" }, { "const": "zcodescan.cobol.rules.DataValueInLinkageRule", "description": "VALUE clauses in the LINKAGE SECTION have no effect and should be removed" }, { "const": "zcodescan.cobol.rules.DebugFeaturesInProdRule", "description": "Do not deliver code to production with debug features enabled (security-sensitive)." }, { "const": "zcodescan.cobol.rules.DeclaredFilesUsedRule", "description": "Declared files must be opened in the program" }, { "const": "zcodescan.cobol.rules.DisplayUponConsoleRule", "description": "Avoid DISPLAY statements containing UPON CONSOLE" }, { "const": "zcodescan.cobol.rules.DuplicateBranchImplementationRule", "description": "Avoid identical code in different conditional branches" }, { "const": "zcodescan.cobol.rules.EntryRule", "description": "Avoid ENTRY statements" }, { "const": "zcodescan.cobol.rules.EvaluateNotIfRule", "description": "Use an EVALUATE statement rather than a nested IF statement" }, { "const": "zcodescan.cobol.rules.EvaluateWhenOtherRule", "description": "Use a WHEN OTHER phrase with an EVALUATE statement" }, { "const": "zcodescan.cobol.rules.ExcessiveParagraphsRule", "description": "Limit the number of paragraphs in a program" }, { "const": "zcodescan.cobol.rules.ExitParagraphRule", "description": "Use an EXIT paragraph in each section" }, { "const": "zcodescan.cobol.rules.ExitProgramRule", "description": "Avoid EXIT PROGRAM statements" }, { "const": "zcodescan.cobol.rules.FileCloseExplicitRule", "description": "Explicitly close all open files." }, { "const": "zcodescan.cobol.rules.FileMergeAvoidRule", "description": "Avoid using MERGE statements." }, { "const": "zcodescan.cobol.rules.FileNameConventionRule", "description": "Follow the specified naming convention for COBOL file names" }, { "const": "zcodescan.cobol.rules.FileOpenInLoopRule", "description": "Do not use OPEN statements inside loops." }, { "const": "zcodescan.cobol.rules.FileSortAvoidRule", "description": "Avoid using SORT statements." }, { "const": "zcodescan.cobol.rules.FileStatusCheckRule", "description": "Check FILE STATUS after I/O operations when available." }, { "const": "zcodescan.cobol.rules.FiveBasedLevelNumbersRule", "description": "Use level numbers in the sequence 01, 05, 10, 15..." }, { "const": "zcodescan.cobol.rules.GoToOutsideModuleRule", "description": "GO TO should not jump to a paragraph outside the current section" }, { "const": "zcodescan.cobol.rules.GotoDependingOnRule", "description": "Avoid using GO TO DEPENDING ON." }, { "const": "zcodescan.cobol.rules.GotoParagraphRule", "description": "Avoid GO TO statements, except those that reference an EXIT paragraph" }, { "const": "zcodescan.cobol.rules.GotoRule", "description": "Avoid GO TO statements" }, { "const": "zcodescan.cobol.rules.IfElseRule", "description": "Avoid IF without ELSE" }, { "const": "zcodescan.cobol.rules.IndexSubscriptRule", "description": "Avoid using subscripts to access a table. Use indexes." }, { "const": "zcodescan.cobol.rules.InitializeRule", "description": "Avoid INITIALIZE statements. Use elementary MOVE statements or VALUE clauses." }, { "const": "zcodescan.cobol.rules.InlinePerformLineLimitRule", "description": "An inline PERFORM statement cannot exceed the specified line number limit" }, { "const": "zcodescan.cobol.rules.Level01NamingRule", "description": "Enforce naming convention for level-01 data items" }, { "const": "zcodescan.cobol.rules.Level88Rule", "description": "Avoid using level-88 entries in data descriptions" }, { "const": "zcodescan.cobol.rules.LimitSubprogramCallsRule", "description": "Limit the number of subprogram calls per program" }, { "const": "zcodescan.cobol.rules.LinkageInCopybookRule", "description": "LINKAGE SECTION items should be declared in a shared copybook" }, { "const": "zcodescan.cobol.rules.LogicalFileNamingRule", "description": "Enforce naming convention for logical files" }, { "const": "zcodescan.cobol.rules.MagicNumberRule", "description": "Avoid magic numbers" }, { "const": "zcodescan.cobol.rules.ModuleLineLimitRule", "description": "Modules should not contain too many lines" }, { "const": "zcodescan.cobol.rules.MultipleExitsRule", "description": "Avoid using more than one EXIT statement per section" }, { "const": "zcodescan.cobol.rules.NestedIfLimitRule", "description": "Avoid nesting IF statements deeper than the specified number of levels" }, { "const": "zcodescan.cobol.rules.NextSentenceInScopedRangeRule", "description": "Use CONTINUE rather than NEXT SENTENCE inside a scoped range." }, { "const": "zcodescan.cobol.rules.NextSentenceRule", "description": "Avoid NEXT SENTENCE phrases." }, { "const": "zcodescan.cobol.rules.NoDisplayRule", "description": "Avoid using DISPLAY statements in production programs." }, { "const": "zcodescan.cobol.rules.NoEmptyParagraphsRule", "description": "Paragraphs should not be empty" }, { "const": "zcodescan.cobol.rules.NoEmptySectionsRule", "description": "Sections should not be empty" }, { "const": "zcodescan.cobol.rules.NoLevel77Rule", "description": "Avoid using level 77 data items" }, { "const": "zcodescan.cobol.rules.NoParagraphsRule", "description": "Paragraphs should be avoided in COBOL programs" }, { "const": "zcodescan.cobol.rules.OccursDependingOnRule", "description": "Avoid OCCURS DEPENDING ON phrases" }, { "const": "zcodescan.cobol.rules.ParagraphCommentRule", "description": "Use comments to describe all paragraphs" }, { "const": "zcodescan.cobol.rules.ParagraphLineLimitRule", "description": "Paragraphs should not contain too many lines of code" }, { "const": "zcodescan.cobol.rules.ParagraphNamingConventionRule", "description": "Paragraphs should adhere to a naming convention" }, { "const": "zcodescan.cobol.rules.ParagraphRedefinitionRule", "description": "Do not redefine paragraphs." }, { "const": "zcodescan.cobol.rules.PerformExceptPerformSectionRule", "description": "Avoid PERFORM, except PERFORM section" }, { "const": "zcodescan.cobol.rules.PerformNestingDepthRule", "description": "PERFORM calls should not be nested too deeply" }, { "const": "zcodescan.cobol.rules.PerformParagraphGoToRule", "description": "Paragraphs used by a PERFORM statement should not contain GO TO" }, { "const": "zcodescan.cobol.rules.PerformParagraphRule", "description": "PERFORM PARAGRAPH should not be used." }, { "const": "zcodescan.cobol.rules.PerformRecursiveRule", "description": "Recursive PERFORM statements are not allowed" }, { "const": "zcodescan.cobol.rules.PerformThruLastExitRule", "description": "Last paragraph in a PERFORM THRU range must be an exit paragraph" }, { "const": "zcodescan.cobol.rules.PerformThruNamingRule", "description": "PERFORM THRU procedure names must share a numeric prefix" }, { "const": "zcodescan.cobol.rules.PerformThruOrderRule", "description": "The end paragraph of a PERFORM THRU range must follow the start paragraph in source order" }, { "const": "zcodescan.cobol.rules.PerformWithThroughRule", "description": "Use THRU phrases in PERFORM statements" }, { "const": "zcodescan.cobol.rules.PerformWithoutThroughRule", "description": "Avoid THRU phrases in PERFORM statements" }, { "const": "zcodescan.cobol.rules.ProcedureRule", "description": "Procedure division statements cannot exceed the specified line number limit" }, { "const": "zcodescan.cobol.rules.ProgramIdRule", "description": "Use a program name that matches the source file name" }, { "const": "zcodescan.cobol.rules.ProgramTitleRule", "description": "Programs should declare a title statement" }, { "const": "zcodescan.cobol.rules.ReadAtEndClauseRule", "description": "READ statements must contain AT END or INVALID KEY if FILE-STATUS is not declared" }, { "const": "zcodescan.cobol.rules.RedefinesAvoidRule", "description": "Do not use REDEFINES." }, { "const": "zcodescan.cobol.rules.RedundantParenthesesRule", "description": "Redundant pairs of parentheses in COBOL expressions should be removed" }, { "const": "zcodescan.cobol.rules.RemoveUnusedConditionNamesRule", "description": "Remove unused 88-level condition names" }, { "const": "zcodescan.cobol.rules.RequireEndClauseRule", "description": "End Clause is Required" }, { "const": "zcodescan.cobol.rules.ReserveRule", "description": "Avoid RESERVE clauses in FILE-CONTROL paragraphs" }, { "const": "zcodescan.cobol.rules.RespOptionRule", "description": "EXEC CICS: Use the RESP option" }, { "const": "zcodescan.cobol.rules.RestrictedRoutineRule", "description": "Avoid calling the specified routine" }, { "const": "zcodescan.cobol.rules.SearchAllRule", "description": "Use SEARCH ALL rather than SEARCH to search a table" }, { "const": "zcodescan.cobol.rules.SectionCommentRule", "description": "Use comments to describe all sections" }, { "const": "zcodescan.cobol.rules.SectionCountLimitRule", "description": "Programs should not contain too many sections" }, { "const": "zcodescan.cobol.rules.SectionLineLimitRule", "description": "Sections should not exceed the maximum number of lines" }, { "const": "zcodescan.cobol.rules.SingleSqlPerParagraphRule", "description": "Each paragraph should contain at most one embedded SQL statement" }, { "const": "zcodescan.cobol.rules.SqlAnsiWhereOperatorsRule", "description": "SQL WHERE clauses should use ANSI standard operators" }, { "const": "zcodescan.cobol.rules.SqlAvoidSelectStarRule", "description": "EXEC SQL: Avoid SELECT *" }, { "const": "zcodescan.cobol.rules.SqlDeclareCursorOrderByRule", "description": "EXEC SQL: Use an ORDER BY clause when declaring a cursor" }, { "const": "zcodescan.cobol.rules.SqlFetchAllColumnsRule", "description": "Use all selected columns in FETCH statements" }, { "const": "zcodescan.cobol.rules.SqlFetchFirstOrderByRule", "description": "Queries using FETCH FIRST must include an ORDER BY clause." }, { "const": "zcodescan.cobol.rules.SqlFetchIntoExcessColumnsRule", "description": "Ensure FETCH uses no more host variables than the cursor's SELECT columns" }, { "const": "zcodescan.cobol.rules.SqlInjectionRule", "description": "Improper neutralization of special elements used in an SQL command (SQL Injection)" }, { "const": "zcodescan.cobol.rules.SqlJoinCountRule", "description": "Avoid joining too many tables in one SQL" }, { "const": "zcodescan.cobol.rules.SqlLikeWithoutWildcardRule", "description": "Avoid using LIKE without wildcard characters" }, { "const": "zcodescan.cobol.rules.SqlNoCastToCharRule", "description": "Do not use CAST(... AS CHAR/VARCHAR) in SQL statements." }, { "const": "zcodescan.cobol.rules.SqlNoDdlInAppRule", "description": "Do not use DDL statements in programs." }, { "const": "zcodescan.cobol.rules.SqlNoDirectNullCompareRule", "description": "Avoid Direct Comparisons to NULL" }, { "const": "zcodescan.cobol.rules.SqlNoDistinctRule", "description": "Avoid DISTINCT in SQL SELECT statements" }, { "const": "zcodescan.cobol.rules.SqlNoFuncInWhereRule", "description": "Avoid Arithmetic or Function Calls in WHERE Conditions" }, { "const": "zcodescan.cobol.rules.SqlNoLeadingWildcardLikeRule", "description": "Avoid Leading Wildcards in LIKE Clause" }, { "const": "zcodescan.cobol.rules.SqlNoLockTableRule", "description": "Do not use LOCK TABLE statements." }, { "const": "zcodescan.cobol.rules.SqlNoNestedSelectRule", "description": "Avoid nested SQL SELECT statements." }, { "const": "zcodescan.cobol.rules.SqlNoUnionRule", "description": "Do not use UNION in SQL SELECT statements." }, { "const": "zcodescan.cobol.rules.SqlOrderByUseColumnNamesRule", "description": "Use column names instead of numeric positions in ORDER BY" }, { "const": "zcodescan.cobol.rules.SqlUseJoinKeywordRule", "description": "SQL tables should be joined with the 'JOIN' keyword" }, { "const": "zcodescan.cobol.rules.SqlWhereRule", "description": "Use a WHERE clause in SQL statements" }, { "const": "zcodescan.cobol.rules.StaticCallNameRule", "description": "Avoid static calls except for the specified program name" }, { "const": "zcodescan.cobol.rules.StopRunLastStatementRule", "description": "STOP RUN or GOBACK should be the last executable statement in a paragraph" }, { "const": "zcodescan.cobol.rules.StopRunRule", "description": "Avoid STOP RUN and STOP literal statements" }, { "const": "zcodescan.cobol.rules.StringNoTruncationRule", "description": "Move strings only to variables large enough to prevent truncation." }, { "const": "zcodescan.cobol.rules.TrackCopyrightRule", "description": "Source files should include an ownership and licensing notice" }, { "const": "zcodescan.cobol.rules.TrackFixMeRule", "description": "Monitor FIXME tags" }, { "const": "zcodescan.cobol.rules.TrackSqlUsageRule", "description": "Audit embedded SQL statements" }, { "const": "zcodescan.cobol.rules.TrackTodoRule", "description": "Monitor TODO tags" }, { "const": "zcodescan.cobol.rules.TypedInitializationRule", "description": "Initialize data items with values of the correct type." }, { "const": "zcodescan.cobol.rules.TypesInCopybooksRule", "description": "Declare user-defined data types in shared copybooks" }, { "const": "zcodescan.cobol.rules.UninitialzedVariablesRule", "description": "Use of uninitialized variables." }, { "const": "zcodescan.cobol.rules.UniqueSectionNamesRule", "description": "Ensure Section Names Are Unique Within a Program" }, { "const": "zcodescan.cobol.rules.UnprotectedAuthCredentialRule", "description": "Unprotected Authentication Credentials" }, { "const": "zcodescan.cobol.rules.UnreachableCodeRule", "description": "Statements following an unconditional branch are never executed" }, { "const": "zcodescan.cobol.rules.UnusedDataItemBlockRule", "description": "Unreferenced data items in WORKING-STORAGE should be removed" }, { "const": "zcodescan.cobol.rules.UnusedParagraphsRule", "description": "Paragraphs that are never PERFORMed should be removed" }, { "const": "zcodescan.cobol.rules.UnusedSectionsRule", "description": "Sections that are never PERFORMed should be removed" }, { "const": "zcodescan.cobol.rules.XMLParseRule", "description": "Avoid XML PARSE statements" }, { "const": "zcodescan.pli.rules.ArithmeticExprWithoutBitTypeRule", "description": "Avoid using data elements of type BIT in arithmetic operations" }, { "const": "zcodescan.pli.rules.ArithmeticExprWithoutCharacterTypeRule", "description": "Avoid using data elements of type CHARACTER in arithmetic operations" }, { "const": "zcodescan.pli.rules.AssignValueToParmRule", "description": "Avoid assigning a value to an INONLY or NONASSIGNABLE parameter" }, { "const": "zcodescan.pli.rules.AvoidProcessDirectiveRule", "description": "Avoid using the PROCESS directive" }, { "const": "zcodescan.pli.rules.CompareBitStringsWithSameLength", "description": "Avoid comparisons of BIT strings of different length" }, { "const": "zcodescan.pli.rules.CompareEntryRule1", "description": "Avoid assigning or comparing two entry variables having different parameter lists" }, { "const": "zcodescan.pli.rules.CompareEntryRule2", "description": "Avoid assigning or comparing two entry variables having different RETURNS attributes" }, { "const": "zcodescan.pli.rules.DataItemNameLengthRule", "description": "Avoid data item names longer than the specified number of characters" }, { "const": "zcodescan.pli.rules.DfhrespRule", "description": "EXEC CICS: Use DFHRESP to check the return value" }, { "const": "zcodescan.pli.rules.DoEndRule", "description": "Use DO-END within a THEN, ELSE, WHEN, or OTHERWISE unit" }, { "const": "zcodescan.pli.rules.DotQualRefsRule", "description": "Use dot qualified references to structure members that are not level 1" }, { "const": "zcodescan.pli.rules.EndProcedureWithLabelRule", "description": "Ensure requires procedures to end with a labeled END statement matching the procedure name" }, { "const": "zcodescan.pli.rules.FactorAttribRule", "description": "Avoid declaring multiple data items by factoring attributes" }, { "const": "zcodescan.pli.rules.FilenameConventionRule", "description": "Follow the specified convention for PL/I file names" }, { "const": "zcodescan.pli.rules.FixedDecimalPrecisionRule", "description": "Avoid FIXED DECIMAL declarations with even precision" }, { "const": "zcodescan.pli.rules.GoToLabelBlockRule", "description": "Avoid GO TO statements that specify a label in another block" }, { "const": "zcodescan.pli.rules.GoToLabelVariableRule", "description": "Avoid GO TO statements that specify a label variable" }, { "const": "zcodescan.pli.rules.GoToRule", "description": "Avoid most Go To Statements" }, { "const": "zcodescan.pli.rules.ImplicitDeclarationRule", "description": "Avoid implicit declarations" }, { "const": "zcodescan.pli.rules.InitPointerVarsRule", "description": "Initialize locator variables used for based storage" }, { "const": "zcodescan.pli.rules.InitialStaticRule", "description": "Use INITIAL with STATIC data declarations" }, { "const": "zcodescan.pli.rules.LevelNumberWithDeclaredVarsRule", "description": "Use a level number when declaring data" }, { "const": "zcodescan.pli.rules.LoopControlRule", "description": "Use a loop control variable that is FIXED BINARY, FLOAT, ORDINAL, HANDLE, POINTER, or OFFSET." }, { "const": "zcodescan.pli.rules.NoCommentsAfterCol72Rule", "description": "Avoid ending a comment after column 72" }, { "const": "zcodescan.pli.rules.ProcedureFilenameMatchRule", "description": "Use a program name that matches the procedure file name" }, { "const": "zcodescan.pli.rules.ProcedureLinesRule", "description": "Procedure statements cannot exceed the specified line number limit" }, { "const": "zcodescan.pli.rules.RespRule", "description": "Use RESP or RESP2 on EXEC CICS statements" }, { "const": "zcodescan.pli.rules.SelectNotNestedIfRule", "description": "Use a SELECT statement rather than ELSE-IF" }, { "const": "zcodescan.pli.rules.SelectWithoutOtherwiseRule", "description": "Avoid SELECT statements without OTHERWISE branch" }, { "const": "zcodescan.pli.rules.SequenceNumbersOnlyAfterCol72Rule", "description": "Avoid using characters except for sequence numbers after column 72" }, { "const": "zcodescan.pli.rules.SingleVariableRule", "description": "Declare a single variable in an IF, WHILE, UNTIL, or WHEN clause as BIT(1) NONVARYING" }, { "const": "zcodescan.pli.rules.SpecifiedIncludeRule", "description": "Avoid using the specified include file" }, { "const": "zcodescan.pli.rules.SqlSelectRule", "description": "EXEC SQL: Avoid SELECT *" }, { "const": "zcodescan.pli.rules.StopRule", "description": "Avoid STOP statements" }, { "const": "zcodescan.pli.rules.UnqualifiedTablenamesRule", "description": "EXEC SQL: Use unqualified table names" } ] }, "severity": { "description": "The severity of the rule to apply.", "enum": ["BLOCKER", "HIGH", "MEDIUM", "LOW", "INFO", "OFF"] }, "statements": {}, "parameters": {}, "excludes": { "description": "Case-insensitive regex patterns for files to exclude from scanning.", "type": "array", "items": { "type": "string" } }, "includes": { "description": "Case-insensitive regex patterns for files to include from scanning.", "type": "array", "items": { "type": "string" } } }, "required": ["id"], "allOf": [ { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.AcceptDateTimeRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.AcceptFromConsoleRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.AcceptRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.AlphaToNumericMoveRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.AlterRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.AvoidSectionInProcedureDivisionRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.AvoidSqlLikeRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.BinarySubscriptRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.BlockContainsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.BufferOverflowRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CallSyntaxRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CancelRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CheckSqlcodeAfterExecSqlRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CheckSqlstateAfterExecSqlRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CicsCommareaLengthRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CicsNoHandleRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CommentRegexRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.CommentRegexRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CommentedOutCodeRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.Comp3PictureClauseRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CompilerDirectivesRule", "type": "string" } } }, "then": { "properties": { "statements": { "description": "The list of statements for this rule. Each statement name may appear only once.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.CompilerDirectivesRuleStatementItem" }, "minItems": 1, "allOf": [ { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!BasisDirective$)", "patternErrorMessage": "Duplicate statement 'BasisDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!CopyDirective$)", "patternErrorMessage": "Duplicate statement 'CopyDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!ProcessDirective$)", "patternErrorMessage": "Duplicate statement 'ProcessDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!ReplaceDirective$)", "patternErrorMessage": "Duplicate statement 'ReplaceDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!ServicelabelDirective$)", "patternErrorMessage": "Duplicate statement 'ServicelabelDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!ServiceloadDirective$)", "patternErrorMessage": "Duplicate statement 'ServiceloadDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!TitleDirective$)", "patternErrorMessage": "Duplicate statement 'TitleDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!BasisDirective$)", "patternErrorMessage": "Duplicate statement 'BasisDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!CopyDirective$)", "patternErrorMessage": "Duplicate statement 'CopyDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!ProcessDirective$)", "patternErrorMessage": "Duplicate statement 'ProcessDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!ReplaceDirective$)", "patternErrorMessage": "Duplicate statement 'ReplaceDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!ServicelabelDirective$)", "patternErrorMessage": "Duplicate statement 'ServicelabelDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!ServiceloadDirective$)", "patternErrorMessage": "Duplicate statement 'ServiceloadDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!TitleDirective$)", "patternErrorMessage": "Duplicate statement 'TitleDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!BasisDirective$)", "patternErrorMessage": "Duplicate statement 'BasisDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!CopyDirective$)", "patternErrorMessage": "Duplicate statement 'CopyDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ProcessDirective$)", "patternErrorMessage": "Duplicate statement 'ProcessDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ReplaceDirective$)", "patternErrorMessage": "Duplicate statement 'ReplaceDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ServicelabelDirective$)", "patternErrorMessage": "Duplicate statement 'ServicelabelDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ServiceloadDirective$)", "patternErrorMessage": "Duplicate statement 'ServiceloadDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!TitleDirective$)", "patternErrorMessage": "Duplicate statement 'TitleDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!BasisDirective$)", "patternErrorMessage": "Duplicate statement 'BasisDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!CopyDirective$)", "patternErrorMessage": "Duplicate statement 'CopyDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ProcessDirective$)", "patternErrorMessage": "Duplicate statement 'ProcessDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ReplaceDirective$)", "patternErrorMessage": "Duplicate statement 'ReplaceDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ServicelabelDirective$)", "patternErrorMessage": "Duplicate statement 'ServicelabelDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ServiceloadDirective$)", "patternErrorMessage": "Duplicate statement 'ServiceloadDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!TitleDirective$)", "patternErrorMessage": "Duplicate statement 'TitleDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!BasisDirective$)", "patternErrorMessage": "Duplicate statement 'BasisDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!CopyDirective$)", "patternErrorMessage": "Duplicate statement 'CopyDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ProcessDirective$)", "patternErrorMessage": "Duplicate statement 'ProcessDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ReplaceDirective$)", "patternErrorMessage": "Duplicate statement 'ReplaceDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ServicelabelDirective$)", "patternErrorMessage": "Duplicate statement 'ServicelabelDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ServiceloadDirective$)", "patternErrorMessage": "Duplicate statement 'ServiceloadDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!TitleDirective$)", "patternErrorMessage": "Duplicate statement 'TitleDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!BasisDirective$)", "patternErrorMessage": "Duplicate statement 'BasisDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!CopyDirective$)", "patternErrorMessage": "Duplicate statement 'CopyDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ProcessDirective$)", "patternErrorMessage": "Duplicate statement 'ProcessDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ReplaceDirective$)", "patternErrorMessage": "Duplicate statement 'ReplaceDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ServicelabelDirective$)", "patternErrorMessage": "Duplicate statement 'ServicelabelDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ServiceloadDirective$)", "patternErrorMessage": "Duplicate statement 'ServiceloadDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!TitleDirective$)", "patternErrorMessage": "Duplicate statement 'TitleDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] }, { "minItems": 7, "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "const": "BasisDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!BasisDirective$)", "patternErrorMessage": "Duplicate statement 'BasisDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] }, { "minItems": 7, "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "const": "CopyDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!CopyDirective$)", "patternErrorMessage": "Duplicate statement 'CopyDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] }, { "minItems": 7, "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ProcessDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ProcessDirective$)", "patternErrorMessage": "Duplicate statement 'ProcessDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] }, { "minItems": 7, "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ReplaceDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ReplaceDirective$)", "patternErrorMessage": "Duplicate statement 'ReplaceDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] }, { "minItems": 7, "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ServicelabelDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ServicelabelDirective$)", "patternErrorMessage": "Duplicate statement 'ServicelabelDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] }, { "minItems": 7, "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "const": "ServiceloadDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!ServiceloadDirective$)", "patternErrorMessage": "Duplicate statement 'ServiceloadDirective': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] }, { "minItems": 7, "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "const": "TitleDirective" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!TitleDirective$)", "patternErrorMessage": "Duplicate statement 'TitleDirective': each statement name may appear only once." } } } ] } } ] } }, "required": ["id", "statements"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CondTooManyDataItemsRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.CondTooManyDataItemsRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CondVarNoLiteralCompareRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ConditionNamePrefixRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.ConditionNamePrefixRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CopyLimitRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.CopyLimitRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CopySuppressRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CopybookProceduralLogicRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CopybookRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.CopybookRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CorrespondingRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CursorCloseExplicitRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CursorCloseInLoopRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CursorDeclarationScopeRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CursorDeclareInLoopRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CursorGroupByRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CursorOpenInLoopRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.CursorReadUpdateRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.DataOccursOneRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.DataValueInLinkageRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.DebugFeaturesInProdRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.DeclaredFilesUsedRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.DisplayUponConsoleRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.DuplicateBranchImplementationRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.EntryRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.EvaluateNotIfRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.EvaluateWhenOtherRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ExcessiveParagraphsRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.ExcessiveParagraphsRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ExitParagraphRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ExitProgramRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.FileCloseExplicitRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.FileMergeAvoidRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.FileNameConventionRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.FileNameConventionRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.FileOpenInLoopRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.FileSortAvoidRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.FileStatusCheckRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.FiveBasedLevelNumbersRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.GoToOutsideModuleRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.GotoDependingOnRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.GotoParagraphRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.GotoRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.IfElseRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.IndexSubscriptRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.InitializeRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.InlinePerformLineLimitRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.InlinePerformLineLimitRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.Level01NamingRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.Level01NamingRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.Level88Rule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.LimitSubprogramCallsRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.LimitSubprogramCallsRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.LinkageInCopybookRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.LogicalFileNamingRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.LogicalFileNamingRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.MagicNumberRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ModuleLineLimitRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.ModuleLineLimitRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.MultipleExitsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.NestedIfLimitRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.NestedIfLimitRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.NextSentenceInScopedRangeRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.NextSentenceRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.NoDisplayRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.NoEmptyParagraphsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.NoEmptySectionsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.NoLevel77Rule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.NoParagraphsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.OccursDependingOnRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ParagraphCommentRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.ParagraphCommentRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ParagraphLineLimitRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.ParagraphLineLimitRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ParagraphNamingConventionRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.ParagraphNamingConventionRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ParagraphRedefinitionRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.PerformExceptPerformSectionRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.PerformNestingDepthRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.PerformNestingDepthRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.PerformParagraphGoToRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.PerformParagraphRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.PerformRecursiveRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.PerformThruLastExitRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.PerformThruNamingRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.PerformThruOrderRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.PerformWithThroughRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.PerformWithoutThroughRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ProcedureRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.ProcedureRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ProgramIdRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ProgramTitleRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ReadAtEndClauseRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.RedefinesAvoidRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.RedundantParenthesesRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.RemoveUnusedConditionNamesRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.RequireEndClauseRule", "type": "string" } } }, "then": { "properties": { "statements": { "description": "The list of statements for this rule. Each statement name may appear only once.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.RequireEndClauseRuleStatementItem" }, "minItems": 1, "allOf": [ { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!Call$)", "patternErrorMessage": "Duplicate statement 'Call': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!Evaluate$)", "patternErrorMessage": "Duplicate statement 'Evaluate': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!If$)", "patternErrorMessage": "Duplicate statement 'If': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!Read$)", "patternErrorMessage": "Duplicate statement 'Read': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!Search$)", "patternErrorMessage": "Duplicate statement 'Search': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!String$)", "patternErrorMessage": "Duplicate statement 'String': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!Call$)", "patternErrorMessage": "Duplicate statement 'Call': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!Evaluate$)", "patternErrorMessage": "Duplicate statement 'Evaluate': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!If$)", "patternErrorMessage": "Duplicate statement 'If': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!Read$)", "patternErrorMessage": "Duplicate statement 'Read': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!Search$)", "patternErrorMessage": "Duplicate statement 'Search': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!String$)", "patternErrorMessage": "Duplicate statement 'String': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Call$)", "patternErrorMessage": "Duplicate statement 'Call': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Evaluate$)", "patternErrorMessage": "Duplicate statement 'Evaluate': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!If$)", "patternErrorMessage": "Duplicate statement 'If': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Read$)", "patternErrorMessage": "Duplicate statement 'Read': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Search$)", "patternErrorMessage": "Duplicate statement 'Search': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!String$)", "patternErrorMessage": "Duplicate statement 'String': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Call$)", "patternErrorMessage": "Duplicate statement 'Call': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Evaluate$)", "patternErrorMessage": "Duplicate statement 'Evaluate': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!If$)", "patternErrorMessage": "Duplicate statement 'If': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Read$)", "patternErrorMessage": "Duplicate statement 'Read': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Search$)", "patternErrorMessage": "Duplicate statement 'Search': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!String$)", "patternErrorMessage": "Duplicate statement 'String': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Call$)", "patternErrorMessage": "Duplicate statement 'Call': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Evaluate$)", "patternErrorMessage": "Duplicate statement 'Evaluate': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!If$)", "patternErrorMessage": "Duplicate statement 'If': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Read$)", "patternErrorMessage": "Duplicate statement 'Read': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Search$)", "patternErrorMessage": "Duplicate statement 'Search': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!String$)", "patternErrorMessage": "Duplicate statement 'String': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "Call" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Call$)", "patternErrorMessage": "Duplicate statement 'Call': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "Evaluate" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Evaluate$)", "patternErrorMessage": "Duplicate statement 'Evaluate': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "If" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!If$)", "patternErrorMessage": "Duplicate statement 'If': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "Read" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Read$)", "patternErrorMessage": "Duplicate statement 'Read': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "Search" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Search$)", "patternErrorMessage": "Duplicate statement 'Search': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 5, "items": [ {}, {}, {}, {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] }, { "minItems": 6, "items": [ {}, {}, {}, {}, {}, { "properties": { "name": { "const": "String" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!String$)", "patternErrorMessage": "Duplicate statement 'String': each statement name may appear only once." } } } ] } } ] } }, "required": ["id", "statements"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.ReserveRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.RespOptionRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.RestrictedRoutineRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.RestrictedRoutineRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SearchAllRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SectionCommentRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.SectionCommentRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SectionCountLimitRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.SectionCountLimitRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SectionLineLimitRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.SectionLineLimitRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SingleSqlPerParagraphRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlAnsiWhereOperatorsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlAvoidSelectStarRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlDeclareCursorOrderByRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlFetchAllColumnsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlFetchFirstOrderByRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlFetchIntoExcessColumnsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlInjectionRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlJoinCountRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.SqlJoinCountRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlLikeWithoutWildcardRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlNoCastToCharRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlNoDdlInAppRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlNoDirectNullCompareRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlNoDistinctRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlNoFuncInWhereRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlNoLeadingWildcardLikeRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlNoLockTableRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlNoNestedSelectRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlNoUnionRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlOrderByUseColumnNamesRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlUseJoinKeywordRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.SqlWhereRule", "type": "string" } } }, "then": { "properties": { "statements": { "description": "The list of statements for this rule. Each statement name may appear only once.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.SqlWhereRuleStatementItem" }, "minItems": 1, "allOf": [ { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Delete" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!Delete$)", "patternErrorMessage": "Duplicate statement 'Delete': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Select" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!Select$)", "patternErrorMessage": "Duplicate statement 'Select': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Update" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!Update$)", "patternErrorMessage": "Duplicate statement 'Update': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Delete" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Delete" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!Delete$)", "patternErrorMessage": "Duplicate statement 'Delete': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Select" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Select" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!Select$)", "patternErrorMessage": "Duplicate statement 'Select': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Update" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Update" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!Update$)", "patternErrorMessage": "Duplicate statement 'Update': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Delete" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Delete" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Delete" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Delete$)", "patternErrorMessage": "Duplicate statement 'Delete': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Select" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Select" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Select" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Select$)", "patternErrorMessage": "Duplicate statement 'Select': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Update" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Update" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Update" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Update$)", "patternErrorMessage": "Duplicate statement 'Update': each statement name may appear only once." } } } ] } } ] } }, "required": ["id", "statements"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.StaticCallNameRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.cobol.rules.StaticCallNameRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.StopRunLastStatementRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.StopRunRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.StringNoTruncationRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.TrackCopyrightRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.TrackFixMeRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.TrackSqlUsageRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.TrackTodoRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.TypedInitializationRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.TypesInCopybooksRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.UninitialzedVariablesRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.UniqueSectionNamesRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.UnprotectedAuthCredentialRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.UnreachableCodeRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.UnusedDataItemBlockRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.UnusedParagraphsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.UnusedSectionsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.cobol.rules.XMLParseRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.ArithmeticExprWithoutBitTypeRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.ArithmeticExprWithoutCharacterTypeRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.AssignValueToParmRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.AvoidProcessDirectiveRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.CompareBitStringsWithSameLength", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.CompareEntryRule1", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.CompareEntryRule2", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.DataItemNameLengthRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.pli.rules.DataItemNameLengthRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.DfhrespRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.DoEndRule", "type": "string" } } }, "then": { "properties": { "statements": { "description": "The list of statements for this rule. Each statement name may appear only once.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.pli.rules.DoEndRuleStatementItem" }, "minItems": 1, "allOf": [ { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Else" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!Else$)", "patternErrorMessage": "Duplicate statement 'Else': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Otherwise" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!Otherwise$)", "patternErrorMessage": "Duplicate statement 'Otherwise': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Then" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!Then$)", "patternErrorMessage": "Duplicate statement 'Then': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "When" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, { "properties": { "name": { "pattern": "^(?!When$)", "patternErrorMessage": "Duplicate statement 'When': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Else" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Else" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!Else$)", "patternErrorMessage": "Duplicate statement 'Else': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Otherwise" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Otherwise" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!Otherwise$)", "patternErrorMessage": "Duplicate statement 'Otherwise': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Then" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Then" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!Then$)", "patternErrorMessage": "Duplicate statement 'Then': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "When" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "When" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, { "properties": { "name": { "pattern": "^(?!When$)", "patternErrorMessage": "Duplicate statement 'When': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Else" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Else" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Else" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Else$)", "patternErrorMessage": "Duplicate statement 'Else': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Otherwise" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Otherwise" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Otherwise" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Otherwise$)", "patternErrorMessage": "Duplicate statement 'Otherwise': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Then" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Then" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Then" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Then$)", "patternErrorMessage": "Duplicate statement 'Then': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "When" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "When" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "When" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, { "properties": { "name": { "pattern": "^(?!When$)", "patternErrorMessage": "Duplicate statement 'When': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Else" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Else" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Else" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Else" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Else$)", "patternErrorMessage": "Duplicate statement 'Else': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Otherwise" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Otherwise" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Otherwise" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Otherwise" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Otherwise$)", "patternErrorMessage": "Duplicate statement 'Otherwise': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "Then" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "Then" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "Then" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "Then" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!Then$)", "patternErrorMessage": "Duplicate statement 'Then': each statement name may appear only once." } } } ] } }, { "if": { "anyOf": [ { "minItems": 1, "items": [ { "properties": { "name": { "const": "When" } }, "required": ["name"] } ] }, { "minItems": 2, "items": [ {}, { "properties": { "name": { "const": "When" } }, "required": ["name"] } ] }, { "minItems": 3, "items": [ {}, {}, { "properties": { "name": { "const": "When" } }, "required": ["name"] } ] }, { "minItems": 4, "items": [ {}, {}, {}, { "properties": { "name": { "const": "When" } }, "required": ["name"] } ] } ] }, "then": { "items": [ {}, {}, {}, {}, { "properties": { "name": { "pattern": "^(?!When$)", "patternErrorMessage": "Duplicate statement 'When': each statement name may appear only once." } } } ] } } ] } }, "required": ["id", "statements"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.DotQualRefsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.EndProcedureWithLabelRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.FactorAttribRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.FilenameConventionRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.pli.rules.FilenameConventionRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.FixedDecimalPrecisionRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.GoToLabelBlockRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.GoToLabelVariableRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.GoToRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.ImplicitDeclarationRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.InitPointerVarsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.InitialStaticRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.LevelNumberWithDeclaredVarsRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.LoopControlRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.NoCommentsAfterCol72Rule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.ProcedureFilenameMatchRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.ProcedureLinesRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.pli.rules.ProcedureLinesRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.RespRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.SelectNotNestedIfRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.SelectWithoutOtherwiseRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.SequenceNumbersOnlyAfterCol72Rule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.SingleVariableRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.SpecifiedIncludeRule", "type": "string" } } }, "then": { "properties": { "parameters": { "description": "The list of parameters for this rule.", "type": "array", "items": { "$ref": "#/definitions/zcodescan.pli.rules.SpecifiedIncludeRuleParameterItem" }, "minItems": 1 } }, "required": ["id", "parameters"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.SqlSelectRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.StopRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } }, { "if": { "properties": { "id": { "const": "zcodescan.pli.rules.UnqualifiedTablenamesRule", "type": "string" } } }, "then": { "not": { "required": ["statements"] }, "required": ["id"] } } ] }, "zcodescan.cobol.rules.CompilerDirectivesRuleStatementItem": { "type": "object", "additionalProperties": false, "properties": { "name": { "enum": [ "BasisDirective", "CopyDirective", "ProcessDirective", "ReplaceDirective", "ServicelabelDirective", "ServiceloadDirective", "TitleDirective" ] }, "value": { "type": "boolean", "description": "Perform statement" } } }, "zcodescan.cobol.rules.RequireEndClauseRuleStatementItem": { "type": "object", "additionalProperties": false, "properties": { "name": { "enum": ["Call", "Evaluate", "If", "Read", "Search", "String"] }, "value": { "type": "boolean", "description": "Perform statement" } } }, "zcodescan.cobol.rules.SqlWhereRuleStatementItem": { "type": "object", "additionalProperties": false, "properties": { "name": { "enum": ["Delete", "Select", "Update"] }, "value": { "type": "boolean", "description": "Perform statement" } } }, "zcodescan.pli.rules.DoEndRuleStatementItem": { "type": "object", "additionalProperties": false, "properties": { "name": { "enum": ["Else", "Otherwise", "Then", "When"] }, "value": { "type": "boolean", "description": "Perform statement" } } }, "zcodescan.cobol.rules.CommentRegexRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["Regex"] }, "value": { "type": "string", "description": "Perform statement" } } }, "zcodescan.cobol.rules.CondTooManyDataItemsRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["OperandsLimit"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.ConditionNamePrefixRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["CONDITION_NAME_PREFIX"] }, "value": { "type": "string", "description": "Perform statement" } } }, "zcodescan.cobol.rules.CopyLimitRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["CopyLimit"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.CopybookRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["CopybookName"] }, "value": { "type": "string", "description": "Perform statement" } } }, "zcodescan.cobol.rules.ExcessiveParagraphsRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["ParagraphLimit"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.FileNameConventionRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["ConventionMask"] }, "value": { "type": "string", "description": "Perform statement" } } }, "zcodescan.cobol.rules.InlinePerformLineLimitRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["LineLimit"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.Level01NamingRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["Level01Prefix"] }, "value": { "type": "string", "description": "Perform statement" } } }, "zcodescan.cobol.rules.LimitSubprogramCallsRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["SubprogramLimit"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.LogicalFileNamingRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["FilenamePrefix"] }, "value": { "type": "string", "description": "Perform statement" } } }, "zcodescan.cobol.rules.ModuleLineLimitRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["ModuleLineLimit"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.NestedIfLimitRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["NestingLimit"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.ParagraphCommentRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["LOCATION"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.ParagraphLineLimitRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["ParagraphLineLimit"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.ParagraphNamingConventionRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["ParagraphNamingPattern"] }, "value": { "type": "string", "description": "Perform statement" } } }, "zcodescan.cobol.rules.PerformNestingDepthRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["PerformNestingDepth"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.ProcedureRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["LineLimit"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.RestrictedRoutineRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["RoutineName"] }, "value": { "type": "string", "description": "Perform statement" } } }, "zcodescan.cobol.rules.SectionCommentRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["LOCATION"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.SectionCountLimitRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["SectionCountLimit"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.SectionLineLimitRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["SectionLineLimit"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.SqlJoinCountRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["JoinCount"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.cobol.rules.StaticCallNameRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["PROGRAM_NAME"] }, "value": { "type": "string", "description": "Perform statement" } } }, "zcodescan.pli.rules.DataItemNameLengthRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["DataLen"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.pli.rules.FilenameConventionRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["FileMask"] }, "value": { "type": "string", "description": "Perform statement" } } }, "zcodescan.pli.rules.ProcedureLinesRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["ProcLines"] }, "value": { "type": "number", "description": "Perform statement" } } }, "zcodescan.pli.rules.SpecifiedIncludeRuleParameterItem": { "type": "object", "properties": { "name": { "enum": ["IncludeFile"] }, "value": { "type": "string", "description": "Perform statement" } } } } }