Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions server/ql/rust/tools/test/PrintAST/PrintAST.expected
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,56 @@ Example1.rs:
# 15| getSegment(): [PathSegment] format
# 15| getIdentifier(): [NameRef] format
# 15| getTokenTree(): [TokenTree] TokenTree
# 15| getMacroCallExpansion(): [BlockExpr] { ... }
# 15| getStmtList(): [StmtList] StmtList
# 15| getTailExpr(): [CallExpr] ...::must_use(...)
# 15| getArgList(): [ArgList] ArgList
# 15| getArg(0): [BlockExpr] { ... }
# 15| getStmtList(): [StmtList] StmtList
# 15| getTailExpr(): [CallExpr] ...::format(...)
# 15| getArgList(): [ArgList] ArgList
# 15| getArg(0): [MacroExpr] MacroExpr
# 15| getMacroCall(): [MacroCall] ...::format_args!...
# 15| getPath(): [Path] ...::format_args
# 15| getQualifier(): [Path] ...::__export
# 15| getQualifier(): [Path] $crate
# 15| getSegment(): [PathSegment] $crate
# 15| getIdentifier(): [NameRef] $crate
# 15| getSegment(): [PathSegment] __export
# 15| getIdentifier(): [NameRef] __export
# 15| getSegment(): [PathSegment] format_args
# 15| getIdentifier(): [NameRef] format_args
# 15| getTokenTree(): [TokenTree] TokenTree
# 15| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
# 15| getArg(0): [FormatArgsArg] FormatArgsArg
# 15| getExpr(): [FieldExpr] self.name
# 15| getContainer(): [VariableAccess] self
# 15| getPath(): [Path] self
# 15| getSegment(): [PathSegment] self
# 15| getIdentifier(): [NameRef] self
# 15| getIdentifier(): [NameRef] name
# 15| getTemplate(): [StringLiteralExpr] "Hello, {}!"
# 15| getFormat(0): [Format] {}
# 15| getFunction(): [PathExpr] ...::format
# 15| getPath(): [Path] ...::format
# 15| getQualifier(): [Path] ...::fmt
# 15| getQualifier(): [Path] $crate
# 15| getSegment(): [PathSegment] $crate
# 15| getIdentifier(): [NameRef] $crate
# 15| getSegment(): [PathSegment] fmt
# 15| getIdentifier(): [NameRef] fmt
# 15| getSegment(): [PathSegment] format
# 15| getIdentifier(): [NameRef] format
# 15| getFunction(): [PathExpr] ...::must_use
# 15| getPath(): [Path] ...::must_use
# 15| getQualifier(): [Path] ...::__export
# 15| getQualifier(): [Path] $crate
# 15| getSegment(): [PathSegment] $crate
# 15| getIdentifier(): [NameRef] $crate
# 15| getSegment(): [PathSegment] __export
# 15| getIdentifier(): [NameRef] __export
# 15| getSegment(): [PathSegment] must_use
# 15| getIdentifier(): [NameRef] must_use
# 14| getName(): [Name] greet
# 14| getRetType(): [RetTypeRepr] RetTypeRepr
# 14| getTypeRepr(): [PathTypeRepr] String
Expand Down Expand Up @@ -95,6 +145,32 @@ Example1.rs:
# 24| getSegment(): [PathSegment] vec
# 24| getIdentifier(): [NameRef] vec
# 24| getTokenTree(): [TokenTree] TokenTree
# 24| getMacroCallExpansion(): [CallExpr] ...::into_vec(...)
# 24| getArgList(): [ArgList] ArgList
# 24| getArg(0): [CallExpr] ...::box_new(...)
# 24| getArgList(): [ArgList] ArgList
# 24| getArg(0): [ArrayListExpr] [...]
# 24| getExpr(0): [IntegerLiteralExpr] 1
# 24| getExpr(1): [IntegerLiteralExpr] 2
# 24| getExpr(2): [IntegerLiteralExpr] 3
# 24| getFunction(): [PathExpr] ...::box_new
# 24| getPath(): [Path] ...::box_new
# 24| getQualifier(): [Path] ...::boxed
# 24| getQualifier(): [Path] $crate
# 24| getSegment(): [PathSegment] $crate
# 24| getIdentifier(): [NameRef] $crate
# 24| getSegment(): [PathSegment] boxed
# 24| getIdentifier(): [NameRef] boxed
# 24| getSegment(): [PathSegment] box_new
# 24| getIdentifier(): [NameRef] box_new
# 24| getFunction(): [PathExpr] ...::into_vec
# 24| getPath(): [Path] ...::into_vec
# 24| getQualifier(): [Path] <...>
# 24| getSegment(): [PathSegment] <...>
# 24| getTypeRepr(): [SliceTypeRepr] SliceTypeRepr
# 24| getTypeRepr(): [InferTypeRepr] _
# 24| getSegment(): [PathSegment] into_vec
# 24| getIdentifier(): [NameRef] into_vec
# 24| getPat(): [IdentPat] numbers
# 24| getName(): [Name] numbers
# 27| getStatement(1): [ExprStmt] ExprStmt
Expand Down Expand Up @@ -124,6 +200,14 @@ Example1.rs:
# 28| getSegment(): [PathSegment] format_args_nl
# 28| getIdentifier(): [NameRef] format_args_nl
# 28| getTokenTree(): [TokenTree] TokenTree
# 28| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
# 28| getArg(0): [FormatArgsArg] FormatArgsArg
# 28| getExpr(): [VariableAccess] n
# 28| getPath(): [Path] n
# 28| getSegment(): [PathSegment] n
# 28| getIdentifier(): [NameRef] n
# 28| getTemplate(): [StringLiteralExpr] "{}\n"
# 28| getFormat(0): [Format] {}
# 28| getFunction(): [PathExpr] ...::_print
# 28| getPath(): [Path] ...::_print
# 28| getQualifier(): [Path] ...::io
Expand Down Expand Up @@ -174,6 +258,8 @@ Example1.rs:
# 35| getSegment(): [PathSegment] format_args_nl
# 35| getIdentifier(): [NameRef] format_args_nl
# 35| getTokenTree(): [TokenTree] TokenTree
# 35| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
# 35| getTemplate(): [StringLiteralExpr] "Non-positive\n"
# 35| getFunction(): [PathExpr] ...::_print
# 35| getPath(): [Path] ...::_print
# 35| getQualifier(): [Path] ...::io
Expand Down Expand Up @@ -209,6 +295,8 @@ Example1.rs:
# 33| getSegment(): [PathSegment] format_args_nl
# 33| getIdentifier(): [NameRef] format_args_nl
# 33| getTokenTree(): [TokenTree] TokenTree
# 33| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
# 33| getTemplate(): [StringLiteralExpr] "Positive\n"
# 33| getFunction(): [PathExpr] ...::_print
# 33| getPath(): [Path] ...::_print
# 33| getQualifier(): [Path] ...::io
Expand Down Expand Up @@ -246,6 +334,8 @@ Example1.rs:
# 40| getSegment(): [PathSegment] format_args_nl
# 40| getIdentifier(): [NameRef] format_args_nl
# 40| getTokenTree(): [TokenTree] TokenTree
# 40| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
# 40| getTemplate(): [StringLiteralExpr] "Zero\n"
# 40| getFunction(): [PathExpr] ...::_print
# 40| getPath(): [Path] ...::_print
# 40| getQualifier(): [Path] ...::io
Expand Down Expand Up @@ -279,6 +369,8 @@ Example1.rs:
# 41| getSegment(): [PathSegment] format_args_nl
# 41| getIdentifier(): [NameRef] format_args_nl
# 41| getTokenTree(): [TokenTree] TokenTree
# 41| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
# 41| getTemplate(): [StringLiteralExpr] "One\n"
# 41| getFunction(): [PathExpr] ...::_print
# 41| getPath(): [Path] ...::_print
# 41| getQualifier(): [Path] ...::io
Expand Down Expand Up @@ -312,6 +404,8 @@ Example1.rs:
# 42| getSegment(): [PathSegment] format_args_nl
# 42| getIdentifier(): [NameRef] format_args_nl
# 42| getTokenTree(): [TokenTree] TokenTree
# 42| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
# 42| getTemplate(): [StringLiteralExpr] "Other\n"
# 42| getFunction(): [PathExpr] ...::_print
# 42| getPath(): [Path] ...::_print
# 42| getQualifier(): [Path] ...::io
Expand Down Expand Up @@ -364,6 +458,17 @@ Example1.rs:
# 48| getSegment(): [PathSegment] format_args_nl
# 48| getIdentifier(): [NameRef] format_args_nl
# 48| getTokenTree(): [TokenTree] TokenTree
# 48| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr
# 48| getArg(0): [FormatArgsArg] FormatArgsArg
# 48| getExpr(): [MethodCallExpr] example.greet()
# 48| getArgList(): [ArgList] ArgList
# 48| getIdentifier(): [NameRef] greet
# 48| getReceiver(): [VariableAccess] example
# 48| getPath(): [Path] example
# 48| getSegment(): [PathSegment] example
# 48| getIdentifier(): [NameRef] example
# 48| getTemplate(): [StringLiteralExpr] "{}\n"
# 48| getFormat(0): [Format] {}
# 48| getFunction(): [PathExpr] ...::_print
# 48| getPath(): [Path] ...::_print
# 48| getQualifier(): [Path] ...::io
Expand Down
38 changes: 34 additions & 4 deletions server/ql/rust/tools/test/PrintCFG/PrintCFG.expected
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,33 @@ Example1.rs:
# 4| x
#-----| -> x

# 8| FormatArgsExpr
#-----| -> ...::format_args_nl!...

# 6| FormatArgsExpr
#-----| -> ...::format_args_nl!...

# 12| FormatArgsExpr
#-----| -> ...::format_args_nl!...

# 5| 0
#-----| -> ... > ...

# 8| "Non-positive\n"
#-----| -> FormatArgsExpr

# 6| "Positive\n"
#-----| -> FormatArgsExpr

# 11| 3
#-----| -> 0..3

# 11| 0
#-----| -> 3

# 12| "{}\n"
#-----| -> i

# 5| ... > ...
#-----| -> ExprStmt
#-----| -> ExprStmt
Expand Down Expand Up @@ -104,13 +122,16 @@ Example1.rs:
#-----| -> 0

# 8| ...::_print
#-----| -> ...::format_args_nl!...
#-----| -> "Non-positive\n"

# 6| ...::_print
#-----| -> ...::format_args_nl!...
#-----| -> "Positive\n"

# 12| i
#-----| -> FormatArgsExpr

# 12| ...::_print
#-----| -> ...::format_args_nl!...
#-----| -> "{}\n"

# 8| ExprStmt
#-----| -> ...::_print
Expand Down Expand Up @@ -284,12 +305,18 @@ Example1.rs:
# 36| result
#-----| -> result

# 37| FormatArgsExpr
#-----| -> ...::format_args_nl!...

# 35| 5
#-----| -> simple_function(...)

# 36| 20
#-----| -> complex_function(...)

# 37| "{}\n"
#-----| -> result

# 37| MacroExpr
#-----| -> ...::_print(...)

Expand Down Expand Up @@ -323,8 +350,11 @@ Example1.rs:
# 36| complex_function
#-----| -> 20

# 37| result
#-----| -> FormatArgsExpr

# 37| ...::_print
#-----| -> ...::format_args_nl!...
#-----| -> "{}\n"

# 35| ExprStmt
#-----| -> simple_function
Expand Down