@@ -3,23 +3,72 @@ import cpp
33import RuleMetadata
44import codingstandards.cpp.exclusions.RuleMetadata
55
6- newtype Language2Query = TLanguageExtensionsShouldNotBeUsedQuery ( )
6+ newtype Language2Query =
7+ TUsageOfAssemblyLanguageShouldBeDocumentedQuery ( ) or
8+ TLanguageExtensionsShouldNotBeUsedQuery ( ) or
9+ TCriticalUnspecifiedBehaviourQuery ( ) or
10+ TEmergentLanguageFeaturesUsedQuery ( )
711
812predicate isLanguage2QueryMetadata ( Query query , string queryId , string ruleId ) {
13+ query =
14+ // `Query` instance for the `usageOfAssemblyLanguageShouldBeDocumented` query
15+ Language2Package:: usageOfAssemblyLanguageShouldBeDocumentedQuery ( ) and
16+ queryId =
17+ // `@id` for the `usageOfAssemblyLanguageShouldBeDocumented` query
18+ "c/misra/usage-of-assembly-language-should-be-documented" and
19+ ruleId = "DIR-4-2"
20+ or
921 query =
1022 // `Query` instance for the `languageExtensionsShouldNotBeUsed` query
1123 Language2Package:: languageExtensionsShouldNotBeUsedQuery ( ) and
1224 queryId =
1325 // `@id` for the `languageExtensionsShouldNotBeUsed` query
1426 "c/misra/language-extensions-should-not-be-used" and
1527 ruleId = "RULE-1-2"
28+ or
29+ query =
30+ // `Query` instance for the `criticalUnspecifiedBehaviour` query
31+ Language2Package:: criticalUnspecifiedBehaviourQuery ( ) and
32+ queryId =
33+ // `@id` for the `criticalUnspecifiedBehaviour` query
34+ "c/misra/critical-unspecified-behaviour" and
35+ ruleId = "RULE-1-3"
36+ or
37+ query =
38+ // `Query` instance for the `emergentLanguageFeaturesUsed` query
39+ Language2Package:: emergentLanguageFeaturesUsedQuery ( ) and
40+ queryId =
41+ // `@id` for the `emergentLanguageFeaturesUsed` query
42+ "c/misra/emergent-language-features-used" and
43+ ruleId = "RULE-1-4"
1644}
1745
1846module Language2Package {
47+ Query usageOfAssemblyLanguageShouldBeDocumentedQuery ( ) {
48+ //autogenerate `Query` type
49+ result =
50+ // `Query` type for `usageOfAssemblyLanguageShouldBeDocumented` query
51+ TQueryC ( TLanguage2PackageQuery ( TUsageOfAssemblyLanguageShouldBeDocumentedQuery ( ) ) )
52+ }
53+
1954 Query languageExtensionsShouldNotBeUsedQuery ( ) {
2055 //autogenerate `Query` type
2156 result =
2257 // `Query` type for `languageExtensionsShouldNotBeUsed` query
2358 TQueryC ( TLanguage2PackageQuery ( TLanguageExtensionsShouldNotBeUsedQuery ( ) ) )
2459 }
60+
61+ Query criticalUnspecifiedBehaviourQuery ( ) {
62+ //autogenerate `Query` type
63+ result =
64+ // `Query` type for `criticalUnspecifiedBehaviour` query
65+ TQueryC ( TLanguage2PackageQuery ( TCriticalUnspecifiedBehaviourQuery ( ) ) )
66+ }
67+
68+ Query emergentLanguageFeaturesUsedQuery ( ) {
69+ //autogenerate `Query` type
70+ result =
71+ // `Query` type for `emergentLanguageFeaturesUsed` query
72+ TQueryC ( TLanguage2PackageQuery ( TEmergentLanguageFeaturesUsedQuery ( ) ) )
73+ }
2574}
0 commit comments