mirror of
https://github.com/github/codeql.git
synced 2026-05-01 19:55:15 +02:00
Merge branch 'main' into redsun82/swift-type-repr-collapse
This commit is contained in:
@@ -65,7 +65,7 @@ class Processor:
|
||||
return cpp.Class(
|
||||
name=name,
|
||||
bases=[self._get_class(b) for b in cls.bases],
|
||||
fields=[_get_field(cls, p) for p in cls.properties],
|
||||
fields=[_get_field(cls, p) for p in cls.properties if "cpp_skip" not in p.pragmas],
|
||||
final=not cls.derived,
|
||||
trap_name=trap_name,
|
||||
)
|
||||
|
||||
@@ -12,14 +12,18 @@ _directories:
|
||||
stmt: Stmt$
|
||||
|
||||
Element:
|
||||
is_unknown: predicate
|
||||
is_unknown:
|
||||
type: predicate
|
||||
_pragma: cpp_skip # this is emitted using trap entries directly
|
||||
_pragma: qltest_skip
|
||||
|
||||
File:
|
||||
name: string
|
||||
|
||||
Locatable:
|
||||
location: Location?
|
||||
location:
|
||||
type: Location?
|
||||
_pragma: cpp_skip # this is emitted using trap entries directly
|
||||
_pragma: qltest_skip
|
||||
|
||||
Location:
|
||||
@@ -270,6 +274,16 @@ EnumCaseDecl:
|
||||
|
||||
IfConfigDecl:
|
||||
_extends: Decl
|
||||
_children:
|
||||
clauses: IfConfigClause*
|
||||
|
||||
IfConfigClause:
|
||||
_extends: Locatable
|
||||
_children:
|
||||
condition: Expr?
|
||||
elements: AstNode*
|
||||
is_active: predicate
|
||||
_dir: decl
|
||||
|
||||
ImportDecl:
|
||||
_extends: Decl
|
||||
@@ -319,6 +333,7 @@ AppliedPropertyWrapperExpr:
|
||||
_extends: Expr
|
||||
|
||||
Argument:
|
||||
_extends: Locatable
|
||||
label: string
|
||||
_children:
|
||||
expr: Expr
|
||||
@@ -544,7 +559,6 @@ TypeExpr:
|
||||
UnresolvedDeclRefExpr:
|
||||
_extends: Expr
|
||||
name: string?
|
||||
_pragma: qltest_skip # we should really never extract these
|
||||
|
||||
UnresolvedDotExpr:
|
||||
_extends: Expr
|
||||
@@ -559,7 +573,8 @@ UnresolvedMemberExpr:
|
||||
|
||||
UnresolvedPatternExpr:
|
||||
_extends: Expr
|
||||
_pragma: qltest_skip # we should really never extract these
|
||||
_children:
|
||||
sub_pattern: Pattern
|
||||
|
||||
UnresolvedSpecializeExpr:
|
||||
_extends: Expr
|
||||
|
||||
@@ -165,5 +165,18 @@ def test_classes_with_dirs(generate_grouped):
|
||||
}
|
||||
|
||||
|
||||
def test_cpp_skip_pragma(generate):
|
||||
assert generate([
|
||||
schema.Class(name="A", properties=[
|
||||
schema.SingleProperty("x", "foo"),
|
||||
schema.SingleProperty("y", "bar", pragmas=["x", "cpp_skip", "y"]),
|
||||
])
|
||||
]) == [
|
||||
cpp.Class(name="A", final=True, trap_name="As", fields=[
|
||||
cpp.Field("x", "foo"),
|
||||
]),
|
||||
]
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(pytest.main([__file__] + sys.argv[1:]))
|
||||
|
||||
Reference in New Issue
Block a user