Spaces:
Runtime error
Runtime error
=========== | |
empty class | |
=========== | |
class Foo extends Bar {} | |
--- | |
(ql (moduleMember (dataclass (className) (typeExpr (className))))) | |
=================================== | |
class with characteristic predicate | |
=================================== | |
abstract class Foo extends Bar { | |
pragma[inline] | |
Foo() { | |
this = this | |
} | |
} | |
--- | |
(ql (moduleMember | |
(annotation (annotName)) | |
(dataclass (className) (typeExpr (className)) | |
(classMember (annotation (annotName) (annotArg (simpleId))) | |
(charpred (className) | |
(comp_term (variable (this)) (compop) (variable (this)))))))) | |
================== | |
class with members | |
================== | |
class X extends Y { | |
m::F f; | |
m::F a() { | |
result = f | |
} | |
} | |
--- | |
(ql (moduleMember | |
(dataclass (className) (typeExpr (className)) | |
(classMember (field (varDecl (typeExpr (moduleExpr (simpleId)) (className)) (varName (simpleId))))) | |
(classMember (memberPredicate (typeExpr (moduleExpr (simpleId)) (className)) (predicateName) | |
(body (comp_term (variable (result)) (compop) (variable (varName (simpleId)))))))))) | |
=========== | |
class alias | |
=========== | |
class X = foo::Bas; | |
--- | |
(ql (moduleMember | |
(dataclass (className) (typeAliasBody (typeExpr (moduleExpr (simpleId)) (className)))))) | |
================ | |
class instanceof | |
================ | |
class X extends Y1, Y2 instanceof Z1, Z2 { | |
X() { none() } | |
} | |
--- | |
(ql | |
(moduleMember | |
(dataclass | |
(className) | |
(typeExpr | |
(className)) | |
(typeExpr | |
(className)) | |
(typeExpr | |
(className)) | |
(typeExpr | |
(className)) | |
(classMember | |
(charpred | |
(className) | |
(special_call | |
(specialId))))))) |