mirror of
https://github.com/github/codeql.git
synced 2026-04-27 01:35:13 +02:00
Merge pull request #11922 from michaelnebel/csharp11/strings
C# 11: String related functionality.
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
class Expression extends @expr {
|
||||
string toString() { none() }
|
||||
}
|
||||
|
||||
class TypeOrRef extends @type_or_ref {
|
||||
string toString() { none() }
|
||||
}
|
||||
|
||||
from Expression e, int k, int kind, TypeOrRef t
|
||||
where
|
||||
expressions(e, k, t) and
|
||||
if k = 135 then kind = 106 else kind = k
|
||||
select e, kind, t
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,3 @@
|
||||
description: Remove UTF-8 expression kind.
|
||||
compatibility: backwards
|
||||
expressions.rel: run expressions.qlo
|
||||
@@ -2,7 +2,6 @@ using Microsoft.CodeAnalysis;
|
||||
using Microsoft.CodeAnalysis.CSharp;
|
||||
using Microsoft.CodeAnalysis.CSharp.Syntax;
|
||||
using Semmle.Extraction.CSharp.Populators;
|
||||
using Semmle.Extraction.Entities;
|
||||
using Semmle.Extraction.Kinds;
|
||||
|
||||
namespace Semmle.Extraction.CSharp.Entities
|
||||
@@ -107,6 +106,11 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
return Expression.ValueAsString(val);
|
||||
}
|
||||
|
||||
if (TryGetStringValueFromUtf8Literal(out var s))
|
||||
{
|
||||
return s;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -181,6 +185,17 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
return isTrue || isFalse;
|
||||
}
|
||||
|
||||
private bool TryGetStringValueFromUtf8Literal(out string? value)
|
||||
{
|
||||
value = null;
|
||||
if (Node.IsKind(SyntaxKind.Utf8StringLiteralExpression) && Node is LiteralExpressionSyntax literal)
|
||||
{
|
||||
value = literal.Token.ValueText;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool IsBoolLiteral()
|
||||
{
|
||||
return TryGetBoolValueFromLiteral(out var _);
|
||||
|
||||
@@ -47,6 +47,7 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions
|
||||
case SyntaxKind.FalseLiteralExpression:
|
||||
case SyntaxKind.TrueLiteralExpression:
|
||||
case SyntaxKind.StringLiteralExpression:
|
||||
case SyntaxKind.Utf8StringLiteralExpression:
|
||||
case SyntaxKind.NullLiteralExpression:
|
||||
case SyntaxKind.NumericLiteralExpression:
|
||||
case SyntaxKind.CharacterLiteralExpression:
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions
|
||||
case SyntaxKind.InterpolatedStringText:
|
||||
// Create a string literal
|
||||
var interpolatedText = (InterpolatedStringTextSyntax)c;
|
||||
new Expression(new ExpressionInfo(Context, Type, Context.CreateLocation(c.GetLocation()), ExprKind.STRING_LITERAL, this, child++, false, interpolatedText.TextToken.Text));
|
||||
new Expression(new ExpressionInfo(Context, Type, Context.CreateLocation(c.GetLocation()), ExprKind.UTF16_STRING_LITERAL, this, child++, false, interpolatedText.TextToken.ValueText));
|
||||
break;
|
||||
default:
|
||||
throw new InternalError(c, $"Unhandled interpolation kind {c.Kind()}");
|
||||
|
||||
@@ -20,6 +20,8 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions
|
||||
{
|
||||
case SyntaxKind.DefaultLiteralExpression:
|
||||
return ExprKind.DEFAULT;
|
||||
case SyntaxKind.Utf8StringLiteralExpression:
|
||||
return ExprKind.UTF8_STRING_LITERAL;
|
||||
case SyntaxKind.NullLiteralExpression:
|
||||
info.SetType(null); // Don't use converted type.
|
||||
return ExprKind.NULL_LITERAL;
|
||||
@@ -63,7 +65,7 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions
|
||||
return ExprKind.FLOAT_LITERAL;
|
||||
|
||||
case SpecialType.System_String:
|
||||
return ExprKind.STRING_LITERAL;
|
||||
return ExprKind.UTF16_STRING_LITERAL;
|
||||
|
||||
case SpecialType.System_UInt16:
|
||||
case SpecialType.System_UInt32:
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Semmle.Extraction.Kinds
|
||||
ULONG_LITERAL = 7,
|
||||
FLOAT_LITERAL = 8,
|
||||
DOUBLE_LITERAL = 9,
|
||||
STRING_LITERAL = 10,
|
||||
UTF16_STRING_LITERAL = 10,
|
||||
NULL_LITERAL = 11,
|
||||
THIS_ACCESS = 12,
|
||||
BASE_ACCESS = 13,
|
||||
@@ -129,6 +129,7 @@ namespace Semmle.Extraction.Kinds
|
||||
SLICE_PATTERN = 132,
|
||||
URSHIFT = 133,
|
||||
ASSIGN_URSHIFT = 134,
|
||||
UTF8_STRING_LITERAL = 135,
|
||||
DEFINE_SYMBOL = 999,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
category: majorAnalysis
|
||||
---
|
||||
* Add extractor and library support for UTF-8 encoded strings.
|
||||
* The `StringLiteral` class includes UTF-8 encoded strings.
|
||||
* In the DB Schema `@string_literal_expr` is renamed to `@utf16_string_literal_expr`
|
||||
@@ -102,7 +102,8 @@ class DecimalLiteral extends RealLiteral, @decimal_literal_expr {
|
||||
}
|
||||
|
||||
/**
|
||||
* A `string` literal, for example `"Hello, World!"`.
|
||||
* A `string` literal. Either a `string` literal (`StringLiteralUtf16`),
|
||||
* or a `u8` literal (`StringLiteralUtf8`).
|
||||
*/
|
||||
class StringLiteral extends DotNet::StringLiteral, Literal, @string_literal_expr {
|
||||
override string toString() { result = "\"" + this.getValue().replaceAll("\"", "\\\"") + "\"" }
|
||||
@@ -110,6 +111,20 @@ class StringLiteral extends DotNet::StringLiteral, Literal, @string_literal_expr
|
||||
override string getAPrimaryQlClass() { result = "StringLiteral" }
|
||||
}
|
||||
|
||||
/**
|
||||
* A `string` literal, for example `"Hello, World!"`.
|
||||
*/
|
||||
class StringLiteralUtf16 extends StringLiteral, @utf16_string_literal_expr {
|
||||
override string getAPrimaryQlClass() { result = "StringLiteralUtf16" }
|
||||
}
|
||||
|
||||
/**
|
||||
* A `u8` literal, for example `"AUTH"u8`
|
||||
*/
|
||||
class StringLiteralUtf8 extends StringLiteral, @utf8_string_literal_expr {
|
||||
override string getAPrimaryQlClass() { result = "StringLiteralUtf8" }
|
||||
}
|
||||
|
||||
/**
|
||||
* A `null` literal.
|
||||
*/
|
||||
|
||||
@@ -1005,7 +1005,7 @@ case @expr.kind of
|
||||
| 7 = @ulong_literal_expr
|
||||
| 8 = @float_literal_expr
|
||||
| 9 = @double_literal_expr
|
||||
| 10 = @string_literal_expr
|
||||
| 10 = @utf16_string_literal_expr
|
||||
| 11 = @null_literal_expr
|
||||
/* primary & unary */
|
||||
| 12 = @this_access_expr
|
||||
@@ -1139,6 +1139,7 @@ case @expr.kind of
|
||||
| 132 = @slice_pattern_expr
|
||||
| 133 = @urshift_expr
|
||||
| 134 = @assign_urshift_expr
|
||||
| 135 = @utf8_string_literal_expr
|
||||
/* Preprocessor */
|
||||
| 999 = @define_symbol_expr
|
||||
;
|
||||
@@ -1152,6 +1153,7 @@ case @expr.kind of
|
||||
|
||||
@integer_literal_expr = @int_literal_expr | @long_literal_expr | @uint_literal_expr | @ulong_literal_expr;
|
||||
@real_literal_expr = @float_literal_expr | @double_literal_expr | @decimal_literal_expr;
|
||||
@string_literal_expr = @utf16_string_literal_expr | @utf8_string_literal_expr;
|
||||
@literal_expr = @bool_literal_expr | @char_literal_expr | @integer_literal_expr | @real_literal_expr
|
||||
| @string_literal_expr | @null_literal_expr;
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,2 @@
|
||||
description: Add UTF-8 expression kind.
|
||||
compatibility: backwards
|
||||
@@ -232,10 +232,10 @@ collections.cs:
|
||||
# 15| -1: [ObjectInitializer] { ..., ... }
|
||||
# 15| 0: [MemberInitializer] ... = ...
|
||||
# 15| 0: [FieldAccess] access to field a
|
||||
# 15| 1: [StringLiteral] "Hello"
|
||||
# 15| 1: [StringLiteralUtf16] "Hello"
|
||||
# 15| 1: [MemberInitializer] ... = ...
|
||||
# 15| 0: [FieldAccess] access to field b
|
||||
# 15| 1: [StringLiteral] "World"
|
||||
# 15| 1: [StringLiteralUtf16] "World"
|
||||
# 16| 1: [ElementInitializer] call to method Add
|
||||
# 16| 0: [IntLiteral] 1
|
||||
# 16| 1: [ObjectCreation] object creation of type MyClass
|
||||
@@ -243,10 +243,10 @@ collections.cs:
|
||||
# 16| -1: [ObjectInitializer] { ..., ... }
|
||||
# 16| 0: [MemberInitializer] ... = ...
|
||||
# 16| 0: [FieldAccess] access to field a
|
||||
# 16| 1: [StringLiteral] "Foo"
|
||||
# 16| 1: [StringLiteralUtf16] "Foo"
|
||||
# 16| 1: [MemberInitializer] ... = ...
|
||||
# 16| 0: [FieldAccess] access to field b
|
||||
# 16| 1: [StringLiteral] "Bar"
|
||||
# 16| 1: [StringLiteralUtf16] "Bar"
|
||||
constructor_init.cs:
|
||||
# 1| [Class] BaseClass
|
||||
# 3| 4: [Field] num
|
||||
@@ -443,7 +443,7 @@ events.cs:
|
||||
# 32| 0: [LocalVariableAccess] access to local variable result
|
||||
# 32| 1: [DelegateCall] delegate call
|
||||
# 32| -1: [LocalVariableAccess] access to local variable obj
|
||||
# 32| 0: [StringLiteral] "string"
|
||||
# 32| 0: [StringLiteralUtf16] "string"
|
||||
# 33| 3: [ExprStmt] ...;
|
||||
# 33| 0: [MethodCall] call to method RemoveEvent
|
||||
# 33| -1: [LocalVariableAccess] access to local variable obj
|
||||
@@ -549,13 +549,13 @@ indexers.cs:
|
||||
# 22| 0: [IndexerCall] access to indexer
|
||||
# 22| -1: [LocalVariableAccess] access to local variable inst
|
||||
# 22| 0: [IntLiteral] 0
|
||||
# 22| 1: [StringLiteral] "str1"
|
||||
# 22| 1: [StringLiteralUtf16] "str1"
|
||||
# 23| 2: [ExprStmt] ...;
|
||||
# 23| 0: [AssignExpr] ... = ...
|
||||
# 23| 0: [IndexerCall] access to indexer
|
||||
# 23| -1: [LocalVariableAccess] access to local variable inst
|
||||
# 23| 0: [IntLiteral] 1
|
||||
# 23| 1: [StringLiteral] "str1"
|
||||
# 23| 1: [StringLiteralUtf16] "str1"
|
||||
# 24| 3: [ExprStmt] ...;
|
||||
# 24| 0: [AssignExpr] ... = ...
|
||||
# 24| 0: [IndexerCall] access to indexer
|
||||
@@ -775,7 +775,7 @@ jumps.cs:
|
||||
# 13| 0: [MethodCall] call to method WriteLine
|
||||
# 13| -1: [TypeAccess] access to type Console
|
||||
# 13| 0: [TypeMention] Console
|
||||
# 13| 0: [StringLiteral] "BreakAndContinue"
|
||||
# 13| 0: [StringLiteralUtf16] "BreakAndContinue"
|
||||
# 16| 1: [ForStmt] for (...;...;...) ...
|
||||
# 16| -1: [LocalVariableDeclAndInitExpr] Int32 i = ...
|
||||
# 16| -1: [TypeMention] int
|
||||
@@ -831,7 +831,7 @@ jumps.cs:
|
||||
# 38| 0: [MethodCall] call to method WriteLine
|
||||
# 38| -1: [TypeAccess] access to type Console
|
||||
# 38| 0: [TypeMention] Console
|
||||
# 38| 0: [StringLiteral] "Done"
|
||||
# 38| 0: [StringLiteralUtf16] "Done"
|
||||
lock.cs:
|
||||
# 3| [Class] LockTest
|
||||
# 5| 5: [Method] A
|
||||
@@ -1152,9 +1152,9 @@ stmts.cs:
|
||||
# 31| 2: [ConstCase] case ...:
|
||||
# 31| 0: [ConstantPatternExpr,IntLiteral] 0
|
||||
# 32| 3: [GotoCaseStmt] goto case ...;
|
||||
# 32| 0: [StringLiteral] "123"
|
||||
# 32| 0: [StringLiteralUtf16] "123"
|
||||
# 33| 4: [ConstCase] case ...:
|
||||
# 33| 0: [ConstantPatternExpr,StringLiteral] "123"
|
||||
# 33| 0: [ConstantPatternExpr,StringLiteralUtf16] "123"
|
||||
# 34| 5: [ExprStmt] ...;
|
||||
# 34| 0: [AssignExpr] ... = ...
|
||||
# 34| 0: [LocalVariableAccess] access to local variable select
|
||||
|
||||
@@ -232,7 +232,7 @@ arguments.cs:
|
||||
# 68| 1: [DefaultAttribute] [My(...)]
|
||||
# 68| -1: [TypeMention] MyAttribute
|
||||
# 68| 0: [BoolLiteral] true
|
||||
# 68| 1: [StringLiteral] ""
|
||||
# 68| 1: [StringLiteralUtf16] ""
|
||||
# 68| 2: [IntLiteral] 0
|
||||
# 69| 4: [BlockStmt] {...}
|
||||
# 72| [Class] MyAttribute
|
||||
|
||||
@@ -1,40 +1,40 @@
|
||||
attributes.cs:
|
||||
# 10| [AssemblyAttribute] [assembly: AssemblyTitle(...)]
|
||||
# 10| -1: [TypeMention] AssemblyTitleAttribute
|
||||
# 10| 0: [StringLiteral] "C# attributes test"
|
||||
# 10| 0: [StringLiteralUtf16] "C# attributes test"
|
||||
# 11| [AssemblyAttribute] [assembly: AssemblyDescription(...)]
|
||||
# 11| -1: [TypeMention] AssemblyDescriptionAttribute
|
||||
# 11| 0: [StringLiteral] "A test of C# attributes"
|
||||
# 11| 0: [StringLiteralUtf16] "A test of C# attributes"
|
||||
# 12| [AssemblyAttribute] [assembly: AssemblyConfiguration(...)]
|
||||
# 12| -1: [TypeMention] AssemblyConfigurationAttribute
|
||||
# 12| 0: [StringLiteral] ""
|
||||
# 12| 0: [StringLiteralUtf16] ""
|
||||
# 13| [AssemblyAttribute] [assembly: AssemblyCompany(...)]
|
||||
# 13| -1: [TypeMention] AssemblyCompanyAttribute
|
||||
# 13| 0: [StringLiteral] "Semmle Plc"
|
||||
# 13| 0: [StringLiteralUtf16] "Semmle Plc"
|
||||
# 14| [AssemblyAttribute] [assembly: AssemblyProduct(...)]
|
||||
# 14| -1: [TypeMention] AssemblyProductAttribute
|
||||
# 14| 0: [StringLiteral] "Odasa"
|
||||
# 14| 0: [StringLiteralUtf16] "Odasa"
|
||||
# 15| [AssemblyAttribute] [assembly: AssemblyCopyright(...)]
|
||||
# 15| -1: [TypeMention] AssemblyCopyrightAttribute
|
||||
# 15| 0: [StringLiteral] "Copyright © Semmle 2018"
|
||||
# 15| 0: [StringLiteralUtf16] "Copyright © Semmle 2018"
|
||||
# 16| [AssemblyAttribute] [assembly: AssemblyTrademark(...)]
|
||||
# 16| -1: [TypeMention] AssemblyTrademarkAttribute
|
||||
# 16| 0: [StringLiteral] ""
|
||||
# 16| 0: [StringLiteralUtf16] ""
|
||||
# 17| [AssemblyAttribute] [assembly: AssemblyCulture(...)]
|
||||
# 17| -1: [TypeMention] AssemblyCultureAttribute
|
||||
# 17| 0: [StringLiteral] ""
|
||||
# 17| 0: [StringLiteralUtf16] ""
|
||||
# 22| [AssemblyAttribute] [assembly: ComVisible(...)]
|
||||
# 22| -1: [TypeMention] ComVisibleAttribute
|
||||
# 22| 0: [BoolLiteral] false
|
||||
# 25| [AssemblyAttribute] [assembly: Guid(...)]
|
||||
# 25| -1: [TypeMention] GuidAttribute
|
||||
# 25| 0: [StringLiteral] "2f70fdd6-14aa-4850-b053-d547adb1f476"
|
||||
# 25| 0: [StringLiteralUtf16] "2f70fdd6-14aa-4850-b053-d547adb1f476"
|
||||
# 37| [AssemblyAttribute] [assembly: AssemblyVersion(...)]
|
||||
# 37| -1: [TypeMention] AssemblyVersionAttribute
|
||||
# 37| 0: [StringLiteral] "1.0.0.0"
|
||||
# 37| 0: [StringLiteralUtf16] "1.0.0.0"
|
||||
# 38| [AssemblyAttribute] [assembly: AssemblyFileVersion(...)]
|
||||
# 38| -1: [TypeMention] AssemblyFileVersionAttribute
|
||||
# 38| 0: [StringLiteral] "1.0.0.0"
|
||||
# 38| 0: [StringLiteralUtf16] "1.0.0.0"
|
||||
# 40| [AssemblyAttribute] [assembly: Args(...)]
|
||||
# 40| -1: [TypeMention] ArgsAttribute
|
||||
# 40| 0: [IntLiteral] 0
|
||||
@@ -107,7 +107,7 @@ attributes.cs:
|
||||
#-----| 0: (Attributes)
|
||||
# 46| 1: [DefaultAttribute] [Conditional(...)]
|
||||
# 46| -1: [TypeMention] ConditionalAttribute
|
||||
# 46| 0: [StringLiteral] "DEBUG2"
|
||||
# 46| 0: [StringLiteralUtf16] "DEBUG2"
|
||||
# 47| 4: [BlockStmt] {...}
|
||||
# 50| [Class] Bar
|
||||
# 52| 5: [Method] inc
|
||||
@@ -136,7 +136,7 @@ attributes.cs:
|
||||
# 57| 1: [DefaultAttribute] [My(...)]
|
||||
# 57| -1: [TypeMention] MyAttribute
|
||||
# 57| 0: [BoolLiteral] true
|
||||
# 57| 1: [StringLiteral] ""
|
||||
# 57| 1: [StringLiteralUtf16] ""
|
||||
# 57| 2: [IntLiteral] 0
|
||||
# 58| 2: [DefaultAttribute] [My2(...)]
|
||||
# 58| -1: [TypeMention] My2Attribute
|
||||
|
||||
@@ -43,7 +43,7 @@ comments2.cs:
|
||||
# 52| 3: [Getter] get_S1
|
||||
# 52| 4: [BlockStmt] {...}
|
||||
# 52| 0: [ReturnStmt] return ...;
|
||||
# 52| 0: [StringLiteral] ""
|
||||
# 52| 0: [StringLiteralUtf16] ""
|
||||
# 53| 4: [Setter] set_S1
|
||||
#-----| 2: (Parameters)
|
||||
# 53| 0: [Parameter] value
|
||||
|
||||
623
csharp/ql/test/library-tests/csharp11/PrintAst.expected
Normal file
623
csharp/ql/test/library-tests/csharp11/PrintAst.expected
Normal file
@@ -0,0 +1,623 @@
|
||||
GenericAttribute.cs:
|
||||
# 3| [GenericAssemblyAttribute] [assembly: MyGeneric<Int32>(...)]
|
||||
# 3| 0: [TypeMention] MyGenericAttribute<int>
|
||||
# 3| 1: [TypeMention] int
|
||||
# 4| [GenericModuleAttribute] [module: MyGeneric2<Object,Object>(...)]
|
||||
# 4| 0: [TypeMention] MyGeneric2Attribute<object, object>
|
||||
# 4| 1: [TypeMention] object
|
||||
# 4| 2: [TypeMention] object
|
||||
# 6| [Class] MyGenericAttribute<>
|
||||
#-----| 1: (Type parameters)
|
||||
# 6| 0: [TypeParameter] T
|
||||
#-----| 3: (Base types)
|
||||
# 6| 0: [TypeMention] Attribute
|
||||
# 7| [Class] MyGeneric2Attribute<,>
|
||||
#-----| 1: (Type parameters)
|
||||
# 7| 0: [TypeParameter] T
|
||||
# 7| 1: [TypeParameter] U
|
||||
#-----| 3: (Base types)
|
||||
# 7| 0: [TypeMention] Attribute
|
||||
# 9| [Class] TestGenericAttribute
|
||||
# 13| 5: [Method] M1
|
||||
# 13| -1: [TypeMention] Void
|
||||
#-----| 0: (Attributes)
|
||||
# 12| 1: [GenericDefaultAttribute] [MyGeneric<Int32>(...)]
|
||||
# 12| 0: [TypeMention] MyGenericAttribute<int>
|
||||
# 12| 1: [TypeMention] int
|
||||
# 13| 4: [BlockStmt] {...}
|
||||
# 16| 6: [Method] M2
|
||||
# 16| -1: [TypeMention] Void
|
||||
#-----| 0: (Attributes)
|
||||
# 15| 1: [GenericDefaultAttribute] [MyGeneric<String>(...)]
|
||||
# 15| 0: [TypeMention] MyGenericAttribute<string>
|
||||
# 15| 1: [TypeMention] string
|
||||
# 16| 4: [BlockStmt] {...}
|
||||
# 19| 7: [Method] M3
|
||||
# 19| -1: [TypeMention] Void
|
||||
#-----| 0: (Attributes)
|
||||
# 18| 1: [GenericDefaultAttribute] [MyGeneric2<Int32,String>(...)]
|
||||
# 18| 0: [TypeMention] MyGeneric2Attribute<int, string>
|
||||
# 18| 1: [TypeMention] int
|
||||
# 18| 2: [TypeMention] string
|
||||
# 19| 4: [BlockStmt] {...}
|
||||
# 22| 8: [Method] M4
|
||||
# 22| -1: [TypeMention] int
|
||||
#-----| 0: (Attributes)
|
||||
# 21| 1: [GenericReturnAttribute] [return: MyGeneric<Object>(...)]
|
||||
# 21| 0: [TypeMention] MyGenericAttribute<object>
|
||||
# 21| 1: [TypeMention] object
|
||||
# 22| 4: [BlockStmt] {...}
|
||||
# 22| 0: [ReturnStmt] return ...;
|
||||
# 22| 0: [IntLiteral] 0
|
||||
ListPattern.cs:
|
||||
# 3| [Class] ListPattern
|
||||
# 5| 5: [Method] M1
|
||||
# 5| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 5| 0: [Parameter] x
|
||||
# 5| -1: [TypeMention] Int32[]
|
||||
# 5| 1: [TypeMention] int
|
||||
# 6| 4: [BlockStmt] {...}
|
||||
# 7| 0: [IfStmt] if (...) ...
|
||||
# 7| 0: [IsExpr] ... is ...
|
||||
# 7| 0: [ParameterAccess] access to parameter x
|
||||
# 7| 1: [ListPatternExpr] [ ... ]
|
||||
# 7| 1: [BlockStmt] {...}
|
||||
# 8| 1: [IfStmt] if (...) ...
|
||||
# 8| 0: [IsExpr] ... is ...
|
||||
# 8| 0: [ParameterAccess] access to parameter x
|
||||
# 8| 1: [ListPatternExpr] [ ... ]
|
||||
# 8| 0: [ConstantPatternExpr,IntLiteral] 1
|
||||
# 8| 1: [BlockStmt] {...}
|
||||
# 9| 2: [IfStmt] if (...) ...
|
||||
# 9| 0: [IsExpr] ... is ...
|
||||
# 9| 0: [ParameterAccess] access to parameter x
|
||||
# 9| 1: [ListPatternExpr] [ ... ]
|
||||
# 9| 0: [DiscardPatternExpr] _
|
||||
# 9| 1: [ConstantPatternExpr,IntLiteral] 2
|
||||
# 9| 1: [BlockStmt] {...}
|
||||
# 10| 3: [IfStmt] if (...) ...
|
||||
# 10| 0: [IsExpr] ... is ...
|
||||
# 10| 0: [ParameterAccess] access to parameter x
|
||||
# 10| 1: [ListPatternExpr] [ ... ]
|
||||
# 10| 0: [VariablePatternExpr] Int32 y
|
||||
# 10| 1: [ConstantPatternExpr,IntLiteral] 3
|
||||
# 10| 2: [ConstantPatternExpr,IntLiteral] 4
|
||||
# 10| 1: [BlockStmt] {...}
|
||||
# 11| 4: [IfStmt] if (...) ...
|
||||
# 11| 0: [IsExpr] ... is ...
|
||||
# 11| 0: [ParameterAccess] access to parameter x
|
||||
# 11| 1: [ListPatternExpr] [ ... ]
|
||||
# 11| 0: [OrPatternExpr] ... or ...
|
||||
# 11| 0: [ConstantPatternExpr,IntLiteral] 5
|
||||
# 11| 1: [ConstantPatternExpr,IntLiteral] 6
|
||||
# 11| 1: [DiscardPatternExpr] _
|
||||
# 11| 2: [ConstantPatternExpr,IntLiteral] 7
|
||||
# 11| 1: [BlockStmt] {...}
|
||||
# 12| 5: [IfStmt] if (...) ...
|
||||
# 12| 0: [IsExpr] ... is ...
|
||||
# 12| 0: [ParameterAccess] access to parameter x
|
||||
# 12| 1: [ListPatternExpr] [ ... ]
|
||||
# 12| 0: [VariablePatternExpr] Int32 a
|
||||
# 12| 1: [SlicePatternExpr] ..
|
||||
# 12| 2: [ConstantPatternExpr,IntLiteral] 2
|
||||
# 12| 1: [BlockStmt] {...}
|
||||
# 13| 6: [IfStmt] if (...) ...
|
||||
# 13| 0: [IsExpr] ... is ...
|
||||
# 13| 0: [ParameterAccess] access to parameter x
|
||||
# 13| 1: [ListPatternExpr] [ ... ]
|
||||
# 13| 0: [VariablePatternExpr] Int32 b
|
||||
# 13| 1: [SlicePatternExpr] ..
|
||||
# 13| 0: [RecursivePatternExpr] { ... }
|
||||
# 13| 3: [PropertyPatternExpr] { ... }
|
||||
# 13| 0: [LabeledPatternExpr,OrPatternExpr] ... or ...
|
||||
# 13| 0: [ConstantPatternExpr,IntLiteral] 2
|
||||
# 13| 1: [ConstantPatternExpr,IntLiteral] 5
|
||||
# 13| 2: [ConstantPatternExpr,IntLiteral] 2
|
||||
# 13| 1: [BlockStmt] {...}
|
||||
# 16| 6: [Method] M2
|
||||
# 16| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 16| 0: [Parameter] x
|
||||
# 16| -1: [TypeMention] String[]
|
||||
# 16| 1: [TypeMention] string
|
||||
# 17| 4: [BlockStmt] {...}
|
||||
# 18| 0: [SwitchStmt] switch (...) {...}
|
||||
# 18| 0: [ParameterAccess] access to parameter x
|
||||
# 20| 0: [CaseStmt] case ...:
|
||||
# 20| 0: [ListPatternExpr] [ ... ]
|
||||
# 21| 1: [BreakStmt] break;
|
||||
# 22| 2: [CaseStmt] case ...:
|
||||
# 22| 0: [ListPatternExpr] [ ... ]
|
||||
# 22| 0: [ConstantPatternExpr,StringLiteralUtf16] "A"
|
||||
# 23| 3: [BreakStmt] break;
|
||||
# 24| 4: [CaseStmt] case ...:
|
||||
# 24| 0: [ListPatternExpr] [ ... ]
|
||||
# 24| 0: [DiscardPatternExpr] _
|
||||
# 24| 1: [ConstantPatternExpr,StringLiteralUtf16] "B"
|
||||
# 25| 5: [BreakStmt] break;
|
||||
# 26| 6: [CaseStmt] case ...:
|
||||
# 26| 0: [ListPatternExpr] [ ... ]
|
||||
# 26| 0: [VariablePatternExpr] String y
|
||||
# 26| 1: [ConstantPatternExpr,StringLiteralUtf16] "C"
|
||||
# 26| 2: [ConstantPatternExpr,StringLiteralUtf16] "D"
|
||||
# 27| 7: [BreakStmt] break;
|
||||
# 28| 8: [CaseStmt] case ...:
|
||||
# 28| 0: [ListPatternExpr] [ ... ]
|
||||
# 28| 0: [OrPatternExpr] ... or ...
|
||||
# 28| 0: [ConstantPatternExpr,StringLiteralUtf16] "E"
|
||||
# 28| 1: [ConstantPatternExpr,StringLiteralUtf16] "F"
|
||||
# 28| 1: [DiscardPatternExpr] _
|
||||
# 28| 2: [ConstantPatternExpr,StringLiteralUtf16] "G"
|
||||
# 29| 9: [BreakStmt] break;
|
||||
# 30| 10: [CaseStmt] case ...:
|
||||
# 30| 0: [ListPatternExpr] [ ... ]
|
||||
# 30| 0: [VariablePatternExpr] String a
|
||||
# 30| 1: [SlicePatternExpr] ..
|
||||
# 30| 2: [ConstantPatternExpr,StringLiteralUtf16] "H"
|
||||
# 31| 11: [BreakStmt] break;
|
||||
# 32| 12: [CaseStmt] case ...:
|
||||
# 32| 0: [ListPatternExpr] [ ... ]
|
||||
# 32| 0: [VariablePatternExpr] String b
|
||||
# 32| 1: [SlicePatternExpr] ..
|
||||
# 32| 0: [VariablePatternExpr] String[] c
|
||||
# 32| 2: [ConstantPatternExpr,StringLiteralUtf16] "I"
|
||||
# 33| 13: [BreakStmt] break;
|
||||
# 34| 14: [DefaultCase] default:
|
||||
# 35| 15: [BreakStmt] break;
|
||||
NativeInt.cs:
|
||||
# 1| [Class] NativeInt
|
||||
# 3| 5: [Method] M1
|
||||
# 3| -1: [TypeMention] Void
|
||||
# 4| 4: [BlockStmt] {...}
|
||||
# 5| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 5| 0: [LocalVariableDeclAndInitExpr] IntPtr x1 = ...
|
||||
# 5| -1: [TypeMention] IntPtr
|
||||
# 5| 0: [LocalVariableAccess] access to local variable x1
|
||||
# 5| 1: [CastExpr] (...) ...
|
||||
# 5| 1: [IntLiteral] 0
|
||||
# 6| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 6| 0: [LocalVariableDeclAndInitExpr] IntPtr x2 = ...
|
||||
# 6| -1: [TypeMention] IntPtr
|
||||
# 6| 0: [LocalVariableAccess] access to local variable x2
|
||||
# 6| 1: [CastExpr] (...) ...
|
||||
# 6| 0: [TypeAccess] access to type IntPtr
|
||||
# 6| 0: [TypeMention] IntPtr
|
||||
# 6| 1: [IntLiteral] 0
|
||||
# 8| 2: [LocalVariableDeclStmt] ... ...;
|
||||
# 8| 0: [LocalVariableDeclAndInitExpr] UIntPtr y1 = ...
|
||||
# 8| -1: [TypeMention] UIntPtr
|
||||
# 8| 0: [LocalVariableAccess] access to local variable y1
|
||||
# 8| 1: [CastExpr] (...) ...
|
||||
# 8| 1: [IntLiteral] 0
|
||||
# 9| 3: [LocalVariableDeclStmt] ... ...;
|
||||
# 9| 0: [LocalVariableDeclAndInitExpr] UIntPtr y2 = ...
|
||||
# 9| -1: [TypeMention] UIntPtr
|
||||
# 9| 0: [LocalVariableAccess] access to local variable y2
|
||||
# 9| 1: [CastExpr] (...) ...
|
||||
# 9| 0: [TypeAccess] access to type UIntPtr
|
||||
# 9| 0: [TypeMention] UIntPtr
|
||||
# 9| 1: [IntLiteral] 0
|
||||
Operators.cs:
|
||||
# 2| [Class] MyClass
|
||||
# 4| 5: [Method] M1
|
||||
# 4| -1: [TypeMention] Void
|
||||
# 5| 4: [BlockStmt] {...}
|
||||
# 6| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 6| 0: [LocalVariableDeclAndInitExpr] Int32 x1 = ...
|
||||
# 6| -1: [TypeMention] int
|
||||
# 6| 0: [LocalVariableAccess] access to local variable x1
|
||||
# 6| 1: [IntLiteral] 1
|
||||
# 7| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 7| 0: [LocalVariableDeclAndInitExpr] Int32 x2 = ...
|
||||
# 7| -1: [TypeMention] int
|
||||
# 7| 0: [LocalVariableAccess] access to local variable x2
|
||||
# 7| 1: [UnsignedRightShiftExpr] ... >>> ...
|
||||
# 7| 0: [LocalVariableAccess] access to local variable x1
|
||||
# 7| 1: [IntLiteral] 2
|
||||
# 9| 2: [LocalVariableDeclStmt] ... ...;
|
||||
# 9| 0: [LocalVariableDeclAndInitExpr] Int32 y1 = ...
|
||||
# 9| -1: [TypeMention] int
|
||||
# 9| 0: [LocalVariableAccess] access to local variable y1
|
||||
# 9| 1: [UnaryMinusExpr] -...
|
||||
# 9| 0: [IntLiteral] 2
|
||||
# 10| 3: [LocalVariableDeclStmt] ... ...;
|
||||
# 10| 0: [LocalVariableDeclAndInitExpr] Int32 y2 = ...
|
||||
# 10| -1: [TypeMention] int
|
||||
# 10| 0: [LocalVariableAccess] access to local variable y2
|
||||
# 10| 1: [UnsignedRightShiftExpr] ... >>> ...
|
||||
# 10| 0: [LocalVariableAccess] access to local variable y1
|
||||
# 10| 1: [IntLiteral] 3
|
||||
# 12| 4: [LocalVariableDeclStmt] ... ...;
|
||||
# 12| 0: [LocalVariableDeclAndInitExpr] Int32 z = ...
|
||||
# 12| -1: [TypeMention] int
|
||||
# 12| 0: [LocalVariableAccess] access to local variable z
|
||||
# 12| 1: [UnaryMinusExpr] -...
|
||||
# 12| 0: [IntLiteral] 4
|
||||
# 13| 5: [ExprStmt] ...;
|
||||
# 13| 0: [AssignUnsighedRightShiftExpr] ... >>>= ...
|
||||
# 13| 0: [LocalVariableAccess] access to local variable z
|
||||
# 13| 1: [IntLiteral] 5
|
||||
# 17| [Class] MyOperatorClass
|
||||
# 19| 5: [UnsignedRightShiftOperator] >>>
|
||||
# 19| -1: [TypeMention] MyOperatorClass
|
||||
#-----| 2: (Parameters)
|
||||
# 19| 0: [Parameter] a
|
||||
# 19| -1: [TypeMention] MyOperatorClass
|
||||
# 19| 1: [Parameter] b
|
||||
# 19| -1: [TypeMention] MyOperatorClass
|
||||
# 19| 4: [BlockStmt] {...}
|
||||
# 19| 0: [ReturnStmt] return ...;
|
||||
# 19| 0: [NullLiteral] null
|
||||
PatternMatchSpan.cs:
|
||||
# 3| [Class] PatternMatchSpan
|
||||
# 6| 5: [Method] M1
|
||||
# 6| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 6| 0: [Parameter] x1
|
||||
# 6| -1: [TypeMention] ReadOnlySpan<char>
|
||||
# 6| 1: [TypeMention] char
|
||||
# 7| 4: [BlockStmt] {...}
|
||||
# 8| 0: [IfStmt] if (...) ...
|
||||
# 8| 0: [IsExpr] ... is ...
|
||||
# 8| 0: [ParameterAccess] access to parameter x1
|
||||
# 8| 1: [ConstantPatternExpr,StringLiteralUtf16] "ABC"
|
||||
# 8| 1: [BlockStmt] {...}
|
||||
# 11| 6: [Method] M2
|
||||
# 11| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 11| 0: [Parameter] x2
|
||||
# 11| -1: [TypeMention] Span<char>
|
||||
# 11| 1: [TypeMention] char
|
||||
# 12| 4: [BlockStmt] {...}
|
||||
# 13| 0: [SwitchStmt] switch (...) {...}
|
||||
# 13| 0: [ParameterAccess] access to parameter x2
|
||||
# 15| 0: [ConstCase] case ...:
|
||||
# 15| 0: [ConstantPatternExpr,StringLiteralUtf16] "DEF"
|
||||
# 15| 1: [BlockStmt] {...}
|
||||
# 15| 0: [BreakStmt] break;
|
||||
# 16| 2: [DefaultCase] default:
|
||||
# 16| 3: [BlockStmt] {...}
|
||||
# 16| 0: [BreakStmt] break;
|
||||
SignAnalysis.cs:
|
||||
# 1| [Class] MySignAnalysis
|
||||
# 4| 5: [Method] UnsignedRightShiftSign
|
||||
# 4| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 4| 0: [Parameter] x
|
||||
# 4| -1: [TypeMention] int
|
||||
# 4| 1: [Parameter] y
|
||||
# 4| -1: [TypeMention] int
|
||||
# 5| 4: [BlockStmt] {...}
|
||||
# 6| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 6| 0: [LocalVariableDeclExpr] Int32 z
|
||||
# 6| 0: [TypeMention] int
|
||||
# 7| 1: [IfStmt] if (...) ...
|
||||
# 7| 0: [EQExpr] ... == ...
|
||||
# 7| 0: [ParameterAccess] access to parameter x
|
||||
# 7| 1: [IntLiteral] 0
|
||||
# 8| 1: [BlockStmt] {...}
|
||||
# 9| 0: [ExprStmt] ...;
|
||||
# 9| 0: [AssignExpr] ... = ...
|
||||
# 9| 0: [LocalVariableAccess] access to local variable z
|
||||
# 9| 1: [UnsignedRightShiftExpr] ... >>> ...
|
||||
# 9| 0: [ParameterAccess] access to parameter x
|
||||
# 9| 1: [ParameterAccess] access to parameter y
|
||||
# 12| 2: [IfStmt] if (...) ...
|
||||
# 12| 0: [EQExpr] ... == ...
|
||||
# 12| 0: [ParameterAccess] access to parameter y
|
||||
# 12| 1: [IntLiteral] 0
|
||||
# 13| 1: [BlockStmt] {...}
|
||||
# 14| 0: [ExprStmt] ...;
|
||||
# 14| 0: [AssignExpr] ... = ...
|
||||
# 14| 0: [LocalVariableAccess] access to local variable z
|
||||
# 14| 1: [UnsignedRightShiftExpr] ... >>> ...
|
||||
# 14| 0: [ParameterAccess] access to parameter x
|
||||
# 14| 1: [ParameterAccess] access to parameter y
|
||||
# 17| 3: [IfStmt] if (...) ...
|
||||
# 17| 0: [LogicalAndExpr] ... && ...
|
||||
# 17| 0: [GTExpr] ... > ...
|
||||
# 17| 0: [ParameterAccess] access to parameter x
|
||||
# 17| 1: [IntLiteral] 0
|
||||
# 17| 1: [EQExpr] ... == ...
|
||||
# 17| 0: [ParameterAccess] access to parameter y
|
||||
# 17| 1: [IntLiteral] 0
|
||||
# 18| 1: [BlockStmt] {...}
|
||||
# 19| 0: [ExprStmt] ...;
|
||||
# 19| 0: [AssignExpr] ... = ...
|
||||
# 19| 0: [LocalVariableAccess] access to local variable z
|
||||
# 19| 1: [UnsignedRightShiftExpr] ... >>> ...
|
||||
# 19| 0: [ParameterAccess] access to parameter x
|
||||
# 19| 1: [ParameterAccess] access to parameter y
|
||||
# 22| 4: [IfStmt] if (...) ...
|
||||
# 22| 0: [LogicalAndExpr] ... && ...
|
||||
# 22| 0: [GTExpr] ... > ...
|
||||
# 22| 0: [ParameterAccess] access to parameter x
|
||||
# 22| 1: [IntLiteral] 0
|
||||
# 22| 1: [GTExpr] ... > ...
|
||||
# 22| 0: [ParameterAccess] access to parameter y
|
||||
# 22| 1: [IntLiteral] 0
|
||||
# 23| 1: [BlockStmt] {...}
|
||||
# 24| 0: [ExprStmt] ...;
|
||||
# 24| 0: [AssignExpr] ... = ...
|
||||
# 24| 0: [LocalVariableAccess] access to local variable z
|
||||
# 24| 1: [UnsignedRightShiftExpr] ... >>> ...
|
||||
# 24| 0: [ParameterAccess] access to parameter x
|
||||
# 24| 1: [ParameterAccess] access to parameter y
|
||||
# 27| 5: [IfStmt] if (...) ...
|
||||
# 27| 0: [LogicalAndExpr] ... && ...
|
||||
# 27| 0: [GTExpr] ... > ...
|
||||
# 27| 0: [ParameterAccess] access to parameter x
|
||||
# 27| 1: [IntLiteral] 0
|
||||
# 27| 1: [LTExpr] ... < ...
|
||||
# 27| 0: [ParameterAccess] access to parameter y
|
||||
# 27| 1: [IntLiteral] 0
|
||||
# 28| 1: [BlockStmt] {...}
|
||||
# 29| 0: [ExprStmt] ...;
|
||||
# 29| 0: [AssignExpr] ... = ...
|
||||
# 29| 0: [LocalVariableAccess] access to local variable z
|
||||
# 29| 1: [UnsignedRightShiftExpr] ... >>> ...
|
||||
# 29| 0: [ParameterAccess] access to parameter x
|
||||
# 29| 1: [ParameterAccess] access to parameter y
|
||||
# 32| 6: [IfStmt] if (...) ...
|
||||
# 32| 0: [LogicalAndExpr] ... && ...
|
||||
# 32| 0: [LTExpr] ... < ...
|
||||
# 32| 0: [ParameterAccess] access to parameter x
|
||||
# 32| 1: [IntLiteral] 0
|
||||
# 32| 1: [GTExpr] ... > ...
|
||||
# 32| 0: [ParameterAccess] access to parameter y
|
||||
# 32| 1: [IntLiteral] 0
|
||||
# 33| 1: [BlockStmt] {...}
|
||||
# 34| 0: [ExprStmt] ...;
|
||||
# 34| 0: [AssignExpr] ... = ...
|
||||
# 34| 0: [LocalVariableAccess] access to local variable z
|
||||
# 34| 1: [UnsignedRightShiftExpr] ... >>> ...
|
||||
# 34| 0: [ParameterAccess] access to parameter x
|
||||
# 34| 1: [ParameterAccess] access to parameter y
|
||||
# 37| 7: [IfStmt] if (...) ...
|
||||
# 37| 0: [LogicalAndExpr] ... && ...
|
||||
# 37| 0: [LTExpr] ... < ...
|
||||
# 37| 0: [ParameterAccess] access to parameter x
|
||||
# 37| 1: [IntLiteral] 0
|
||||
# 37| 1: [LTExpr] ... < ...
|
||||
# 37| 0: [ParameterAccess] access to parameter y
|
||||
# 37| 1: [IntLiteral] 0
|
||||
# 38| 1: [BlockStmt] {...}
|
||||
# 39| 0: [ExprStmt] ...;
|
||||
# 39| 0: [AssignExpr] ... = ...
|
||||
# 39| 0: [LocalVariableAccess] access to local variable z
|
||||
# 39| 1: [UnsignedRightShiftExpr] ... >>> ...
|
||||
# 39| 0: [ParameterAccess] access to parameter x
|
||||
# 39| 1: [ParameterAccess] access to parameter y
|
||||
StaticInterfaceMembers.cs:
|
||||
# 1| [Interface] INumber<>
|
||||
#-----| 1: (Type parameters)
|
||||
# 1| 0: [TypeParameter] T
|
||||
# 3| 4: [IncrementOperator] ++
|
||||
# 3| -1: [TypeMention] T
|
||||
#-----| 2: (Parameters)
|
||||
# 3| 0: [Parameter] other
|
||||
# 3| -1: [TypeMention] T
|
||||
# 5| 5: [DecrementOperator] --
|
||||
# 5| -1: [TypeMention] T
|
||||
#-----| 2: (Parameters)
|
||||
# 5| 0: [Parameter] other
|
||||
# 5| -1: [TypeMention] T
|
||||
# 5| 4: [ParameterAccess] access to parameter other
|
||||
# 7| 6: [Method] Add
|
||||
# 7| -1: [TypeMention] T
|
||||
#-----| 2: (Parameters)
|
||||
# 7| 0: [Parameter] left
|
||||
# 7| -1: [TypeMention] T
|
||||
# 7| 1: [Parameter] right
|
||||
# 7| -1: [TypeMention] T
|
||||
# 9| 7: [Method] Subtract
|
||||
# 9| -1: [TypeMention] T
|
||||
#-----| 2: (Parameters)
|
||||
# 9| 0: [Parameter] left
|
||||
# 9| -1: [TypeMention] T
|
||||
# 9| 1: [Parameter] right
|
||||
# 9| -1: [TypeMention] T
|
||||
# 9| 4: [ParameterAccess] access to parameter left
|
||||
# 11| 8: [Method] Zero
|
||||
# 11| -1: [TypeMention] T
|
||||
# 11| 4: [DefaultValueExpr] default(...)
|
||||
# 11| 0: [TypeAccess] access to type T
|
||||
# 11| 0: [TypeMention] T
|
||||
# 14| [Class] Complex
|
||||
#-----| 3: (Base types)
|
||||
# 16| 4: [Property] Real
|
||||
# 16| -1: [TypeMention] double
|
||||
# 16| 2: [AssignExpr] ... = ...
|
||||
# 16| 0: [PropertyCall] access to property Real
|
||||
# 16| 1: [DoubleLiteral] 0
|
||||
# 16| 3: [Getter] get_Real
|
||||
# 16| 4: [Setter] set_Real
|
||||
#-----| 2: (Parameters)
|
||||
# 16| 0: [Parameter] value
|
||||
# 17| 5: [Property] Imaginary
|
||||
# 17| -1: [TypeMention] double
|
||||
# 17| 2: [AssignExpr] ... = ...
|
||||
# 17| 0: [PropertyCall] access to property Imaginary
|
||||
# 17| 1: [DoubleLiteral] 0
|
||||
# 17| 3: [Getter] get_Imaginary
|
||||
# 17| 4: [Setter] set_Imaginary
|
||||
#-----| 2: (Parameters)
|
||||
# 17| 0: [Parameter] value
|
||||
# 19| 6: [InstanceConstructor] Complex
|
||||
# 19| 4: [BlockStmt] {...}
|
||||
# 21| 7: [Method] Zero
|
||||
# 21| -1: [TypeMention] Complex
|
||||
# 21| 4: [ObjectCreation] object creation of type Complex
|
||||
# 21| 0: [TypeMention] Complex
|
||||
# 23| 8: [IncrementOperator] ++
|
||||
# 23| -1: [TypeMention] Complex
|
||||
#-----| 2: (Parameters)
|
||||
# 23| 0: [Parameter] other
|
||||
# 23| -1: [TypeMention] Complex
|
||||
# 24| 4: [ObjectCreation] object creation of type Complex
|
||||
# 24| -2: [TypeMention] Complex
|
||||
# 24| -1: [ObjectInitializer] { ..., ... }
|
||||
# 24| 0: [MemberInitializer] ... = ...
|
||||
# 24| 0: [PropertyCall] access to property Real
|
||||
# 24| 1: [AddExpr] ... + ...
|
||||
# 24| 0: [PropertyCall] access to property Real
|
||||
# 24| -1: [ParameterAccess] access to parameter other
|
||||
# 24| 1: [DoubleLiteral] 1
|
||||
# 24| 1: [MemberInitializer] ... = ...
|
||||
# 24| 0: [PropertyCall] access to property Imaginary
|
||||
# 24| 1: [PropertyCall] access to property Imaginary
|
||||
# 24| -1: [ParameterAccess] access to parameter other
|
||||
# 26| 9: [DecrementOperator] --
|
||||
# 26| -1: [TypeMention] Complex
|
||||
#-----| 2: (Parameters)
|
||||
# 26| 0: [Parameter] other
|
||||
# 26| -1: [TypeMention] Complex
|
||||
# 27| 4: [ObjectCreation] object creation of type Complex
|
||||
# 27| -2: [TypeMention] Complex
|
||||
# 27| -1: [ObjectInitializer] { ..., ... }
|
||||
# 27| 0: [MemberInitializer] ... = ...
|
||||
# 27| 0: [PropertyCall] access to property Real
|
||||
# 27| 1: [SubExpr] ... - ...
|
||||
# 27| 0: [PropertyCall] access to property Real
|
||||
# 27| -1: [ParameterAccess] access to parameter other
|
||||
# 27| 1: [DoubleLiteral] 1
|
||||
# 27| 1: [MemberInitializer] ... = ...
|
||||
# 27| 0: [PropertyCall] access to property Imaginary
|
||||
# 27| 1: [PropertyCall] access to property Imaginary
|
||||
# 27| -1: [ParameterAccess] access to parameter other
|
||||
# 29| 10: [Method] Add
|
||||
# 29| -1: [TypeMention] Complex
|
||||
#-----| 2: (Parameters)
|
||||
# 29| 0: [Parameter] left
|
||||
# 29| -1: [TypeMention] Complex
|
||||
# 29| 1: [Parameter] right
|
||||
# 29| -1: [TypeMention] Complex
|
||||
# 30| 4: [ObjectCreation] object creation of type Complex
|
||||
# 30| -2: [TypeMention] Complex
|
||||
# 30| -1: [ObjectInitializer] { ..., ... }
|
||||
# 30| 0: [MemberInitializer] ... = ...
|
||||
# 30| 0: [PropertyCall] access to property Real
|
||||
# 30| 1: [AddExpr] ... + ...
|
||||
# 30| 0: [PropertyCall] access to property Real
|
||||
# 30| -1: [ParameterAccess] access to parameter left
|
||||
# 30| 1: [PropertyCall] access to property Real
|
||||
# 30| -1: [ParameterAccess] access to parameter right
|
||||
# 30| 1: [MemberInitializer] ... = ...
|
||||
# 30| 0: [PropertyCall] access to property Imaginary
|
||||
# 30| 1: [AddExpr] ... + ...
|
||||
# 30| 0: [PropertyCall] access to property Imaginary
|
||||
# 30| -1: [ParameterAccess] access to parameter left
|
||||
# 30| 1: [PropertyCall] access to property Imaginary
|
||||
# 30| -1: [ParameterAccess] access to parameter right
|
||||
# 32| 11: [Method] Subtract
|
||||
# 32| -1: [TypeMention] Complex
|
||||
#-----| 2: (Parameters)
|
||||
# 32| 0: [Parameter] left
|
||||
# 32| -1: [TypeMention] Complex
|
||||
# 32| 1: [Parameter] right
|
||||
# 32| -1: [TypeMention] Complex
|
||||
# 33| 4: [ObjectCreation] object creation of type Complex
|
||||
# 33| -2: [TypeMention] Complex
|
||||
# 33| -1: [ObjectInitializer] { ..., ... }
|
||||
# 33| 0: [MemberInitializer] ... = ...
|
||||
# 33| 0: [PropertyCall] access to property Real
|
||||
# 33| 1: [SubExpr] ... - ...
|
||||
# 33| 0: [PropertyCall] access to property Real
|
||||
# 33| -1: [ParameterAccess] access to parameter left
|
||||
# 33| 1: [PropertyCall] access to property Real
|
||||
# 33| -1: [ParameterAccess] access to parameter right
|
||||
# 33| 1: [MemberInitializer] ... = ...
|
||||
# 33| 0: [PropertyCall] access to property Imaginary
|
||||
# 33| 1: [SubExpr] ... - ...
|
||||
# 33| 0: [PropertyCall] access to property Imaginary
|
||||
# 33| -1: [ParameterAccess] access to parameter left
|
||||
# 33| 1: [PropertyCall] access to property Imaginary
|
||||
# 33| -1: [ParameterAccess] access to parameter right
|
||||
Strings.cs:
|
||||
# 3| [Class] MyTestClass
|
||||
# 5| 5: [Method] M1
|
||||
# 5| -1: [TypeMention] string
|
||||
#-----| 2: (Parameters)
|
||||
# 5| 0: [Parameter] x
|
||||
# 5| -1: [TypeMention] int
|
||||
# 6| 4: [BlockStmt] {...}
|
||||
# 8| 0: [ReturnStmt] return ...;
|
||||
# 8| 0: [InterpolatedStringExpr] $"..."
|
||||
# 8| 0: [StringLiteralUtf16] "This is my int "
|
||||
# 8| 1: [SwitchExpr] ... switch { ... }
|
||||
# 8| -1: [ParameterAccess] access to parameter x
|
||||
# 10| 0: [SwitchCaseExpr] ... => ...
|
||||
# 10| 0: [ConstantPatternExpr,IntLiteral] 42
|
||||
# 10| 2: [StringLiteralUtf16] "forty two"
|
||||
# 11| 1: [SwitchCaseExpr] ... => ...
|
||||
# 11| 0: [DiscardPatternExpr] _
|
||||
# 11| 2: [StringLiteralUtf16] "something else"
|
||||
# 12| 2: [StringLiteralUtf16] "."
|
||||
# 15| 6: [Method] M2
|
||||
# 15| -1: [TypeMention] Void
|
||||
# 16| 4: [BlockStmt] {...}
|
||||
# 18| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 18| 0: [LocalVariableDeclAndInitExpr] String message1 = ...
|
||||
# 18| -1: [TypeMention] string
|
||||
# 18| 0: [LocalVariableAccess] access to local variable message1
|
||||
# 18| 1: [StringLiteralUtf16] "This is my very long
|
||||
# 18| text message that spans
|
||||
# 18| accross multiple lines
|
||||
# 18| and is very useful."
|
||||
# 26| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 26| 0: [LocalVariableDeclAndInitExpr] String message2 = ...
|
||||
# 26| -1: [TypeMention] string
|
||||
# 26| 0: [LocalVariableAccess] access to local variable message2
|
||||
# 26| 1: [InterpolatedStringExpr] $"..."
|
||||
# 27| 0: [StringLiteralUtf16] "The nested message
|
||||
# 27| is \""
|
||||
# 28| 1: [LocalVariableAccess] access to local variable message1
|
||||
# 28| 2: [StringLiteralUtf16] "\" and everything
|
||||
# 28| spans multiple lines."
|
||||
# 33| 2: [LocalVariableDeclStmt] ... ...;
|
||||
# 33| 0: [LocalVariableDeclAndInitExpr] String message3 = ...
|
||||
# 33| -1: [TypeMention] string
|
||||
# 33| 0: [LocalVariableAccess] access to local variable message3
|
||||
# 33| 1: [InterpolatedStringExpr] $"..."
|
||||
# 34| 0: [StringLiteralUtf16] "Show no curly braces: "
|
||||
# 34| 1: [LocalVariableAccess] access to local variable message1
|
||||
# 34| 2: [StringLiteralUtf16] "
|
||||
# 34| Show matching set of curly braces: {"
|
||||
# 35| 3: [LocalVariableAccess] access to local variable message2
|
||||
# 35| 4: [StringLiteralUtf16] "}"
|
||||
# 40| 7: [Method] M3
|
||||
# 40| -1: [TypeMention] Void
|
||||
# 41| 4: [BlockStmt] {...}
|
||||
# 43| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 43| 0: [LocalVariableDeclAndInitExpr] ReadOnlySpan<Byte> x = ...
|
||||
# 43| -1: [TypeMention] ReadOnlySpan<byte>
|
||||
# 43| 0: [LocalVariableAccess] access to local variable x
|
||||
# 43| 1: [StringLiteralUtf8] "AUTH8: "
|
||||
# 46| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 46| 0: [LocalVariableDeclAndInitExpr] String y = ...
|
||||
# 46| -1: [TypeMention] string
|
||||
# 46| 0: [LocalVariableAccess] access to local variable y
|
||||
# 46| 1: [StringLiteralUtf16] "AUTH16: "
|
||||
# 49| 2: [LocalVariableDeclStmt] ... ...;
|
||||
# 49| 0: [LocalVariableDeclAndInitExpr] ReadOnlySpan<Byte> z = ...
|
||||
# 49| -1: [TypeMention] ReadOnlySpan<byte>
|
||||
# 49| 0: [LocalVariableAccess] access to local variable z
|
||||
# 49| 1: [StringLiteralUtf8] "AUTH8:
|
||||
# 49| <username> "
|
||||
# 53| 3: [LocalVariableDeclStmt] ... ...;
|
||||
# 53| 0: [LocalVariableDeclAndInitExpr] ReadOnlySpan<Byte> w = ...
|
||||
# 53| -1: [TypeMention] ReadOnlySpan<byte>
|
||||
# 53| 0: [LocalVariableAccess] access to local variable w
|
||||
# 53| 1: [StringLiteralUtf8] "The nested message
|
||||
# 53| is UTF-8 encoded and
|
||||
# 53| spans multiple lines."
|
||||
cil/class1.cs:
|
||||
# 4| [Class] Class1
|
||||
# 6| 5: [Method] Main
|
||||
# 6| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 6| 0: [Parameter] args
|
||||
# 6| -1: [TypeMention] String[]
|
||||
# 6| 1: [TypeMention] string
|
||||
# 6| 4: [BlockStmt] {...}
|
||||
1
csharp/ql/test/library-tests/csharp11/PrintAst.qlref
Normal file
1
csharp/ql/test/library-tests/csharp11/PrintAst.qlref
Normal file
@@ -0,0 +1 @@
|
||||
shared/PrintAst.ql
|
||||
59
csharp/ql/test/library-tests/csharp11/Strings.cs
Normal file
59
csharp/ql/test/library-tests/csharp11/Strings.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using System;
|
||||
|
||||
public class MyTestClass
|
||||
{
|
||||
public string M1(int x)
|
||||
{
|
||||
// Use an expression that spans across multiple lines in a string interpolation.
|
||||
return $"This is my int {x switch
|
||||
{
|
||||
42 => "forty two",
|
||||
_ => "something else"
|
||||
}}.";
|
||||
}
|
||||
|
||||
public void M2()
|
||||
{
|
||||
// Raw string literal.
|
||||
var message1 = """
|
||||
This is my very long
|
||||
text message that spans
|
||||
accross multiple lines
|
||||
and is very useful.
|
||||
""";
|
||||
|
||||
// String interpolation using a raw string literal.
|
||||
var message2 = $"""
|
||||
The nested message
|
||||
is "{message1}" and everything
|
||||
spans multiple lines.
|
||||
""";
|
||||
|
||||
// String interpolation using a raw string literal that requires double curly braces.
|
||||
var message3 = $$"""
|
||||
Show no curly braces: {{message1}}
|
||||
Show matching set of curly braces: {{{message2}}}
|
||||
""";
|
||||
}
|
||||
|
||||
|
||||
public void M3()
|
||||
{
|
||||
// UTF-8 encoded.
|
||||
var x = "AUTH8: "u8;
|
||||
|
||||
// UTF-16 encoded.
|
||||
var y = "AUTH16: ";
|
||||
|
||||
// UTF-8 encoded vertabim.
|
||||
var z = @"AUTH8:
|
||||
<username> "u8;
|
||||
|
||||
// UTF-8 encoded raw literal.
|
||||
var w = """
|
||||
The nested message
|
||||
is UTF-8 encoded and
|
||||
spans multiple lines.
|
||||
"""u8;
|
||||
}
|
||||
}
|
||||
23
csharp/ql/test/library-tests/csharp11/strings.expected
Normal file
23
csharp/ql/test/library-tests/csharp11/strings.expected
Normal file
@@ -0,0 +1,23 @@
|
||||
interpolatedstrings
|
||||
| Strings.cs:8:16:12:12 | $"..." | Strings.cs:8:18:8:32 | "This is my int " |
|
||||
| Strings.cs:8:16:12:12 | $"..." | Strings.cs:8:34:12:9 | ... switch { ... } |
|
||||
| Strings.cs:8:16:12:12 | $"..." | Strings.cs:12:11:12:11 | "." |
|
||||
| Strings.cs:26:24:30:11 | $"..." | Strings.cs:27:1:28:14 | "The nested message\n is \\"" |
|
||||
| Strings.cs:26:24:30:11 | $"..." | Strings.cs:28:16:28:23 | access to local variable message1 |
|
||||
| Strings.cs:26:24:30:11 | $"..." | Strings.cs:28:25:29:29 | "\\" and everything\nspans multiple lines." |
|
||||
| Strings.cs:33:24:36:11 | $"..." | Strings.cs:34:1:34:30 | "Show no curly braces: " |
|
||||
| Strings.cs:33:24:36:11 | $"..." | Strings.cs:34:33:34:40 | access to local variable message1 |
|
||||
| Strings.cs:33:24:36:11 | $"..." | Strings.cs:34:43:35:44 | "\nShow matching set of curly braces: {" |
|
||||
| Strings.cs:33:24:36:11 | $"..." | Strings.cs:35:47:35:54 | access to local variable message2 |
|
||||
| Strings.cs:33:24:36:11 | $"..." | Strings.cs:35:57:35:57 | "}" |
|
||||
stringliterals
|
||||
| Strings.cs:18:24:23:11 | "This is my very long\n text message that spans\n accross multiple lines\nand is very useful." | StringLiteralUtf16 | String |
|
||||
| Strings.cs:27:1:28:14 | "The nested message\n is \\"" | StringLiteralUtf16 | String |
|
||||
| Strings.cs:28:25:29:29 | "\\" and everything\nspans multiple lines." | StringLiteralUtf16 | String |
|
||||
| Strings.cs:34:1:34:30 | "Show no curly braces: " | StringLiteralUtf16 | String |
|
||||
| Strings.cs:34:43:35:44 | "\nShow matching set of curly braces: {" | StringLiteralUtf16 | String |
|
||||
| Strings.cs:35:57:35:57 | "}" | StringLiteralUtf16 | String |
|
||||
| Strings.cs:43:17:43:27 | "AUTH8: " | StringLiteralUtf8 | ReadOnlySpan<Byte> |
|
||||
| Strings.cs:46:17:46:26 | "AUTH16: " | StringLiteralUtf16 | String |
|
||||
| Strings.cs:49:17:50:22 | "AUTH8: \n <username> " | StringLiteralUtf8 | ReadOnlySpan<Byte> |
|
||||
| Strings.cs:53:17:57:13 | "The nested message\n is UTF-8 encoded and\nspans multiple lines." | StringLiteralUtf8 | ReadOnlySpan<Byte> |
|
||||
13
csharp/ql/test/library-tests/csharp11/strings.ql
Normal file
13
csharp/ql/test/library-tests/csharp11/strings.ql
Normal file
@@ -0,0 +1,13 @@
|
||||
import csharp
|
||||
|
||||
query predicate interpolatedstrings(InterpolatedStringExpr se, Expr e) {
|
||||
se.getFile().getStem() = "Strings" and
|
||||
(e = se.getAText() or e = se.getAnInsert())
|
||||
}
|
||||
|
||||
query predicate stringliterals(StringLiteral s, string qlclass, string type) {
|
||||
s.getFile().getStem() = "Strings" and
|
||||
s.getEnclosingCallable().getName() = ["M2", "M3"] and
|
||||
qlclass = s.getAPrimaryQlClass() and
|
||||
type = s.getType().toString()
|
||||
}
|
||||
@@ -34,12 +34,12 @@ csharp6.cs:
|
||||
# 25| 0: [InterpolatedStringExpr] $"..."
|
||||
# 25| 0: [NameOfExpr] nameof(...)
|
||||
# 25| 0: [LocalVariableAccess] access to local variable foo
|
||||
# 25| 1: [StringLiteral] " is "
|
||||
# 25| 1: [StringLiteralUtf16] " is "
|
||||
# 25| 2: [LocalVariableAccess] access to local variable foo
|
||||
# 25| 3: [StringLiteral] ", and "
|
||||
# 25| 3: [StringLiteralUtf16] ", and "
|
||||
# 25| 4: [NameOfExpr] nameof(...)
|
||||
# 25| 0: [LocalVariableAccess] access to local variable bar
|
||||
# 25| 5: [StringLiteral] " has length "
|
||||
# 25| 5: [StringLiteralUtf16] " has length "
|
||||
# 25| 6: [NullCoalescingExpr] ... ?? ...
|
||||
# 25| 0: [PropertyCall] access to property Length
|
||||
# 25| -1: [LocalVariableAccess] access to local variable bar
|
||||
@@ -49,12 +49,12 @@ csharp6.cs:
|
||||
# 27| 0: [InterpolatedStringExpr] $"..."
|
||||
# 27| 0: [NameOfExpr] nameof(...)
|
||||
# 27| 0: [LocalVariableAccess] access to local variable foo
|
||||
# 27| 1: [StringLiteral] " is "
|
||||
# 27| 1: [StringLiteralUtf16] " is "
|
||||
# 27| 2: [LocalVariableAccess] access to local variable foo
|
||||
# 27| 3: [StringLiteral] ", and "
|
||||
# 27| 3: [StringLiteralUtf16] ", and "
|
||||
# 27| 4: [NameOfExpr] nameof(...)
|
||||
# 27| 0: [LocalVariableAccess] access to local variable bar
|
||||
# 27| 5: [StringLiteral] " has length "
|
||||
# 27| 5: [StringLiteralUtf16] " has length "
|
||||
# 27| 6: [NullCoalescingExpr] ... ?? ...
|
||||
# 27| 0: [PropertyCall] access to property Length
|
||||
# 27| -1: [LocalVariableAccess] access to local variable bar
|
||||
@@ -184,15 +184,15 @@ csharp6.cs:
|
||||
# 68| 0: [MemberInitializer] ... = ...
|
||||
# 68| 0: [IndexerCall] access to indexer
|
||||
# 68| 0: [IntLiteral] 0
|
||||
# 68| 1: [StringLiteral] "Zero"
|
||||
# 68| 1: [StringLiteralUtf16] "Zero"
|
||||
# 68| 1: [MemberInitializer] ... = ...
|
||||
# 68| 0: [IndexerCall] access to indexer
|
||||
# 68| 0: [IntLiteral] 1
|
||||
# 68| 1: [StringLiteral] "One"
|
||||
# 68| 1: [StringLiteralUtf16] "One"
|
||||
# 68| 2: [MemberInitializer] ... = ...
|
||||
# 68| 0: [IndexerCall] access to indexer
|
||||
# 68| 0: [IntLiteral] 2
|
||||
# 68| 1: [StringLiteral] "Two"
|
||||
# 68| 1: [StringLiteralUtf16] "Two"
|
||||
# 71| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 71| 0: [LocalVariableDeclAndInitExpr] Compound compound = ...
|
||||
# 71| -1: [TypeMention] Compound
|
||||
@@ -206,41 +206,41 @@ csharp6.cs:
|
||||
# 73| 0: [MemberInitializer] ... = ...
|
||||
# 73| 0: [IndexerCall] access to indexer
|
||||
# 73| 0: [IntLiteral] 0
|
||||
# 73| 1: [StringLiteral] "Zero"
|
||||
# 73| 1: [StringLiteralUtf16] "Zero"
|
||||
# 73| 1: [MemberInitializer] ... = ...
|
||||
# 73| 0: [IndexerCall] access to indexer
|
||||
# 73| 0: [IntLiteral] 1
|
||||
# 73| 1: [StringLiteral] "One"
|
||||
# 73| 1: [StringLiteralUtf16] "One"
|
||||
# 73| 2: [MemberInitializer] ... = ...
|
||||
# 73| 0: [IndexerCall] access to indexer
|
||||
# 73| 0: [IntLiteral] 2
|
||||
# 73| 1: [StringLiteral] "Two"
|
||||
# 73| 1: [StringLiteralUtf16] "Two"
|
||||
# 74| 1: [MemberInitializer] ... = ...
|
||||
# 74| 0: [PropertyCall] access to property DictionaryProperty
|
||||
# 74| 1: [ObjectInitializer] { ..., ... }
|
||||
# 74| 0: [MemberInitializer] ... = ...
|
||||
# 74| 0: [IndexerCall] access to indexer
|
||||
# 74| 0: [IntLiteral] 3
|
||||
# 74| 1: [StringLiteral] "Three"
|
||||
# 74| 1: [StringLiteralUtf16] "Three"
|
||||
# 74| 1: [MemberInitializer] ... = ...
|
||||
# 74| 0: [IndexerCall] access to indexer
|
||||
# 74| 0: [IntLiteral] 2
|
||||
# 74| 1: [StringLiteral] "Two"
|
||||
# 74| 1: [StringLiteralUtf16] "Two"
|
||||
# 74| 2: [MemberInitializer] ... = ...
|
||||
# 74| 0: [IndexerCall] access to indexer
|
||||
# 74| 0: [IntLiteral] 1
|
||||
# 74| 1: [StringLiteral] "One"
|
||||
# 74| 1: [StringLiteralUtf16] "One"
|
||||
# 75| 2: [MemberInitializer] ... = ...
|
||||
# 75| 0: [FieldAccess] access to field ArrayField
|
||||
# 75| 1: [ObjectInitializer] { ..., ... }
|
||||
# 75| 0: [MemberInitializer] ... = ...
|
||||
# 75| 0: [ArrayAccess] access to array element
|
||||
# 75| 0: [IntLiteral] 0
|
||||
# 75| 1: [StringLiteral] "Zero"
|
||||
# 75| 1: [StringLiteralUtf16] "Zero"
|
||||
# 75| 1: [MemberInitializer] ... = ...
|
||||
# 75| 0: [ArrayAccess] access to array element
|
||||
# 75| 0: [IntLiteral] 1
|
||||
# 75| 1: [StringLiteral] "One"
|
||||
# 75| 1: [StringLiteralUtf16] "One"
|
||||
# 76| 3: [MemberInitializer] ... = ...
|
||||
# 76| 0: [FieldAccess] access to field ArrayField2
|
||||
# 76| 1: [ObjectInitializer] { ..., ... }
|
||||
@@ -248,23 +248,23 @@ csharp6.cs:
|
||||
# 76| 0: [ArrayAccess] access to array element
|
||||
# 76| 0: [IntLiteral] 0
|
||||
# 76| 1: [IntLiteral] 1
|
||||
# 76| 1: [StringLiteral] "i"
|
||||
# 76| 1: [StringLiteralUtf16] "i"
|
||||
# 76| 1: [MemberInitializer] ... = ...
|
||||
# 76| 0: [ArrayAccess] access to array element
|
||||
# 76| 0: [IntLiteral] 1
|
||||
# 76| 1: [IntLiteral] 0
|
||||
# 76| 1: [StringLiteral] "1"
|
||||
# 76| 1: [StringLiteralUtf16] "1"
|
||||
# 77| 4: [MemberInitializer] ... = ...
|
||||
# 77| 0: [PropertyCall] access to property ArrayProperty
|
||||
# 77| 1: [ObjectInitializer] { ..., ... }
|
||||
# 77| 0: [MemberInitializer] ... = ...
|
||||
# 77| 0: [ArrayAccess] access to array element
|
||||
# 77| 0: [IntLiteral] 1
|
||||
# 77| 1: [StringLiteral] "One"
|
||||
# 77| 1: [StringLiteralUtf16] "One"
|
||||
# 77| 1: [MemberInitializer] ... = ...
|
||||
# 77| 0: [ArrayAccess] access to array element
|
||||
# 77| 0: [IntLiteral] 2
|
||||
# 77| 1: [StringLiteral] "Two"
|
||||
# 77| 1: [StringLiteralUtf16] "Two"
|
||||
# 78| 5: [MemberInitializer] ... = ...
|
||||
# 78| 0: [PropertyCall] access to property ArrayProperty2
|
||||
# 78| 1: [ObjectInitializer] { ..., ... }
|
||||
@@ -272,9 +272,9 @@ csharp6.cs:
|
||||
# 78| 0: [ArrayAccess] access to array element
|
||||
# 78| 0: [IntLiteral] 0
|
||||
# 78| 1: [IntLiteral] 1
|
||||
# 78| 1: [StringLiteral] "i"
|
||||
# 78| 1: [StringLiteralUtf16] "i"
|
||||
# 78| 1: [MemberInitializer] ... = ...
|
||||
# 78| 0: [ArrayAccess] access to array element
|
||||
# 78| 0: [IntLiteral] 1
|
||||
# 78| 1: [IntLiteral] 0
|
||||
# 78| 1: [StringLiteral] "1"
|
||||
# 78| 1: [StringLiteralUtf16] "1"
|
||||
|
||||
@@ -62,12 +62,12 @@ csharp71.cs:
|
||||
# 24| 1: [IsExpr] ... is ...
|
||||
# 24| 0: [ObjectCreation] object creation of type Object
|
||||
# 24| 0: [TypeMention] object
|
||||
# 24| 1: [ConstantPatternExpr,StringLiteral] "abc"
|
||||
# 24| 1: [ConstantPatternExpr,StringLiteralUtf16] "abc"
|
||||
# 25| 2: [ExprStmt] ...;
|
||||
# 25| 0: [AssignExpr] ... = ...
|
||||
# 25| 0: [LocalVariableAccess] access to local variable b
|
||||
# 25| 1: [IsExpr] ... is ...
|
||||
# 25| 0: [StringLiteral] ""
|
||||
# 25| 0: [StringLiteralUtf16] ""
|
||||
# 25| 1: [ConstantPatternExpr,NullLiteral] null
|
||||
# 26| 3: [ExprStmt] ...;
|
||||
# 26| 0: [AssignExpr] ... = ...
|
||||
|
||||
@@ -109,5 +109,5 @@ csharp73.cs:
|
||||
# 51| -1: [TypeAccess] access to type Console
|
||||
# 51| 0: [TypeMention] Console
|
||||
# 51| 0: [InterpolatedStringExpr] $"..."
|
||||
# 51| 0: [StringLiteral] "x is "
|
||||
# 51| 0: [StringLiteralUtf16] "x is "
|
||||
# 51| 1: [LocalVariableAccess] access to local variable x
|
||||
|
||||
@@ -65,7 +65,7 @@ CSharp7.cs:
|
||||
# 31| 2: [ThrowExpr] throw ...
|
||||
# 31| 0: [ObjectCreation] object creation of type ArgumentException
|
||||
# 31| -1: [TypeMention] ArgumentException
|
||||
# 31| 0: [StringLiteral] "i"
|
||||
# 31| 0: [StringLiteralUtf16] "i"
|
||||
# 35| [Class] OutVariables
|
||||
# 37| 5: [Method] F
|
||||
# 37| -1: [TypeMention] Void
|
||||
@@ -76,7 +76,7 @@ CSharp7.cs:
|
||||
# 39| 0: [ExprStmt] ...;
|
||||
# 39| 0: [AssignExpr] ... = ...
|
||||
# 39| 0: [ParameterAccess] access to parameter x
|
||||
# 39| 1: [StringLiteral] "tainted"
|
||||
# 39| 1: [StringLiteralUtf16] "tainted"
|
||||
# 42| 6: [Method] G
|
||||
# 42| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
@@ -116,7 +116,7 @@ CSharp7.cs:
|
||||
# 54| 1: [LocalVariableAccess] access to local variable t2
|
||||
# 55| 6: [ExprStmt] ...;
|
||||
# 55| 0: [MethodCall] call to method G
|
||||
# 55| 0: [StringLiteral] "tainted"
|
||||
# 55| 0: [StringLiteralUtf16] "tainted"
|
||||
# 55| 1: [LocalVariableAccess,LocalVariableDeclExpr] String t4
|
||||
# 56| 7: [LocalVariableDeclStmt] ... ...;
|
||||
# 56| 0: [LocalVariableDeclAndInitExpr] String t5 = ...
|
||||
@@ -209,7 +209,7 @@ CSharp7.cs:
|
||||
# 77| 0: [LocalVariableDeclExpr] String i
|
||||
# 77| 1: [LocalVariableDeclExpr] Int32 j
|
||||
# 77| 1: [TupleExpr] (..., ...)
|
||||
# 77| 0: [StringLiteral] ""
|
||||
# 77| 0: [StringLiteralUtf16] ""
|
||||
# 77| 1: [LocalVariableAccess] access to local variable x
|
||||
# 80| 7: [Method] I
|
||||
# 80| -1: [TypeMention] string
|
||||
@@ -230,8 +230,8 @@ CSharp7.cs:
|
||||
# 87| -1: [TypeMention] (string, string)
|
||||
# 87| 0: [LocalVariableAccess] access to local variable t1
|
||||
# 87| 1: [TupleExpr] (..., ...)
|
||||
# 87| 0: [StringLiteral] "tainted"
|
||||
# 87| 1: [StringLiteral] "X2"
|
||||
# 87| 0: [StringLiteralUtf16] "tainted"
|
||||
# 87| 1: [StringLiteralUtf16] "X2"
|
||||
# 88| 1: [ExprStmt] ...;
|
||||
# 88| 0: [AssignExpr] ... = ...
|
||||
# 88| 0: [TupleExpr] (..., ...)
|
||||
@@ -259,7 +259,7 @@ CSharp7.cs:
|
||||
# 95| 0: [LocalVariableAccess] access to local variable m1
|
||||
# 95| 1: [TupleExpr] (..., ...)
|
||||
# 95| 0: [IntLiteral] 1
|
||||
# 95| 1: [StringLiteral] "TupleExprNode1"
|
||||
# 95| 1: [StringLiteralUtf16] "TupleExprNode1"
|
||||
# 96| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 96| 0: [LocalVariableDeclAndInitExpr] (Int32,(String,Int32)) m2 = ...
|
||||
# 96| -1: [TypeMention] (int, (string, int))
|
||||
@@ -267,7 +267,7 @@ CSharp7.cs:
|
||||
# 96| 1: [TupleExpr] (..., ...)
|
||||
# 96| 0: [IntLiteral] 1
|
||||
# 96| 1: [TupleExpr] (..., ...)
|
||||
# 96| 0: [StringLiteral] "TupleExprNode2"
|
||||
# 96| 0: [StringLiteralUtf16] "TupleExprNode2"
|
||||
# 96| 1: [IntLiteral] 2
|
||||
# 99| 10: [Method] TupleMemberAccess
|
||||
# 99| -1: [TypeMention] Void
|
||||
@@ -278,7 +278,7 @@ CSharp7.cs:
|
||||
# 101| 0: [LocalVariableAccess] access to local variable m1
|
||||
# 101| 1: [FieldAccess] access to field Item1
|
||||
# 101| -1: [TupleExpr] (..., ...)
|
||||
# 101| 0: [StringLiteral] "TupleMemberAccess1"
|
||||
# 101| 0: [StringLiteralUtf16] "TupleMemberAccess1"
|
||||
# 101| 1: [IntLiteral] 0
|
||||
# 102| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 102| 0: [LocalVariableDeclAndInitExpr] (String,Int32) m2 = ...
|
||||
@@ -288,7 +288,7 @@ CSharp7.cs:
|
||||
# 102| -1: [TupleExpr] (..., ...)
|
||||
# 102| 0: [IntLiteral] 0
|
||||
# 102| 1: [TupleExpr] (..., ...)
|
||||
# 102| 0: [StringLiteral] "TupleMemberAccess2"
|
||||
# 102| 0: [StringLiteralUtf16] "TupleMemberAccess2"
|
||||
# 102| 1: [IntLiteral] 1
|
||||
# 105| 11: [Method] DefUse
|
||||
# 105| -1: [TypeMention] Void
|
||||
@@ -299,7 +299,7 @@ CSharp7.cs:
|
||||
# 107| 0: [LocalVariableDeclExpr] String m1
|
||||
# 107| 1: [LocalVariableDeclExpr] (Int32,Int32) m2
|
||||
# 107| 1: [TupleExpr] (..., ...)
|
||||
# 107| 0: [StringLiteral] "DefUse1"
|
||||
# 107| 0: [StringLiteralUtf16] "DefUse1"
|
||||
# 107| 1: [TupleExpr] (..., ...)
|
||||
# 107| 0: [IntLiteral] 0
|
||||
# 107| 1: [IntLiteral] 1
|
||||
@@ -338,7 +338,7 @@ CSharp7.cs:
|
||||
# 112| 0: [LocalVariableAccess] access to local variable m1
|
||||
# 112| 1: [LocalVariableAccess] access to local variable m2
|
||||
# 112| 1: [TupleExpr] (..., ...)
|
||||
# 112| 0: [StringLiteral] "DefUse2"
|
||||
# 112| 0: [StringLiteralUtf16] "DefUse2"
|
||||
# 112| 1: [TupleExpr] (..., ...)
|
||||
# 112| 0: [IntLiteral] 0
|
||||
# 112| 1: [IntLiteral] 1
|
||||
@@ -367,7 +367,7 @@ CSharp7.cs:
|
||||
# 121| 0: [LocalVariableAccess] access to local variable m13
|
||||
# 121| 1: [AssignExpr] ... = ...
|
||||
# 121| 0: [LocalVariableAccess] access to local variable m12
|
||||
# 121| 1: [StringLiteral] "DefUse3"
|
||||
# 121| 1: [StringLiteralUtf16] "DefUse3"
|
||||
# 125| [Class] LocalFunctions
|
||||
# 127| 5: [Method] Main
|
||||
# 127| -1: [TypeMention] int
|
||||
@@ -523,7 +523,7 @@ CSharp7.cs:
|
||||
# 170| 4: [ExprStmt] ...;
|
||||
# 170| 0: [LocalFunctionCall] call to local function h
|
||||
# 170| -1: [LocalFunctionAccess] access to local function h
|
||||
# 170| 0: [StringLiteral] ""
|
||||
# 170| 0: [StringLiteralUtf16] ""
|
||||
# 170| 1: [BoolLiteral] true
|
||||
# 173| 7: [Method] GlobalFlow
|
||||
# 173| -1: [TypeMention] Void
|
||||
@@ -532,7 +532,7 @@ CSharp7.cs:
|
||||
# 175| 0: [LocalVariableDeclAndInitExpr] String src = ...
|
||||
# 175| -1: [TypeMention] string
|
||||
# 175| 0: [LocalVariableAccess] access to local variable src
|
||||
# 175| 1: [StringLiteral] "tainted"
|
||||
# 175| 1: [StringLiteralUtf16] "tainted"
|
||||
# 176| 1: [LocalFunctionStmt] f(...)
|
||||
# 176| 0: [LocalFunction] f
|
||||
#-----| 2: (Parameters)
|
||||
@@ -542,7 +542,7 @@ CSharp7.cs:
|
||||
# 176| 0: [LocalFunctionCall] call to local function g
|
||||
# 176| -1: [LocalFunctionAccess] access to local function g
|
||||
# 176| 0: [ParameterAccess] access to parameter s
|
||||
# 176| 1: [StringLiteral] ""
|
||||
# 176| 1: [StringLiteralUtf16] ""
|
||||
# 177| 2: [LocalFunctionStmt] g(...)
|
||||
# 177| 0: [LocalFunction] g
|
||||
#-----| 2: (Parameters)
|
||||
@@ -734,7 +734,7 @@ CSharp7.cs:
|
||||
# 235| -1: [TypeAccess] access to type Console
|
||||
# 235| 0: [TypeMention] Console
|
||||
# 235| 0: [InterpolatedStringExpr] $"..."
|
||||
# 235| 0: [StringLiteral] "int "
|
||||
# 235| 0: [StringLiteralUtf16] "int "
|
||||
# 235| 1: [LocalVariableAccess] access to local variable i1
|
||||
# 237| 2: [IfStmt] if (...) ...
|
||||
# 237| 0: [IsExpr] ... is ...
|
||||
@@ -747,7 +747,7 @@ CSharp7.cs:
|
||||
# 239| -1: [TypeAccess] access to type Console
|
||||
# 239| 0: [TypeMention] Console
|
||||
# 239| 0: [InterpolatedStringExpr] $"..."
|
||||
# 239| 0: [StringLiteral] "string "
|
||||
# 239| 0: [StringLiteralUtf16] "string "
|
||||
# 239| 1: [LocalVariableAccess] access to local variable s1
|
||||
# 241| 2: [IfStmt] if (...) ...
|
||||
# 241| 0: [IsExpr] ... is ...
|
||||
@@ -763,16 +763,16 @@ CSharp7.cs:
|
||||
# 248| 2: [SwitchStmt] switch (...) {...}
|
||||
# 248| 0: [LocalVariableAccess] access to local variable o
|
||||
# 250| 0: [ConstCase] case ...:
|
||||
# 250| 0: [ConstantPatternExpr,StringLiteral] "xyz"
|
||||
# 250| 0: [ConstantPatternExpr,StringLiteralUtf16] "xyz"
|
||||
# 251| 1: [BreakStmt] break;
|
||||
# 252| 2: [ConstCase] case ...:
|
||||
# 252| 0: [ConstantPatternExpr,StringLiteral] ""
|
||||
# 252| 0: [ConstantPatternExpr,StringLiteralUtf16] ""
|
||||
# 252| 1: [LTExpr] ... < ...
|
||||
# 252| 0: [IntLiteral] 1
|
||||
# 252| 1: [IntLiteral] 2
|
||||
# 253| 3: [BreakStmt] break;
|
||||
# 254| 4: [ConstCase] case ...:
|
||||
# 254| 0: [ConstantPatternExpr,StringLiteral] "x"
|
||||
# 254| 0: [ConstantPatternExpr,StringLiteralUtf16] "x"
|
||||
# 254| 1: [IsExpr] ... is ...
|
||||
# 254| 0: [LocalVariableAccess] access to local variable o
|
||||
# 254| 1: [VariablePatternExpr] String s4
|
||||
@@ -782,7 +782,7 @@ CSharp7.cs:
|
||||
# 255| -1: [TypeAccess] access to type Console
|
||||
# 255| 0: [TypeMention] Console
|
||||
# 255| 0: [InterpolatedStringExpr] $"..."
|
||||
# 255| 0: [StringLiteral] "x "
|
||||
# 255| 0: [StringLiteralUtf16] "x "
|
||||
# 255| 1: [LocalVariableAccess] access to local variable s4
|
||||
# 256| 6: [BreakStmt] break;
|
||||
# 257| 7: [CaseStmt] case ...:
|
||||
@@ -796,7 +796,7 @@ CSharp7.cs:
|
||||
# 258| -1: [TypeAccess] access to type Console
|
||||
# 258| 0: [TypeMention] Console
|
||||
# 258| 0: [InterpolatedStringExpr] $"..."
|
||||
# 258| 0: [StringLiteral] "positive "
|
||||
# 258| 0: [StringLiteralUtf16] "positive "
|
||||
# 258| 1: [LocalVariableAccess] access to local variable i2
|
||||
# 259| 9: [BreakStmt] break;
|
||||
# 260| 10: [CaseStmt] case ...:
|
||||
@@ -807,7 +807,7 @@ CSharp7.cs:
|
||||
# 261| -1: [TypeAccess] access to type Console
|
||||
# 261| 0: [TypeMention] Console
|
||||
# 261| 0: [InterpolatedStringExpr] $"..."
|
||||
# 261| 0: [StringLiteral] "int "
|
||||
# 261| 0: [StringLiteralUtf16] "int "
|
||||
# 261| 1: [LocalVariableAccess] access to local variable i3
|
||||
# 262| 12: [BreakStmt] break;
|
||||
# 263| 13: [CaseStmt] case ...:
|
||||
@@ -818,7 +818,7 @@ CSharp7.cs:
|
||||
# 264| -1: [TypeAccess] access to type Console
|
||||
# 264| 0: [TypeMention] Console
|
||||
# 264| 0: [InterpolatedStringExpr] $"..."
|
||||
# 264| 0: [StringLiteral] "string "
|
||||
# 264| 0: [StringLiteralUtf16] "string "
|
||||
# 264| 1: [LocalVariableAccess] access to local variable s2
|
||||
# 265| 15: [BreakStmt] break;
|
||||
# 266| 16: [CaseStmt] case ...:
|
||||
@@ -828,7 +828,7 @@ CSharp7.cs:
|
||||
# 267| 0: [MethodCall] call to method WriteLine
|
||||
# 267| -1: [TypeAccess] access to type Console
|
||||
# 267| 0: [TypeMention] Console
|
||||
# 267| 0: [StringLiteral] "Double"
|
||||
# 267| 0: [StringLiteralUtf16] "Double"
|
||||
# 268| 18: [BreakStmt] break;
|
||||
# 269| 19: [CaseStmt] case ...:
|
||||
# 269| 0: [VariablePatternExpr] Object v2
|
||||
@@ -838,7 +838,7 @@ CSharp7.cs:
|
||||
# 272| 0: [MethodCall] call to method WriteLine
|
||||
# 272| -1: [TypeAccess] access to type Console
|
||||
# 272| 0: [TypeMention] Console
|
||||
# 272| 0: [StringLiteral] "Something else"
|
||||
# 272| 0: [StringLiteralUtf16] "Something else"
|
||||
# 273| 23: [BreakStmt] break;
|
||||
# 278| [Class] ForeachStatements
|
||||
# 280| 5: [Method] Test
|
||||
|
||||
@@ -5,14 +5,14 @@ AlternateInterpolatedStrings.cs:
|
||||
# 5| 1: [AssignExpr] ... = ...
|
||||
# 5| 0: [FieldAccess] access to field s1
|
||||
# 5| 1: [InterpolatedStringExpr] $"..."
|
||||
# 5| 0: [StringLiteral] "C:"
|
||||
# 5| 0: [StringLiteralUtf16] "C:"
|
||||
# 5| 1: [IntLiteral] 12
|
||||
# 6| 6: [Field] s2
|
||||
# 6| -1: [TypeMention] string
|
||||
# 6| 1: [AssignExpr] ... = ...
|
||||
# 6| 0: [FieldAccess] access to field s2
|
||||
# 6| 1: [InterpolatedStringExpr] $"..."
|
||||
# 6| 0: [StringLiteral] "C:"
|
||||
# 6| 0: [StringLiteralUtf16] "C:"
|
||||
# 6| 1: [IntLiteral] 12
|
||||
AsyncStreams.cs:
|
||||
# 6| [Class] AsyncStreams
|
||||
@@ -80,7 +80,7 @@ DefaultInterfaceMethods.cs:
|
||||
# 7| 5: [Property] Greeting
|
||||
# 7| -1: [TypeMention] string
|
||||
# 9| 3: [Getter] get_Greeting
|
||||
# 9| 4: [StringLiteral] "Hello"
|
||||
# 9| 4: [StringLiteralUtf16] "Hello"
|
||||
# 10| 4: [Setter] set_Greeting
|
||||
#-----| 2: (Parameters)
|
||||
# 10| 0: [Parameter] value
|
||||
@@ -93,7 +93,7 @@ DefaultInterfaceMethods.cs:
|
||||
# 13| 4: [AddExpr] ... + ...
|
||||
# 13| 0: [AddExpr] ... + ...
|
||||
# 13| 0: [PropertyCall] access to property Greeting
|
||||
# 13| 1: [StringLiteral] " "
|
||||
# 13| 1: [StringLiteralUtf16] " "
|
||||
# 13| 1: [ParameterAccess] access to parameter name
|
||||
# 15| 7: [Property] GreetingString
|
||||
# 15| -1: [TypeMention] string
|
||||
@@ -108,12 +108,12 @@ DefaultInterfaceMethods.cs:
|
||||
# 22| 5: [Property] Name
|
||||
# 22| -1: [TypeMention] string
|
||||
# 22| 3: [Getter] get_Name
|
||||
# 22| 4: [StringLiteral] "Petra"
|
||||
# 22| 4: [StringLiteralUtf16] "Petra"
|
||||
# 24| 6: [Property] Greeting
|
||||
# 24| -1: [TypeMention] IPerson
|
||||
# 24| -1: [TypeMention] string
|
||||
# 24| 3: [Getter] get_Greeting
|
||||
# 24| 4: [StringLiteral] "Howdy"
|
||||
# 24| 4: [StringLiteralUtf16] "Howdy"
|
||||
# 24| 4: [Setter] set_Greeting
|
||||
#-----| 2: (Parameters)
|
||||
# 24| 0: [Parameter] value
|
||||
@@ -353,7 +353,7 @@ NullableRefTypes.cs:
|
||||
# 84| 0: [LocalVariableDeclAndInitExpr] String x = ...
|
||||
# 84| -1: [TypeMention] string
|
||||
# 84| 0: [LocalVariableAccess] access to local variable x
|
||||
# 84| 1: [StringLiteral] "source"
|
||||
# 84| 1: [StringLiteralUtf16] "source"
|
||||
# 85| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 85| 0: [LocalVariableDeclAndInitExpr] String y = ...
|
||||
# 85| -1: [TypeMention] string
|
||||
@@ -381,7 +381,7 @@ NullableRefTypes.cs:
|
||||
# 93| 0: [LocalVariableDeclAndInitExpr] String x = ...
|
||||
# 93| -1: [TypeMention] string
|
||||
# 93| 0: [LocalVariableAccess] access to local variable x
|
||||
# 93| 1: [StringLiteral] "source"
|
||||
# 93| 1: [StringLiteralUtf16] "source"
|
||||
# 94| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 94| 0: [LocalVariableDeclAndInitExpr] String y = ...
|
||||
# 94| -1: [TypeMention] string
|
||||
@@ -592,7 +592,7 @@ NullableRefTypes.cs:
|
||||
# 187| 0: [ExprStmt] ...;
|
||||
# 187| 0: [AssignExpr] ... = ...
|
||||
# 187| 0: [LocalVariableAccess] access to local variable x
|
||||
# 187| 1: [StringLiteral] "not null any more"
|
||||
# 187| 1: [StringLiteralUtf16] "not null any more"
|
||||
# 190| 3: [ExprStmt] ...;
|
||||
# 190| 0: [MethodCall] call to method Check
|
||||
# 190| 0: [LocalVariableAccess] access to local variable x
|
||||
@@ -609,7 +609,7 @@ NullableRefTypes.cs:
|
||||
# 203| 0: [ExprStmt] ...;
|
||||
# 203| 0: [AssignExpr] ... = ...
|
||||
# 203| 0: [LocalVariableAccess] access to local variable y
|
||||
# 203| 1: [StringLiteral] "not null"
|
||||
# 203| 1: [StringLiteralUtf16] "not null"
|
||||
# 198| 0: [BlockStmt] {...}
|
||||
# 199| 0: [ThrowStmt] throw ...;
|
||||
# 199| 0: [ObjectCreation] object creation of type ArgumentException
|
||||
@@ -721,7 +721,7 @@ UsingDeclarations.cs:
|
||||
# 8| 0: [LocalVariableAccess] access to local variable file1
|
||||
# 8| 1: [ObjectCreation] object creation of type FileStream
|
||||
# 8| -1: [TypeMention] FileStream
|
||||
# 8| 0: [StringLiteral] "..."
|
||||
# 8| 0: [StringLiteralUtf16] "..."
|
||||
# 8| 1: [MemberConstantAccess] access to constant Open
|
||||
# 8| -1: [TypeAccess] access to type FileMode
|
||||
# 8| 0: [TypeMention] FileMode
|
||||
@@ -730,7 +730,7 @@ UsingDeclarations.cs:
|
||||
# 8| 0: [LocalVariableAccess] access to local variable file2
|
||||
# 8| 1: [ObjectCreation] object creation of type FileStream
|
||||
# 8| -1: [TypeMention] FileStream
|
||||
# 8| 0: [StringLiteral] "..."
|
||||
# 8| 0: [StringLiteralUtf16] "..."
|
||||
# 8| 1: [MemberConstantAccess] access to constant Open
|
||||
# 8| -1: [TypeAccess] access to type FileMode
|
||||
# 8| 0: [TypeMention] FileMode
|
||||
@@ -740,7 +740,7 @@ UsingDeclarations.cs:
|
||||
# 10| 0: [LocalVariableAccess] access to local variable file4
|
||||
# 10| 1: [ObjectCreation] object creation of type FileStream
|
||||
# 10| -1: [TypeMention] FileStream
|
||||
# 10| 0: [StringLiteral] "..."
|
||||
# 10| 0: [StringLiteralUtf16] "..."
|
||||
# 10| 1: [MemberConstantAccess] access to constant Open
|
||||
# 10| -1: [TypeAccess] access to type FileMode
|
||||
# 10| 0: [TypeMention] FileMode
|
||||
@@ -749,7 +749,7 @@ UsingDeclarations.cs:
|
||||
# 10| 0: [LocalVariableAccess] access to local variable file3
|
||||
# 10| 1: [ObjectCreation] object creation of type FileStream
|
||||
# 10| -1: [TypeMention] FileStream
|
||||
# 10| 0: [StringLiteral] "..."
|
||||
# 10| 0: [StringLiteralUtf16] "..."
|
||||
# 10| 1: [MemberConstantAccess] access to constant Open
|
||||
# 10| -1: [TypeAccess] access to type FileMode
|
||||
# 10| 0: [TypeMention] FileMode
|
||||
@@ -757,7 +757,7 @@ UsingDeclarations.cs:
|
||||
# 14| 2: [UsingBlockStmt] using (...) {...}
|
||||
# 14| 0: [ObjectCreation] object creation of type FileStream
|
||||
# 14| -1: [TypeMention] FileStream
|
||||
# 14| 0: [StringLiteral] "..."
|
||||
# 14| 0: [StringLiteralUtf16] "..."
|
||||
# 14| 1: [MemberConstantAccess] access to constant Open
|
||||
# 14| -1: [TypeAccess] access to type FileMode
|
||||
# 14| 0: [TypeMention] FileMode
|
||||
@@ -864,7 +864,7 @@ patterns.cs:
|
||||
# 39| 0: [MethodCall] call to method WriteLine
|
||||
# 39| -1: [TypeAccess] access to type Console
|
||||
# 39| 0: [TypeMention] Console
|
||||
# 39| 0: [StringLiteral] "Hit the breakpoint"
|
||||
# 39| 0: [StringLiteralUtf16] "Hit the breakpoint"
|
||||
# 40| 2: [BreakStmt] break;
|
||||
# 41| 3: [CaseStmt] case ...:
|
||||
# 41| 0: [VariablePatternExpr] MyStruct ms2
|
||||
@@ -877,7 +877,7 @@ patterns.cs:
|
||||
# 42| 0: [MethodCall] call to method WriteLine
|
||||
# 42| -1: [TypeAccess] access to type Console
|
||||
# 42| 0: [TypeMention] Console
|
||||
# 42| 0: [StringLiteral] "Missed the breakpoint"
|
||||
# 42| 0: [StringLiteralUtf16] "Missed the breakpoint"
|
||||
# 43| 5: [BreakStmt] break;
|
||||
# 46| 2: [SwitchStmt] switch (...) {...}
|
||||
# 46| 0: [LocalVariableAccess] access to local variable s
|
||||
@@ -908,7 +908,7 @@ patterns.cs:
|
||||
# 52| 0: [MethodCall] call to method WriteLine
|
||||
# 52| -1: [TypeAccess] access to type Console
|
||||
# 52| 0: [TypeMention] Console
|
||||
# 52| 0: [StringLiteral] "Hit the breakpoint"
|
||||
# 52| 0: [StringLiteralUtf16] "Hit the breakpoint"
|
||||
# 53| 5: [BreakStmt] break;
|
||||
# 54| 6: [CaseStmt] case ...:
|
||||
# 54| 0: [RecursivePatternExpr] { ... }
|
||||
@@ -970,7 +970,7 @@ patterns.cs:
|
||||
# 71| 0: [MethodCall] call to method WriteLine
|
||||
# 71| -1: [TypeAccess] access to type Console
|
||||
# 71| 0: [TypeMention] Console
|
||||
# 71| 0: [StringLiteral] "Hit the breakpoint"
|
||||
# 71| 0: [StringLiteralUtf16] "Hit the breakpoint"
|
||||
# 72| 5: [BreakStmt] break;
|
||||
# 76| 4: [SwitchStmt] switch (...) {...}
|
||||
# 76| 0: [ObjectCreation] object creation of type Object
|
||||
@@ -1039,10 +1039,10 @@ patterns.cs:
|
||||
# 101| 1: [GTExpr] ... > ...
|
||||
# 101| 0: [LocalVariableAccess] access to local variable y
|
||||
# 101| 1: [IntLiteral] 10
|
||||
# 101| 2: [StringLiteral] "large"
|
||||
# 101| 2: [StringLiteralUtf16] "large"
|
||||
# 102| 1: [SwitchCaseExpr] ... => ...
|
||||
# 102| 0: [DiscardPatternExpr] _
|
||||
# 102| 2: [StringLiteral] "small"
|
||||
# 102| 2: [StringLiteralUtf16] "small"
|
||||
# 105| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 105| 0: [LocalVariableDeclAndInitExpr] Int32 x0 = ...
|
||||
# 105| -1: [TypeMention] int
|
||||
@@ -1204,7 +1204,7 @@ patterns.cs:
|
||||
# 147| 0: [MethodCall] call to method WriteLine
|
||||
# 147| -1: [TypeAccess] access to type Console
|
||||
# 147| 0: [TypeMention] Console
|
||||
# 147| 0: [StringLiteral] "Invalid operation"
|
||||
# 147| 0: [StringLiteralUtf16] "Invalid operation"
|
||||
# 151| 9: [Struct] MyStruct
|
||||
# 153| 5: [Field] X
|
||||
# 153| -1: [TypeMention] int
|
||||
|
||||
@@ -118,10 +118,10 @@ BinaryPattern.cs:
|
||||
# 18| 0: [OrPatternExpr] ... or ...
|
||||
# 18| 0: [ConstantPatternExpr,IntLiteral] 1
|
||||
# 18| 1: [ConstantPatternExpr,IntLiteral] 2
|
||||
# 18| 2: [StringLiteral] "1 or 2"
|
||||
# 18| 2: [StringLiteralUtf16] "1 or 2"
|
||||
# 19| 1: [SwitchCaseExpr] ... => ...
|
||||
# 19| 0: [DiscardPatternExpr] _
|
||||
# 19| 2: [StringLiteral] "other"
|
||||
# 19| 2: [StringLiteralUtf16] "other"
|
||||
CovariantReturn.cs:
|
||||
# 1| [Class] A
|
||||
# 3| 5: [Method] M1
|
||||
@@ -967,7 +967,7 @@ Record.cs:
|
||||
# 38| 4: [MethodCall] call to method WriteLine
|
||||
# 38| -1: [TypeAccess] access to type Console
|
||||
# 38| 0: [TypeMention] Console
|
||||
# 38| 0: [StringLiteral] "Shredding furniture"
|
||||
# 38| 0: [StringLiteralUtf16] "Shredding furniture"
|
||||
# 41| [RecordClass] Dog
|
||||
# 41| 12: [NEOperator] !=
|
||||
#-----| 2: (Parameters)
|
||||
@@ -988,7 +988,7 @@ Record.cs:
|
||||
# 44| 4: [MethodCall] call to method WriteLine
|
||||
# 44| -1: [TypeAccess] access to type Console
|
||||
# 44| 0: [TypeMention] Console
|
||||
# 44| 0: [StringLiteral] "It's tail wagging time"
|
||||
# 44| 0: [StringLiteralUtf16] "It's tail wagging time"
|
||||
# 46| 17: [Method] ToString
|
||||
# 46| -1: [TypeMention] string
|
||||
# 47| 4: [BlockStmt] {...}
|
||||
@@ -1006,7 +1006,7 @@ Record.cs:
|
||||
# 50| 0: [InterpolatedStringExpr] $"..."
|
||||
# 50| 0: [MethodCall] call to method ToString
|
||||
# 50| -1: [LocalVariableAccess] access to local variable s
|
||||
# 50| 1: [StringLiteral] " is a dog"
|
||||
# 50| 1: [StringLiteralUtf16] " is a dog"
|
||||
# 54| [RecordClass] R1
|
||||
# 54| 12: [NEOperator] !=
|
||||
#-----| 2: (Parameters)
|
||||
@@ -1059,16 +1059,16 @@ Record.cs:
|
||||
# 62| 0: [LocalVariableAccess] access to local variable person
|
||||
# 62| 1: [ObjectCreation] object creation of type Person
|
||||
# 62| -1: [TypeMention] Person
|
||||
# 62| 0: [StringLiteral] "Bill"
|
||||
# 62| 1: [StringLiteral] "Wagner"
|
||||
# 62| 0: [StringLiteralUtf16] "Bill"
|
||||
# 62| 1: [StringLiteralUtf16] "Wagner"
|
||||
# 63| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 63| 0: [LocalVariableDeclAndInitExpr] Student student = ...
|
||||
# 63| -1: [TypeMention] Student
|
||||
# 63| 0: [LocalVariableAccess] access to local variable student
|
||||
# 63| 1: [ObjectCreation] object creation of type Student
|
||||
# 63| -1: [TypeMention] Student
|
||||
# 63| 0: [StringLiteral] "Bill"
|
||||
# 63| 1: [StringLiteral] "Wagner"
|
||||
# 63| 0: [StringLiteralUtf16] "Bill"
|
||||
# 63| 1: [StringLiteralUtf16] "Wagner"
|
||||
# 63| 2: [IntLiteral] 11
|
||||
# 65| 2: [ExprStmt] ...;
|
||||
# 65| 0: [MethodCall] call to method WriteLine
|
||||
@@ -1086,9 +1086,9 @@ Record.cs:
|
||||
# 70| 0: [LocalVariableAccess] access to local variable p1
|
||||
# 70| 1: [ObjectCreation] object creation of type Teacher1
|
||||
# 70| -1: [TypeMention] Teacher1
|
||||
# 70| 0: [StringLiteral] "Bill"
|
||||
# 70| 1: [StringLiteral] "Wagner"
|
||||
# 70| 2: [StringLiteral] "Math"
|
||||
# 70| 0: [StringLiteralUtf16] "Bill"
|
||||
# 70| 1: [StringLiteralUtf16] "Wagner"
|
||||
# 70| 2: [StringLiteralUtf16] "Math"
|
||||
# 72| 1: [ExprStmt] ...;
|
||||
# 72| 0: [AssignExpr] ... = ...
|
||||
# 72| 0: [TupleExpr] (..., ...)
|
||||
@@ -1109,7 +1109,7 @@ Record.cs:
|
||||
# 75| 1: [ObjectInitializer] { ..., ... }
|
||||
# 75| 0: [MemberInitializer] ... = ...
|
||||
# 75| 0: [PropertyCall] access to property FirstName
|
||||
# 75| 1: [StringLiteral] "Paul"
|
||||
# 75| 1: [StringLiteralUtf16] "Paul"
|
||||
# 76| 4: [LocalVariableDeclStmt] ... ...;
|
||||
# 76| 0: [LocalVariableDeclAndInitExpr] Teacher1 p3 = ...
|
||||
# 76| -1: [TypeMention] Teacher1
|
||||
@@ -1122,10 +1122,10 @@ Record.cs:
|
||||
# 76| 1: [ObjectInitializer] { ..., ... }
|
||||
# 76| 0: [MemberInitializer] ... = ...
|
||||
# 76| 0: [PropertyCall] access to property FirstName
|
||||
# 76| 1: [StringLiteral] "Paul"
|
||||
# 76| 1: [StringLiteralUtf16] "Paul"
|
||||
# 76| 1: [MemberInitializer] ... = ...
|
||||
# 76| 0: [PropertyCall] access to property Subject
|
||||
# 76| 1: [StringLiteral] "Literature"
|
||||
# 76| 1: [StringLiteralUtf16] "Literature"
|
||||
# 77| 5: [LocalVariableDeclStmt] ... ...;
|
||||
# 77| 0: [LocalVariableDeclAndInitExpr] Person1 clone = ...
|
||||
# 77| -1: [TypeMention] Person1
|
||||
@@ -1142,8 +1142,8 @@ Record.cs:
|
||||
# 82| 0: [LocalVariableAccess] access to local variable a
|
||||
# 82| 1: [ObjectCreation] object creation of type R2
|
||||
# 82| -1: [TypeMention] R2
|
||||
# 82| 0: [StringLiteral] "A"
|
||||
# 82| 1: [StringLiteral] "B"
|
||||
# 82| 0: [StringLiteralUtf16] "A"
|
||||
# 82| 1: [StringLiteralUtf16] "B"
|
||||
# 83| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 83| 0: [LocalVariableDeclAndInitExpr] R1 b = ...
|
||||
# 83| -1: [TypeMention] R1
|
||||
@@ -1158,7 +1158,7 @@ Record.cs:
|
||||
# 84| 1: [ObjectInitializer] { ..., ... }
|
||||
# 84| 0: [MemberInitializer] ... = ...
|
||||
# 84| 0: [PropertyCall] access to property A
|
||||
# 84| 1: [StringLiteral] "C"
|
||||
# 84| 1: [StringLiteralUtf16] "C"
|
||||
RelationalPattern.cs:
|
||||
# 3| [Class] RelationalPattern
|
||||
# 5| 5: [Method] M1
|
||||
@@ -1208,14 +1208,14 @@ RelationalPattern.cs:
|
||||
# 16| -1: [ParameterAccess] access to parameter i
|
||||
# 18| 0: [SwitchCaseExpr] ... => ...
|
||||
# 18| 0: [ConstantPatternExpr,IntLiteral] 1
|
||||
# 18| 2: [StringLiteral] "1"
|
||||
# 18| 2: [StringLiteralUtf16] "1"
|
||||
# 19| 1: [SwitchCaseExpr] ... => ...
|
||||
# 19| 0: [GTPattern] > ...
|
||||
# 19| 0: [IntLiteral] 1
|
||||
# 19| 2: [StringLiteral] ">1"
|
||||
# 19| 2: [StringLiteralUtf16] ">1"
|
||||
# 20| 2: [SwitchCaseExpr] ... => ...
|
||||
# 20| 0: [DiscardPatternExpr] _
|
||||
# 20| 2: [StringLiteral] "other"
|
||||
# 20| 2: [StringLiteralUtf16] "other"
|
||||
TargetType.cs:
|
||||
# 5| [Class] TargetType
|
||||
# 7| 5: [Method] M2
|
||||
@@ -1559,7 +1559,7 @@ UnaryPattern.cs:
|
||||
# 18| 0: [SwitchCaseExpr] ... => ...
|
||||
# 18| 0: [NotPatternExpr] not ...
|
||||
# 18| 0: [ConstantPatternExpr,IntLiteral] 1
|
||||
# 18| 2: [StringLiteral] "not 1"
|
||||
# 18| 2: [StringLiteralUtf16] "not 1"
|
||||
# 19| 1: [SwitchCaseExpr] ... => ...
|
||||
# 19| 0: [DiscardPatternExpr] _
|
||||
# 19| 2: [StringLiteral] "other"
|
||||
# 19| 2: [StringLiteralUtf16] "other"
|
||||
|
||||
@@ -198,7 +198,7 @@ definitions.cs:
|
||||
# 84| -1: [PropertyCall] access to property Now
|
||||
# 84| -1: [TypeAccess] access to type DateTime
|
||||
# 84| 0: [TypeMention] DateTime
|
||||
# 84| 0: [StringLiteral] "HH:mm:ss"
|
||||
# 84| 0: [StringLiteralUtf16] "HH:mm:ss"
|
||||
# 86| 1: [SpecificCatchClause] catch (...) {...}
|
||||
# 86| 0: [LocalVariableDeclExpr] Exception e
|
||||
# 86| 0: [TypeMention] Exception
|
||||
|
||||
@@ -245,7 +245,7 @@ delegates.cs:
|
||||
# 79| 0: [IntLiteral] 3
|
||||
# 79| 1: [DelegateCall] delegate call
|
||||
# 79| -1: [LocalVariableAccess] access to local variable ps
|
||||
# 79| 0: [StringLiteral] ""
|
||||
# 79| 0: [StringLiteralUtf16] ""
|
||||
# 81| 16: [LocalVariableDeclStmt] ... ...;
|
||||
# 81| 0: [LocalVariableDeclExpr] ContextCallback d
|
||||
# 81| 0: [TypeMention] ContextCallback
|
||||
|
||||
@@ -61,14 +61,14 @@ dynamic.cs:
|
||||
# 18| -1: [TypeMention] KeyValuePair<string, dynamic>
|
||||
# 18| 1: [TypeMention] string
|
||||
# 18| 2: [TypeMention] dynamic
|
||||
# 18| 0: [StringLiteral] ""
|
||||
# 18| 0: [StringLiteralUtf16] ""
|
||||
# 18| 1: [LocalVariableAccess] access to local variable d
|
||||
# 19| 7: [ExprStmt] ...;
|
||||
# 19| 0: [DynamicObjectCreation] dynamic object creation of type KeyValuePair<String,dynamic>
|
||||
# 19| -1: [TypeMention] KeyValuePair<string, dynamic>
|
||||
# 19| 1: [TypeMention] string
|
||||
# 19| 2: [TypeMention] dynamic
|
||||
# 19| 0: [StringLiteral] ""
|
||||
# 19| 0: [StringLiteralUtf16] ""
|
||||
# 19| 1: [LocalVariableAccess] access to local variable d
|
||||
# 22| 8: [ExprStmt] ...;
|
||||
# 22| 0: [ObjectCreation] object creation of type DynamicTest
|
||||
@@ -86,14 +86,14 @@ dynamic.cs:
|
||||
# 26| 10: [ExprStmt] ...;
|
||||
# 26| 0: [DynamicMethodCall] dynamic call to method Bar
|
||||
# 26| -1: [LocalVariableAccess] access to local variable d
|
||||
# 26| 0: [StringLiteral] ""
|
||||
# 26| 0: [StringLiteralUtf16] ""
|
||||
# 27| 11: [ExprStmt] ...;
|
||||
# 27| 0: [DynamicMethodCall] dynamic call to method Foo
|
||||
# 27| 0: [LocalVariableAccess] access to local variable d
|
||||
# 30| 12: [ExprStmt] ...;
|
||||
# 30| 0: [MethodCall] call to method Bar
|
||||
# 30| -1: [LocalVariableAccess] access to local variable dt
|
||||
# 30| 0: [StringLiteral] ""
|
||||
# 30| 0: [StringLiteralUtf16] ""
|
||||
# 31| 13: [ExprStmt] ...;
|
||||
# 31| 0: [MethodCall] call to method Foo
|
||||
# 31| 0: [IntLiteral] 0
|
||||
|
||||
@@ -84,7 +84,7 @@ enums.cs:
|
||||
# 58| 0: [MethodCall] call to method Format
|
||||
# 58| -1: [TypeAccess] access to type String
|
||||
# 58| 0: [TypeMention] string
|
||||
# 58| 0: [StringLiteral] "Red = {0}"
|
||||
# 58| 0: [StringLiteralUtf16] "Red = {0}"
|
||||
# 58| 1: [CastExpr] (...) ...
|
||||
# 58| 1: [CastExpr] (...) ...
|
||||
# 58| 0: [TypeAccess] access to type Int32
|
||||
@@ -98,7 +98,7 @@ enums.cs:
|
||||
# 59| 0: [MethodCall] call to method Format
|
||||
# 59| -1: [TypeAccess] access to type String
|
||||
# 59| 0: [TypeMention] string
|
||||
# 59| 0: [StringLiteral] "Green = {0}"
|
||||
# 59| 0: [StringLiteralUtf16] "Green = {0}"
|
||||
# 59| 1: [CastExpr] (...) ...
|
||||
# 59| 1: [CastExpr] (...) ...
|
||||
# 59| 0: [TypeAccess] access to type Int32
|
||||
@@ -112,7 +112,7 @@ enums.cs:
|
||||
# 60| 0: [MethodCall] call to method Format
|
||||
# 60| -1: [TypeAccess] access to type String
|
||||
# 60| 0: [TypeMention] string
|
||||
# 60| 0: [StringLiteral] "Blue = {0}"
|
||||
# 60| 0: [StringLiteralUtf16] "Blue = {0}"
|
||||
# 60| 1: [CastExpr] (...) ...
|
||||
# 60| 1: [CastExpr] (...) ...
|
||||
# 60| 0: [TypeAccess] access to type Int32
|
||||
@@ -120,4 +120,4 @@ enums.cs:
|
||||
# 60| 1: [ParameterAccess] access to parameter c
|
||||
# 61| 6: [DefaultCase] default:
|
||||
# 61| 7: [ReturnStmt] return ...;
|
||||
# 61| 0: [StringLiteral] "Invalid color"
|
||||
# 61| 0: [StringLiteralUtf16] "Invalid color"
|
||||
|
||||
@@ -230,7 +230,7 @@ exceptions.cs:
|
||||
# 193| 0: [LocalVariableDeclAndInitExpr] String v = ...
|
||||
# 193| -1: [TypeMention] string
|
||||
# 193| 0: [LocalVariableAccess] access to local variable v
|
||||
# 193| 1: [StringLiteral] ""
|
||||
# 193| 1: [StringLiteralUtf16] ""
|
||||
# 195| 1: [SpecificCatchClause] catch (...) {...}
|
||||
# 195| 0: [LocalVariableDeclExpr] NullReferenceException ex
|
||||
# 195| 0: [TypeMention] NullReferenceException
|
||||
@@ -265,7 +265,7 @@ exceptions.cs:
|
||||
# 221| 0: [LocalVariableDeclAndInitExpr] String s = ...
|
||||
# 221| -1: [TypeMention] string
|
||||
# 221| 0: [LocalVariableAccess] access to local variable s
|
||||
# 221| 1: [StringLiteral] ""
|
||||
# 221| 1: [StringLiteralUtf16] ""
|
||||
# 222| 1: [EmptyStmt] ;
|
||||
# 223| 2: [LocalVariableDeclStmt] ... ...;
|
||||
# 223| 0: [LocalVariableDeclAndInitExpr] String v = ...
|
||||
|
||||
@@ -508,7 +508,7 @@ expressions.cs:
|
||||
# 32| 20: [ExprStmt] ...;
|
||||
# 32| 0: [AssignExpr] ... = ...
|
||||
# 32| 0: [LocalVariableAccess] access to local variable s
|
||||
# 32| 1: [StringLiteral] "test"
|
||||
# 32| 1: [StringLiteralUtf16] "test"
|
||||
# 33| 21: [LocalVariableDeclStmt] ... ...;
|
||||
# 33| 0: [LocalVariableDeclExpr] Object o
|
||||
# 33| 0: [TypeMention] object
|
||||
@@ -552,7 +552,7 @@ expressions.cs:
|
||||
# 44| -1: [TypeMention] string
|
||||
# 44| 1: [AssignExpr] ... = ...
|
||||
# 44| 0: [MemberConstantAccess] access to constant constant
|
||||
# 44| 1: [StringLiteral] "constant"
|
||||
# 44| 1: [StringLiteralUtf16] "constant"
|
||||
# 45| 7: [Field] f
|
||||
# 45| -1: [TypeMention] int
|
||||
# 45| 1: [AssignExpr] ... = ...
|
||||
@@ -567,7 +567,7 @@ expressions.cs:
|
||||
# 51| 0: [FieldAccess] access to field name
|
||||
# 51| -1: [TypeAccess] access to type Class
|
||||
# 51| 0: [TypeMention] Class
|
||||
# 51| 1: [StringLiteral] ""
|
||||
# 51| 1: [StringLiteralUtf16] ""
|
||||
# 52| 1: [ExprStmt] ...;
|
||||
# 52| 0: [MethodCall] call to method Foo
|
||||
# 52| -1: [TypeAccess] access to type Class
|
||||
@@ -632,7 +632,7 @@ expressions.cs:
|
||||
# 75| 1: [IntLiteral] 2
|
||||
# 75| 1: [MethodCall] call to method Equals
|
||||
# 75| -1: [ParameterAccess] access to parameter s
|
||||
# 75| 0: [StringLiteral] ""
|
||||
# 75| 0: [StringLiteralUtf16] ""
|
||||
# 76| 4: [Setter] set_Item
|
||||
#-----| 2: (Parameters)
|
||||
# 73| 0: [Parameter] i
|
||||
@@ -656,7 +656,7 @@ expressions.cs:
|
||||
# 81| 0: [ExprStmt] ...;
|
||||
# 81| 0: [AssignExpr] ... = ...
|
||||
# 81| 0: [PropertyCall] access to property Name
|
||||
# 81| 1: [StringLiteral] "aName"
|
||||
# 81| 1: [StringLiteralUtf16] "aName"
|
||||
# 82| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 82| 0: [LocalVariableDeclAndInitExpr] String n = ...
|
||||
# 82| -1: [TypeMention] string
|
||||
@@ -690,7 +690,7 @@ expressions.cs:
|
||||
# 85| 1: [IndexerCall] access to indexer
|
||||
# 85| -1: [ThisAccess] this access
|
||||
# 85| 0: [IntLiteral] 0
|
||||
# 85| 1: [StringLiteral] ""
|
||||
# 85| 1: [StringLiteralUtf16] ""
|
||||
# 86| 5: [LocalVariableDeclStmt] ... ...;
|
||||
# 86| 0: [LocalVariableDeclAndInitExpr] Int32[] array = ...
|
||||
# 86| -1: [TypeMention] Int32[]
|
||||
@@ -771,7 +771,7 @@ expressions.cs:
|
||||
# 100| 1: [AddExpr] ... + ...
|
||||
# 100| 0: [AddExpr] ... + ...
|
||||
# 100| 0: [ParameterAccess] access to parameter s
|
||||
# 100| 1: [StringLiteral] " "
|
||||
# 100| 1: [StringLiteralUtf16] " "
|
||||
# 100| 1: [CastExpr] (...) ...
|
||||
# 100| 1: [LocalVariableAccess] access to local variable i
|
||||
# 103| 18: [Class] Y<,>
|
||||
@@ -873,7 +873,7 @@ expressions.cs:
|
||||
# 138| 1: [IntLiteral] 3
|
||||
# 138| 4: [CastExpr] (...) ...
|
||||
# 138| 1: [IntLiteral] 4
|
||||
# 138| 5: [StringLiteral] ""
|
||||
# 138| 5: [StringLiteralUtf16] ""
|
||||
# 143| 22: [Method] MainLocalVarDecl
|
||||
# 143| -1: [TypeMention] Void
|
||||
# 144| 4: [BlockStmt] {...}
|
||||
@@ -911,7 +911,7 @@ expressions.cs:
|
||||
# 150| 0: [LocalVariableDeclAndInitExpr] String y = ...
|
||||
# 150| -1: [TypeMention] string
|
||||
# 150| 0: [LocalVariableAccess] access to local variable y
|
||||
# 150| 1: [StringLiteral] "test"
|
||||
# 150| 1: [StringLiteralUtf16] "test"
|
||||
# 153| 23: [Method] MainLocalConstDecl
|
||||
# 153| -1: [TypeMention] Void
|
||||
# 154| 4: [BlockStmt] {...}
|
||||
@@ -1088,7 +1088,7 @@ expressions.cs:
|
||||
# 192| 0: [IntLiteral] 3
|
||||
# 192| 1: [DelegateCall] delegate call
|
||||
# 192| -1: [LocalVariableAccess] access to local variable ps
|
||||
# 192| 0: [StringLiteral] ""
|
||||
# 192| 0: [StringLiteralUtf16] ""
|
||||
# 194| 16: [LocalVariableDeclStmt] ... ...;
|
||||
# 194| 0: [LocalVariableDeclExpr] ContextCallback d
|
||||
# 194| 0: [TypeMention] ContextCallback
|
||||
@@ -1648,26 +1648,26 @@ expressions.cs:
|
||||
# 400| -1: [ObjectInitializer] { ..., ... }
|
||||
# 401| 0: [MemberInitializer] ... = ...
|
||||
# 401| 0: [PropertyCall] access to property Name
|
||||
# 401| 1: [StringLiteral] "Chris Smith"
|
||||
# 401| 1: [StringLiteralUtf16] "Chris Smith"
|
||||
# 402| 1: [MemberInitializer] ... = ...
|
||||
# 402| 0: [PropertyCall] access to property PhoneNumbers
|
||||
# 402| 1: [CollectionInitializer] { ..., ... }
|
||||
# 402| 0: [ElementInitializer] call to method Add
|
||||
# 402| 0: [StringLiteral] "206-555-0101"
|
||||
# 402| 0: [StringLiteralUtf16] "206-555-0101"
|
||||
# 402| 1: [ElementInitializer] call to method Add
|
||||
# 402| 0: [StringLiteral] "425-882-8080"
|
||||
# 402| 0: [StringLiteralUtf16] "425-882-8080"
|
||||
# 404| 1: [ElementInitializer] call to method Add
|
||||
# 404| 0: [ObjectCreation] object creation of type Contact
|
||||
# 404| -2: [TypeMention] Contact
|
||||
# 404| -1: [ObjectInitializer] { ..., ... }
|
||||
# 405| 0: [MemberInitializer] ... = ...
|
||||
# 405| 0: [PropertyCall] access to property Name
|
||||
# 405| 1: [StringLiteral] "Bob Harris"
|
||||
# 405| 1: [StringLiteralUtf16] "Bob Harris"
|
||||
# 406| 1: [MemberInitializer] ... = ...
|
||||
# 406| 0: [PropertyCall] access to property PhoneNumbers
|
||||
# 406| 1: [CollectionInitializer] { ..., ... }
|
||||
# 406| 0: [ElementInitializer] call to method Add
|
||||
# 406| 0: [StringLiteral] "650-555-0199"
|
||||
# 406| 0: [StringLiteralUtf16] "650-555-0199"
|
||||
# 409| 5: [LocalVariableDeclStmt] ... ...;
|
||||
# 409| 0: [LocalVariableDeclAndInitExpr] Int32[,] is1 = ...
|
||||
# 409| -1: [TypeMention] Int32[,]
|
||||
@@ -1752,11 +1752,11 @@ expressions.cs:
|
||||
# 415| 1: [ArrayCreation] array creation of type String[,]
|
||||
# 415| -1: [ArrayInitializer] { ..., ... }
|
||||
# 415| 0: [ArrayInitializer] { ..., ... }
|
||||
# 415| 0: [StringLiteral] "hello"
|
||||
# 415| 0: [StringLiteralUtf16] "hello"
|
||||
# 415| 1: [NullLiteral] null
|
||||
# 415| 1: [ArrayInitializer] { ..., ... }
|
||||
# 415| 0: [StringLiteral] "world"
|
||||
# 415| 1: [StringLiteral] "!"
|
||||
# 415| 0: [StringLiteralUtf16] "world"
|
||||
# 415| 1: [StringLiteralUtf16] "!"
|
||||
# 416| 12: [LocalVariableDeclStmt] ... ...;
|
||||
# 416| 0: [LocalVariableDeclAndInitExpr] <>__AnonType0<String,String[]>[] contacts2 = ...
|
||||
# 416| -1: [TypeMention] <>__AnonType0<String,String[]>[]
|
||||
@@ -1767,23 +1767,23 @@ expressions.cs:
|
||||
# 417| -1: [ObjectInitializer] { ..., ... }
|
||||
# 418| 0: [MemberInitializer] ... = ...
|
||||
# 418| 0: [PropertyCall] access to property Name
|
||||
# 418| 1: [StringLiteral] "Chris Smith"
|
||||
# 418| 1: [StringLiteralUtf16] "Chris Smith"
|
||||
# 419| 1: [MemberInitializer] ... = ...
|
||||
# 419| 0: [PropertyCall] access to property PhoneNumbers
|
||||
# 419| 1: [ArrayCreation] array creation of type String[]
|
||||
# 419| -1: [ArrayInitializer] { ..., ... }
|
||||
# 419| 0: [StringLiteral] "206-555-0101"
|
||||
# 419| 1: [StringLiteral] "425-882-8080"
|
||||
# 419| 0: [StringLiteralUtf16] "206-555-0101"
|
||||
# 419| 1: [StringLiteralUtf16] "425-882-8080"
|
||||
# 421| 1: [AnonymousObjectCreation] object creation of type <>__AnonType0<String,String[]>
|
||||
# 421| -1: [ObjectInitializer] { ..., ... }
|
||||
# 422| 0: [MemberInitializer] ... = ...
|
||||
# 422| 0: [PropertyCall] access to property Name
|
||||
# 422| 1: [StringLiteral] "Bob Harris"
|
||||
# 422| 1: [StringLiteralUtf16] "Bob Harris"
|
||||
# 423| 1: [MemberInitializer] ... = ...
|
||||
# 423| 0: [PropertyCall] access to property PhoneNumbers
|
||||
# 423| 1: [ArrayCreation] array creation of type String[]
|
||||
# 423| -1: [ArrayInitializer] { ..., ... }
|
||||
# 423| 0: [StringLiteral] "650-555-0199"
|
||||
# 423| 0: [StringLiteralUtf16] "650-555-0199"
|
||||
# 426| 13: [LocalVariableDeclStmt] ... ...;
|
||||
# 426| 0: [LocalVariableDeclAndInitExpr] Int32 i = ...
|
||||
# 426| -1: [TypeMention] int
|
||||
@@ -2056,7 +2056,7 @@ expressions.cs:
|
||||
# 452| 0: [AddExpr] ... + ...
|
||||
# 452| 0: [CastExpr] (...) ...
|
||||
# 452| 1: [ParameterAccess] access to parameter x
|
||||
# 452| 1: [StringLiteral] ""
|
||||
# 452| 1: [StringLiteralUtf16] ""
|
||||
# 453| 4: [LocalVariableDeclStmt] ... ...;
|
||||
# 453| 0: [LocalVariableDeclAndInitExpr] S f5 = ...
|
||||
# 453| -1: [TypeMention] S
|
||||
|
||||
@@ -65,7 +65,7 @@ fields.cs:
|
||||
# 37| -1: [TypeMention] string
|
||||
# 37| 1: [AssignExpr] ... = ...
|
||||
# 37| 0: [FieldAccess] access to field s
|
||||
# 37| 1: [StringLiteral] "Hello"
|
||||
# 37| 1: [StringLiteralUtf16] "Hello"
|
||||
# 39| 10: [Method] Main
|
||||
# 39| -1: [TypeMention] Void
|
||||
# 40| 4: [BlockStmt] {...}
|
||||
|
||||
@@ -99,7 +99,7 @@ Nesting.cs:
|
||||
# 28| 0: [MethodCall] call to method MA2<String>
|
||||
# 28| -1: [LocalVariableAccess] access to local variable a1
|
||||
# 28| 0: [IntLiteral] 0
|
||||
# 28| 1: [StringLiteral] ""
|
||||
# 28| 1: [StringLiteralUtf16] ""
|
||||
# 30| 3: [LocalVariableDeclStmt] ... ...;
|
||||
# 30| 0: [LocalVariableDeclAndInitExpr] A<String> a2 = ...
|
||||
# 30| -1: [TypeMention] A<string>
|
||||
@@ -110,11 +110,11 @@ Nesting.cs:
|
||||
# 31| 4: [ExprStmt] ...;
|
||||
# 31| 0: [MethodCall] call to method MA1
|
||||
# 31| -1: [LocalVariableAccess] access to local variable a2
|
||||
# 31| 0: [StringLiteral] ""
|
||||
# 31| 0: [StringLiteralUtf16] ""
|
||||
# 32| 5: [ExprStmt] ...;
|
||||
# 32| 0: [MethodCall] call to method MA2<Int32>
|
||||
# 32| -1: [LocalVariableAccess] access to local variable a2
|
||||
# 32| 0: [StringLiteral] ""
|
||||
# 32| 0: [StringLiteralUtf16] ""
|
||||
# 32| 1: [IntLiteral] 0
|
||||
# 34| 6: [LocalVariableDeclStmt] ... ...;
|
||||
# 34| 0: [LocalVariableDeclAndInitExpr] B<String> b1 = ...
|
||||
@@ -129,12 +129,12 @@ Nesting.cs:
|
||||
# 35| 0: [MethodCall] call to method MB1
|
||||
# 35| -1: [LocalVariableAccess] access to local variable b1
|
||||
# 35| 0: [IntLiteral] 0
|
||||
# 35| 1: [StringLiteral] ""
|
||||
# 35| 1: [StringLiteralUtf16] ""
|
||||
# 36| 8: [ExprStmt] ...;
|
||||
# 36| 0: [MethodCall] call to method MB2<Boolean>
|
||||
# 36| -1: [LocalVariableAccess] access to local variable b1
|
||||
# 36| 0: [IntLiteral] 0
|
||||
# 36| 1: [StringLiteral] ""
|
||||
# 36| 1: [StringLiteralUtf16] ""
|
||||
# 36| 2: [BoolLiteral] false
|
||||
# 38| 9: [LocalVariableDeclStmt] ... ...;
|
||||
# 38| 0: [LocalVariableDeclAndInitExpr] B<Int32> b2 = ...
|
||||
@@ -148,12 +148,12 @@ Nesting.cs:
|
||||
# 39| 10: [ExprStmt] ...;
|
||||
# 39| 0: [MethodCall] call to method MB1
|
||||
# 39| -1: [LocalVariableAccess] access to local variable b2
|
||||
# 39| 0: [StringLiteral] ""
|
||||
# 39| 0: [StringLiteralUtf16] ""
|
||||
# 39| 1: [IntLiteral] 0
|
||||
# 40| 11: [ExprStmt] ...;
|
||||
# 40| 0: [MethodCall] call to method MB2<Boolean>
|
||||
# 40| -1: [LocalVariableAccess] access to local variable b2
|
||||
# 40| 0: [StringLiteral] ""
|
||||
# 40| 0: [StringLiteralUtf16] ""
|
||||
# 40| 1: [IntLiteral] 0
|
||||
# 40| 2: [BoolLiteral] false
|
||||
# 42| 12: [LocalVariableDeclStmt] ... ...;
|
||||
@@ -184,11 +184,11 @@ Nesting.cs:
|
||||
# 47| 16: [ExprStmt] ...;
|
||||
# 47| 0: [MethodCall] call to method MC1
|
||||
# 47| -1: [LocalVariableAccess] access to local variable c2
|
||||
# 47| 0: [StringLiteral] ""
|
||||
# 47| 0: [StringLiteralUtf16] ""
|
||||
# 48| 17: [ExprStmt] ...;
|
||||
# 48| 0: [MethodCall] call to method MC2<Boolean>
|
||||
# 48| -1: [LocalVariableAccess] access to local variable c2
|
||||
# 48| 0: [StringLiteral] ""
|
||||
# 48| 0: [StringLiteralUtf16] ""
|
||||
# 48| 1: [BoolLiteral] false
|
||||
# 50| 18: [LocalVariableDeclStmt] ... ...;
|
||||
# 50| 0: [LocalVariableDeclAndInitExpr] D<Boolean> d1 = ...
|
||||
@@ -210,7 +210,7 @@ Nesting.cs:
|
||||
# 52| -1: [LocalVariableAccess] access to local variable d1
|
||||
# 52| 0: [IntLiteral] 0
|
||||
# 52| 1: [BoolLiteral] false
|
||||
# 52| 2: [StringLiteral] ""
|
||||
# 52| 2: [StringLiteralUtf16] ""
|
||||
# 54| 21: [LocalVariableDeclStmt] ... ...;
|
||||
# 54| 0: [LocalVariableDeclAndInitExpr] D<Decimal> d2 = ...
|
||||
# 54| -1: [TypeMention] D<decimal>
|
||||
@@ -224,12 +224,12 @@ Nesting.cs:
|
||||
# 55| 22: [ExprStmt] ...;
|
||||
# 55| 0: [MethodCall] call to method MD1
|
||||
# 55| -1: [LocalVariableAccess] access to local variable d2
|
||||
# 55| 0: [StringLiteral] ""
|
||||
# 55| 0: [StringLiteralUtf16] ""
|
||||
# 55| 1: [DecimalLiteral] 0
|
||||
# 56| 23: [ExprStmt] ...;
|
||||
# 56| 0: [MethodCall] call to method MD2<Boolean>
|
||||
# 56| -1: [LocalVariableAccess] access to local variable d2
|
||||
# 56| 0: [StringLiteral] ""
|
||||
# 56| 0: [StringLiteralUtf16] ""
|
||||
# 56| 1: [DecimalLiteral] 0
|
||||
# 56| 2: [BoolLiteral] false
|
||||
generics.cs:
|
||||
@@ -532,8 +532,8 @@ generics.cs:
|
||||
# 113| 3: [ExprStmt] ...;
|
||||
# 113| 0: [MethodCall] call to method fooParams
|
||||
# 113| -1: [LocalVariableAccess] access to local variable bs
|
||||
# 113| 0: [StringLiteral] "a"
|
||||
# 113| 1: [StringLiteral] "b"
|
||||
# 113| 0: [StringLiteralUtf16] "a"
|
||||
# 113| 1: [StringLiteralUtf16] "b"
|
||||
# 115| 4: [ExprStmt] ...;
|
||||
# 115| 0: [MethodCall] call to method staticFoo
|
||||
# 115| -1: [TypeAccess] access to type B<Object>
|
||||
@@ -543,7 +543,7 @@ generics.cs:
|
||||
# 117| 0: [AssignExpr] ... = ...
|
||||
# 117| 0: [PropertyCall] access to property Name
|
||||
# 117| -1: [LocalVariableAccess] access to local variable bs
|
||||
# 117| 1: [StringLiteral] ""
|
||||
# 117| 1: [StringLiteralUtf16] ""
|
||||
# 118| 6: [ExprStmt] ...;
|
||||
# 118| 0: [AddEventExpr] ... += ...
|
||||
# 118| 0: [EventAccess,EventCall] access to event myEvent
|
||||
@@ -594,7 +594,7 @@ generics.cs:
|
||||
# 125| 3: [TypeMention] string
|
||||
# 125| 0: [DoubleLiteral] 1
|
||||
# 125| 1: [IntLiteral] 2
|
||||
# 125| 2: [StringLiteral] "3"
|
||||
# 125| 2: [StringLiteralUtf16] "3"
|
||||
# 125| 3: [BoolLiteral] true
|
||||
# 127| 12: [ExprStmt] ...;
|
||||
# 127| 0: [MethodCall] call to method bar<Int32>
|
||||
@@ -602,7 +602,7 @@ generics.cs:
|
||||
# 127| 0: [TypeMention] A<string>
|
||||
# 127| 1: [TypeMention] string
|
||||
# 127| 0: [IntLiteral] 2
|
||||
# 127| 1: [StringLiteral] ""
|
||||
# 127| 1: [StringLiteralUtf16] ""
|
||||
# 128| 13: [ExprStmt] ...;
|
||||
# 128| 0: [MethodCall] call to method bar<Test>
|
||||
# 128| -1: [ObjectCreation] object creation of type A<Int32>
|
||||
|
||||
@@ -11,29 +11,29 @@ goto.cs:
|
||||
# 9| 0: [LocalVariableDeclAndInitExpr] String s = ...
|
||||
# 9| -1: [TypeMention] string
|
||||
# 9| 0: [LocalVariableAccess] access to local variable s
|
||||
# 9| 1: [StringLiteral] "5"
|
||||
# 9| 1: [StringLiteralUtf16] "5"
|
||||
# 10| 3: [SwitchStmt] switch (...) {...}
|
||||
# 10| 0: [LocalVariableAccess] access to local variable s
|
||||
# 12| 0: [ConstCase] case ...:
|
||||
# 12| 0: [ConstantPatternExpr,NullLiteral] null
|
||||
# 12| 1: [LabelStmt] s3:
|
||||
# 12| 2: [GotoCaseStmt] goto case ...;
|
||||
# 12| 0: [StringLiteral] "1"
|
||||
# 12| 0: [StringLiteralUtf16] "1"
|
||||
# 13| 3: [ConstCase] case ...:
|
||||
# 13| 0: [ConstantPatternExpr,StringLiteral] "1"
|
||||
# 13| 0: [ConstantPatternExpr,StringLiteralUtf16] "1"
|
||||
# 13| 4: [LabelStmt] s4:
|
||||
# 13| 5: [GotoCaseStmt] goto case ...;
|
||||
# 13| 0: [StringLiteral] "2"
|
||||
# 13| 0: [StringLiteralUtf16] "2"
|
||||
# 14| 6: [ConstCase] case ...:
|
||||
# 14| 0: [ConstantPatternExpr,StringLiteral] "2"
|
||||
# 14| 0: [ConstantPatternExpr,StringLiteralUtf16] "2"
|
||||
# 14| 7: [LabelStmt] s5:
|
||||
# 14| 8: [GotoLabelStmt] goto ...;
|
||||
# 15| 9: [ConstCase] case ...:
|
||||
# 15| 0: [ConstantPatternExpr,StringLiteral] "3"
|
||||
# 15| 0: [ConstantPatternExpr,StringLiteralUtf16] "3"
|
||||
# 15| 10: [LabelStmt] s6:
|
||||
# 15| 11: [GotoDefaultStmt] goto default;
|
||||
# 16| 12: [ConstCase] case ...:
|
||||
# 16| 0: [ConstantPatternExpr,StringLiteral] "4"
|
||||
# 16| 0: [ConstantPatternExpr,StringLiteralUtf16] "4"
|
||||
# 16| 13: [LabelStmt] s7:
|
||||
# 16| 14: [BreakStmt] break;
|
||||
# 17| 15: [DefaultCase] default:
|
||||
|
||||
@@ -206,7 +206,7 @@ indexers.cs:
|
||||
# 76| 0: [MethodCall] call to method WriteLine
|
||||
# 76| -1: [TypeAccess] access to type Console
|
||||
# 76| 0: [TypeMention] Console
|
||||
# 76| 0: [StringLiteral] "Found {0} primes between 1 and {1}"
|
||||
# 76| 0: [StringLiteralUtf16] "Found {0} primes between 1 and {1}"
|
||||
# 76| 1: [CastExpr] (...) ...
|
||||
# 76| 1: [LocalVariableAccess] access to local variable count
|
||||
# 76| 2: [CastExpr] (...) ...
|
||||
|
||||
@@ -42,7 +42,7 @@ methods.cs:
|
||||
# 21| 0: [MethodCall] call to method WriteLine
|
||||
# 21| -1: [TypeAccess] access to type Console
|
||||
# 21| 0: [TypeMention] Console
|
||||
# 21| 0: [StringLiteral] "{0} {1}"
|
||||
# 21| 0: [StringLiteralUtf16] "{0} {1}"
|
||||
# 21| 1: [CastExpr] (...) ...
|
||||
# 21| 1: [LocalVariableAccess] access to local variable i
|
||||
# 21| 2: [CastExpr] (...) ...
|
||||
@@ -51,7 +51,7 @@ methods.cs:
|
||||
# 22| 0: [MethodCall] call to method WriteLine
|
||||
# 22| -1: [TypeAccess] access to type Console
|
||||
# 22| 0: [TypeMention] Console
|
||||
# 22| 0: [StringLiteral] "{0} {1}"
|
||||
# 22| 0: [StringLiteralUtf16] "{0} {1}"
|
||||
# 22| 1: [CastExpr] (...) ...
|
||||
# 22| 1: [LocalVariableAccess] access to local variable i
|
||||
# 22| 2: [CastExpr] (...) ...
|
||||
@@ -99,7 +99,7 @@ methods.cs:
|
||||
# 39| 0: [MethodCall] call to method WriteLine
|
||||
# 39| -1: [TypeAccess] access to type Console
|
||||
# 39| 0: [TypeMention] Console
|
||||
# 39| 0: [StringLiteral] "{0} {1}"
|
||||
# 39| 0: [StringLiteralUtf16] "{0} {1}"
|
||||
# 39| 1: [CastExpr] (...) ...
|
||||
# 39| 1: [LocalVariableAccess] access to local variable res
|
||||
# 39| 2: [CastExpr] (...) ...
|
||||
@@ -131,7 +131,7 @@ methods.cs:
|
||||
# 55| 0: [MethodCall] call to method WriteLine
|
||||
# 55| -1: [TypeAccess] access to type Console
|
||||
# 55| 0: [TypeMention] Console
|
||||
# 55| 0: [StringLiteral] "F()"
|
||||
# 55| 0: [StringLiteralUtf16] "F()"
|
||||
# 58| 6: [Method] F
|
||||
# 58| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
@@ -142,7 +142,7 @@ methods.cs:
|
||||
# 60| 0: [MethodCall] call to method WriteLine
|
||||
# 60| -1: [TypeAccess] access to type Console
|
||||
# 60| 0: [TypeMention] Console
|
||||
# 60| 0: [StringLiteral] "F(object)"
|
||||
# 60| 0: [StringLiteralUtf16] "F(object)"
|
||||
# 63| 7: [Method] F
|
||||
# 63| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
@@ -153,7 +153,7 @@ methods.cs:
|
||||
# 65| 0: [MethodCall] call to method WriteLine
|
||||
# 65| -1: [TypeAccess] access to type Console
|
||||
# 65| 0: [TypeMention] Console
|
||||
# 65| 0: [StringLiteral] "F(int)"
|
||||
# 65| 0: [StringLiteralUtf16] "F(int)"
|
||||
# 68| 8: [Method] F
|
||||
# 68| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
@@ -164,7 +164,7 @@ methods.cs:
|
||||
# 70| 0: [MethodCall] call to method WriteLine
|
||||
# 70| -1: [TypeAccess] access to type Console
|
||||
# 70| 0: [TypeMention] Console
|
||||
# 70| 0: [StringLiteral] "F(double)"
|
||||
# 70| 0: [StringLiteralUtf16] "F(double)"
|
||||
# 73| 9: [Method] F<>
|
||||
# 73| -1: [TypeMention] Void
|
||||
#-----| 1: (Type parameters)
|
||||
@@ -177,7 +177,7 @@ methods.cs:
|
||||
# 75| 0: [MethodCall] call to method WriteLine
|
||||
# 75| -1: [TypeAccess] access to type Console
|
||||
# 75| 0: [TypeMention] Console
|
||||
# 75| 0: [StringLiteral] "F<T>(T)"
|
||||
# 75| 0: [StringLiteralUtf16] "F<T>(T)"
|
||||
# 78| 12: [Method] F
|
||||
# 78| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
@@ -190,7 +190,7 @@ methods.cs:
|
||||
# 80| 0: [MethodCall] call to method WriteLine
|
||||
# 80| -1: [TypeAccess] access to type Console
|
||||
# 80| 0: [TypeMention] Console
|
||||
# 80| 0: [StringLiteral] "F(double, double)"
|
||||
# 80| 0: [StringLiteralUtf16] "F(double, double)"
|
||||
# 83| 13: [Method] Main
|
||||
# 83| -1: [TypeMention] Void
|
||||
# 84| 4: [BlockStmt] {...}
|
||||
@@ -204,7 +204,7 @@ methods.cs:
|
||||
# 87| 0: [DoubleLiteral] 1
|
||||
# 88| 3: [ExprStmt] ...;
|
||||
# 88| 0: [MethodCall] call to method F<String>
|
||||
# 88| 0: [StringLiteral] "abc"
|
||||
# 88| 0: [StringLiteralUtf16] "abc"
|
||||
# 89| 4: [ExprStmt] ...;
|
||||
# 89| 0: [MethodCall] call to method F
|
||||
# 89| 0: [CastExpr] (...) ...
|
||||
@@ -307,7 +307,7 @@ methods.cs:
|
||||
# 119| 8: [Method] CallToInt32
|
||||
# 119| -1: [TypeMention] int
|
||||
# 119| 4: [MethodCall] call to method ToInt32
|
||||
# 119| 0: [StringLiteral] "0"
|
||||
# 119| 0: [StringLiteralUtf16] "0"
|
||||
# 122| 6: [Class] TestExtensions
|
||||
# 125| 4: [Method] Main
|
||||
# 125| -1: [TypeMention] Void
|
||||
@@ -319,10 +319,10 @@ methods.cs:
|
||||
# 127| 0: [LocalVariableAccess] access to local variable strings
|
||||
# 127| 1: [ArrayCreation] array creation of type String[]
|
||||
# 127| -1: [ArrayInitializer] { ..., ... }
|
||||
# 127| 0: [StringLiteral] "1"
|
||||
# 127| 1: [StringLiteral] "22"
|
||||
# 127| 2: [StringLiteral] "333"
|
||||
# 127| 3: [StringLiteral] "4444"
|
||||
# 127| 0: [StringLiteralUtf16] "1"
|
||||
# 127| 1: [StringLiteralUtf16] "22"
|
||||
# 127| 2: [StringLiteralUtf16] "333"
|
||||
# 127| 3: [StringLiteralUtf16] "4444"
|
||||
# 128| 1: [ForeachStmt] foreach (... ... in ...) ...
|
||||
# 128| 0: [LocalVariableDeclExpr] String s
|
||||
# 128| 0: [TypeMention] string
|
||||
@@ -341,12 +341,12 @@ methods.cs:
|
||||
# 133| 0: [MethodCall] call to method ToInt32
|
||||
# 133| -1: [TypeAccess] access to type Extensions
|
||||
# 133| 0: [TypeMention] Extensions
|
||||
# 133| 0: [StringLiteral] ""
|
||||
# 133| 0: [StringLiteralUtf16] ""
|
||||
# 135| 3: [ExprStmt] ...;
|
||||
# 135| 0: [MethodCall] call to method ToBool
|
||||
# 135| -1: [TypeAccess] access to type Extensions
|
||||
# 135| 0: [TypeMention] Extensions
|
||||
# 135| 0: [StringLiteral] "true"
|
||||
# 135| 0: [StringLiteralUtf16] "true"
|
||||
# 135| 1: [ImplicitDelegateCreation] delegate creation of type Func<String,Boolean>
|
||||
# 135| 0: [MethodAccess] access to method Parse
|
||||
# 135| -1: [TypeAccess] access to type Boolean
|
||||
@@ -376,8 +376,8 @@ methods.cs:
|
||||
# 146| 4: [Parameter] e
|
||||
# 146| -1: [TypeMention] string
|
||||
# 146| 1: [AddExpr] ... + ...
|
||||
# 146| 0: [StringLiteral] "a"
|
||||
# 146| 1: [StringLiteral] "b"
|
||||
# 146| 0: [StringLiteralUtf16] "a"
|
||||
# 146| 1: [StringLiteralUtf16] "b"
|
||||
# 147| 4: [BlockStmt] {...}
|
||||
# 150| 6: [InstanceConstructor] TestDefaultParameters
|
||||
#-----| 2: (Parameters)
|
||||
@@ -388,7 +388,7 @@ methods.cs:
|
||||
#-----| 2: (Parameters)
|
||||
# 154| 0: [Parameter] x
|
||||
# 154| -1: [TypeMention] string
|
||||
# 154| 1: [StringLiteral] "abc"
|
||||
# 154| 1: [StringLiteralUtf16] "abc"
|
||||
# 154| 1: [Parameter] y
|
||||
# 154| -1: [TypeMention] double
|
||||
# 154| 1: [ObjectCreation] object creation of type Double
|
||||
|
||||
@@ -14,7 +14,7 @@ nestedtypes.cs:
|
||||
# 19| 0: [MethodCall] call to method WriteLine
|
||||
# 19| -1: [TypeAccess] access to type Console
|
||||
# 19| 0: [TypeMention] Console
|
||||
# 19| 0: [StringLiteral] "Base.F"
|
||||
# 19| 0: [StringLiteralUtf16] "Base.F"
|
||||
# 22| 9: [Class] C
|
||||
# 26| 2: [Class] Derived
|
||||
#-----| 3: (Base types)
|
||||
@@ -76,7 +76,7 @@ nestedtypes.cs:
|
||||
# 65| 0: [TypeMention] Outer<T>
|
||||
# 65| 1: [TypeMention] T
|
||||
# 65| 0: [ParameterAccess] access to parameter t
|
||||
# 65| 1: [StringLiteral] "abc"
|
||||
# 65| 1: [StringLiteralUtf16] "abc"
|
||||
# 68| 1: [ExprStmt] ...;
|
||||
# 68| 0: [MethodCall] call to method F
|
||||
# 68| -1: [TypeAccess] access to type Inner<String>
|
||||
@@ -86,7 +86,7 @@ nestedtypes.cs:
|
||||
# 68| 0: [TypeMention] Outer<int>
|
||||
# 68| 1: [TypeMention] int
|
||||
# 68| 0: [IntLiteral] 3
|
||||
# 68| 1: [StringLiteral] "abc"
|
||||
# 68| 1: [StringLiteralUtf16] "abc"
|
||||
# 69| 2: [LocalVariableDeclStmt] ... ...;
|
||||
# 69| 0: [LocalVariableDeclAndInitExpr] Type type = ...
|
||||
# 69| -1: [TypeMention] Type
|
||||
|
||||
@@ -35,7 +35,7 @@ properties.cs:
|
||||
# 29| 0: [AssignExpr] ... = ...
|
||||
# 29| 0: [PropertyCall] access to property Caption
|
||||
# 29| -1: [LocalVariableAccess] access to local variable okButton
|
||||
# 29| 1: [StringLiteral] "OK"
|
||||
# 29| 1: [StringLiteralUtf16] "OK"
|
||||
# 30| 2: [LocalVariableDeclStmt] ... ...;
|
||||
# 30| 0: [LocalVariableDeclAndInitExpr] String s = ...
|
||||
# 30| -1: [TypeMention] string
|
||||
|
||||
@@ -112,7 +112,7 @@ statements.cs:
|
||||
# 37| 0: [LocalVariableDeclAndInitExpr] String y = ...
|
||||
# 37| -1: [TypeMention] string
|
||||
# 37| 0: [LocalVariableAccess] access to local variable y
|
||||
# 37| 1: [StringLiteral] "test"
|
||||
# 37| 1: [StringLiteralUtf16] "test"
|
||||
# 40| 8: [Method] MainLocalConstDecl
|
||||
# 40| -1: [TypeMention] Void
|
||||
# 41| 4: [BlockStmt] {...}
|
||||
@@ -179,13 +179,13 @@ statements.cs:
|
||||
# 60| 0: [MethodCall] call to method WriteLine
|
||||
# 60| -1: [TypeAccess] access to type Console
|
||||
# 60| 0: [TypeMention] Console
|
||||
# 60| 0: [StringLiteral] "No arguments"
|
||||
# 60| 0: [StringLiteralUtf16] "No arguments"
|
||||
# 63| 2: [BlockStmt] {...}
|
||||
# 64| 0: [ExprStmt] ...;
|
||||
# 64| 0: [MethodCall] call to method WriteLine
|
||||
# 64| -1: [TypeAccess] access to type Console
|
||||
# 64| 0: [TypeMention] Console
|
||||
# 64| 0: [StringLiteral] "One or more arguments"
|
||||
# 64| 0: [StringLiteralUtf16] "One or more arguments"
|
||||
# 68| 11: [Method] MainSwitch
|
||||
# 68| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
@@ -207,7 +207,7 @@ statements.cs:
|
||||
# 74| 0: [MethodCall] call to method WriteLine
|
||||
# 74| -1: [TypeAccess] access to type Console
|
||||
# 74| 0: [TypeMention] Console
|
||||
# 74| 0: [StringLiteral] "No arguments"
|
||||
# 74| 0: [StringLiteralUtf16] "No arguments"
|
||||
# 75| 2: [BreakStmt] break;
|
||||
# 76| 3: [ConstCase] case ...:
|
||||
# 76| 0: [ConstantPatternExpr,IntLiteral] 1
|
||||
@@ -215,14 +215,14 @@ statements.cs:
|
||||
# 77| 0: [MethodCall] call to method WriteLine
|
||||
# 77| -1: [TypeAccess] access to type Console
|
||||
# 77| 0: [TypeMention] Console
|
||||
# 77| 0: [StringLiteral] "One argument"
|
||||
# 77| 0: [StringLiteralUtf16] "One argument"
|
||||
# 78| 5: [BreakStmt] break;
|
||||
# 79| 6: [DefaultCase] default:
|
||||
# 80| 7: [ExprStmt] ...;
|
||||
# 80| 0: [MethodCall] call to method WriteLine
|
||||
# 80| -1: [TypeAccess] access to type Console
|
||||
# 80| 0: [TypeMention] Console
|
||||
# 80| 0: [StringLiteral] "{0} arguments"
|
||||
# 80| 0: [StringLiteralUtf16] "{0} arguments"
|
||||
# 80| 1: [CastExpr] (...) ...
|
||||
# 80| 1: [LocalVariableAccess] access to local variable n
|
||||
# 81| 8: [BreakStmt] break;
|
||||
@@ -235,37 +235,37 @@ statements.cs:
|
||||
# 87| 0: [SwitchStmt] switch (...) {...}
|
||||
# 87| 0: [ParameterAccess] access to parameter foo
|
||||
# 89| 0: [ConstCase] case ...:
|
||||
# 89| 0: [ConstantPatternExpr,StringLiteral] "black"
|
||||
# 89| 0: [ConstantPatternExpr,StringLiteralUtf16] "black"
|
||||
# 90| 1: [ReturnStmt] return ...;
|
||||
# 90| 0: [IntLiteral] 0
|
||||
# 91| 2: [ConstCase] case ...:
|
||||
# 91| 0: [ConstantPatternExpr,StringLiteral] "red"
|
||||
# 91| 0: [ConstantPatternExpr,StringLiteralUtf16] "red"
|
||||
# 92| 3: [ReturnStmt] return ...;
|
||||
# 92| 0: [IntLiteral] 1
|
||||
# 93| 4: [ConstCase] case ...:
|
||||
# 93| 0: [ConstantPatternExpr,StringLiteral] "green"
|
||||
# 93| 0: [ConstantPatternExpr,StringLiteralUtf16] "green"
|
||||
# 94| 5: [ReturnStmt] return ...;
|
||||
# 94| 0: [IntLiteral] 2
|
||||
# 95| 6: [ConstCase] case ...:
|
||||
# 95| 0: [ConstantPatternExpr,StringLiteral] "yellow"
|
||||
# 95| 0: [ConstantPatternExpr,StringLiteralUtf16] "yellow"
|
||||
# 96| 7: [ReturnStmt] return ...;
|
||||
# 96| 0: [IntLiteral] 3
|
||||
# 97| 8: [ConstCase] case ...:
|
||||
# 97| 0: [ConstantPatternExpr,StringLiteral] "blue"
|
||||
# 97| 0: [ConstantPatternExpr,StringLiteralUtf16] "blue"
|
||||
# 98| 9: [ReturnStmt] return ...;
|
||||
# 98| 0: [IntLiteral] 4
|
||||
# 99| 10: [ConstCase] case ...:
|
||||
# 99| 0: [ConstantPatternExpr,StringLiteral] "magenta"
|
||||
# 99| 0: [ConstantPatternExpr,StringLiteralUtf16] "magenta"
|
||||
# 100| 11: [ReturnStmt] return ...;
|
||||
# 100| 0: [IntLiteral] 5
|
||||
# 101| 12: [ConstCase] case ...:
|
||||
# 101| 0: [ConstantPatternExpr,StringLiteral] "cyan"
|
||||
# 101| 0: [ConstantPatternExpr,StringLiteralUtf16] "cyan"
|
||||
# 102| 13: [ReturnStmt] return ...;
|
||||
# 102| 0: [IntLiteral] 6
|
||||
# 103| 14: [ConstCase] case ...:
|
||||
# 103| 0: [ConstantPatternExpr,StringLiteral] "grey"
|
||||
# 103| 0: [ConstantPatternExpr,StringLiteralUtf16] "grey"
|
||||
# 104| 15: [ConstCase] case ...:
|
||||
# 104| 0: [ConstantPatternExpr,StringLiteral] "white"
|
||||
# 104| 0: [ConstantPatternExpr,StringLiteralUtf16] "white"
|
||||
# 105| 16: [ReturnStmt] return ...;
|
||||
# 105| 0: [IntLiteral] 7
|
||||
# 107| 1: [ReturnStmt] return ...;
|
||||
@@ -414,7 +414,7 @@ statements.cs:
|
||||
# 160| -1: [ArrayAccess] access to array element
|
||||
# 160| -1: [ParameterAccess] access to parameter args
|
||||
# 160| 0: [LocalVariableAccess] access to local variable i
|
||||
# 160| 0: [StringLiteral] "/"
|
||||
# 160| 0: [StringLiteralUtf16] "/"
|
||||
# 160| 1: [ContinueStmt] continue;
|
||||
# 161| 1: [ExprStmt] ...;
|
||||
# 161| 0: [MethodCall] call to method WriteLine
|
||||
@@ -547,7 +547,7 @@ statements.cs:
|
||||
# 226| 0: [MethodCall] call to method WriteLine
|
||||
# 226| -1: [TypeAccess] access to type Console
|
||||
# 226| 0: [TypeMention] Console
|
||||
# 226| 0: [StringLiteral] "Good bye!"
|
||||
# 226| 0: [StringLiteralUtf16] "Good bye!"
|
||||
# 207| 0: [BlockStmt] {...}
|
||||
# 208| 0: [IfStmt] if (...) ...
|
||||
# 208| 0: [NEExpr] ... != ...
|
||||
@@ -558,7 +558,7 @@ statements.cs:
|
||||
# 210| 0: [ThrowStmt] throw ...;
|
||||
# 210| 0: [ObjectCreation] object creation of type Exception
|
||||
# 210| -1: [TypeMention] Exception
|
||||
# 210| 0: [StringLiteral] "Two numbers required"
|
||||
# 210| 0: [StringLiteralUtf16] "Two numbers required"
|
||||
# 212| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 212| 0: [LocalVariableDeclAndInitExpr] Double x = ...
|
||||
# 212| -1: [TypeMention] double
|
||||
@@ -602,7 +602,7 @@ statements.cs:
|
||||
# 222| 0: [MethodCall] call to method WriteLine
|
||||
# 222| -1: [TypeAccess] access to type Console
|
||||
# 222| 0: [TypeMention] Console
|
||||
# 222| 0: [StringLiteral] "Exception"
|
||||
# 222| 0: [StringLiteralUtf16] "Exception"
|
||||
# 230| 26: [Method] MainCheckedUnchecked
|
||||
# 230| -1: [TypeMention] Void
|
||||
# 231| 4: [BlockStmt] {...}
|
||||
@@ -651,7 +651,7 @@ statements.cs:
|
||||
# 252| 0: [ThrowStmt] throw ...;
|
||||
# 252| 0: [ObjectCreation] object creation of type Exception
|
||||
# 252| -1: [TypeMention] Exception
|
||||
# 252| 0: [StringLiteral] "Insufficient funds"
|
||||
# 252| 0: [StringLiteralUtf16] "Insufficient funds"
|
||||
# 254| 1: [ExprStmt] ...;
|
||||
# 254| 0: [AssignSubExpr] ... -= ...
|
||||
# 254| 0: [FieldAccess] access to field balance
|
||||
@@ -666,25 +666,25 @@ statements.cs:
|
||||
# 261| 1: [MethodCall] call to method CreateText
|
||||
# 261| -1: [TypeAccess] access to type File
|
||||
# 261| 0: [TypeMention] File
|
||||
# 261| 0: [StringLiteral] "test.txt"
|
||||
# 261| 0: [StringLiteralUtf16] "test.txt"
|
||||
# 262| 1: [BlockStmt] {...}
|
||||
# 263| 0: [ExprStmt] ...;
|
||||
# 263| 0: [MethodCall] call to method WriteLine
|
||||
# 263| -1: [LocalVariableAccess] access to local variable w
|
||||
# 263| 0: [StringLiteral] "Line one"
|
||||
# 263| 0: [StringLiteralUtf16] "Line one"
|
||||
# 264| 1: [ExprStmt] ...;
|
||||
# 264| 0: [MethodCall] call to method WriteLine
|
||||
# 264| -1: [LocalVariableAccess] access to local variable w
|
||||
# 264| 0: [StringLiteral] "Line two"
|
||||
# 264| 0: [StringLiteralUtf16] "Line two"
|
||||
# 265| 2: [ExprStmt] ...;
|
||||
# 265| 0: [MethodCall] call to method WriteLine
|
||||
# 265| -1: [LocalVariableAccess] access to local variable w
|
||||
# 265| 0: [StringLiteral] "Line three"
|
||||
# 265| 0: [StringLiteralUtf16] "Line three"
|
||||
# 267| 1: [UsingBlockStmt] using (...) {...}
|
||||
# 267| 0: [MethodCall] call to method CreateText
|
||||
# 267| -1: [TypeAccess] access to type File
|
||||
# 267| 0: [TypeMention] File
|
||||
# 267| 0: [StringLiteral] "test.txt"
|
||||
# 267| 0: [StringLiteralUtf16] "test.txt"
|
||||
# 268| 1: [BlockStmt] {...}
|
||||
# 272| 29: [Method] MainLabeled
|
||||
# 272| -1: [TypeMention] Void
|
||||
|
||||
Reference in New Issue
Block a user