Siegfried Pammer
997b50d26b
Update resolver spec references to current C# standard numbering
...
The resolver comments cited section numbers from the C# 4.0 spec (and a
few from C# 9.0 drafts), which no longer match the published ECMA-334
standard. Renumber them against dotnet/csharpstandard draft-v11; every
reference was checked against the actual section headings. The old
'better conversion from type' subclause (7.5.3.4) no longer exists as
such and its rules live in 12.6.4.5-12.6.4.7, so that comment now says
so instead of pointing at a dead number.
Assisted-by: Claude:claude-fable-5:Claude Code
2 months ago
Siegfried Pammer
396b58031b
Add support for C# 14 first-class span types in the type system.
10 months ago
Siegfried Pammer
68ae8ae833
Rename ITypeDefinition.HasExtensionMethods to ITypeDefinition.HasExtensions
1 year ago
Siegfried Pammer
9dde97414a
Rename ResolvedUsingScope to UsingScope
1 year ago
Siegfried Pammer
d2d9281072
Move CanTransformToExtensionMethodCall to CSharpResolver
1 year ago
Jeremy Pritts
0261ca3ae8
Fix stack overflow exception in CSharpResolver ( #3471 )
...
* Fix stack overflow exception in CSharpResolver
* lhs and rhs
1 year ago
Siegfried Pammer
2c419f68cf
Fix #3322 : Add missing checks for equality comparison
2 years ago
Siegfried Pammer
ee160b4e2a
#3075 : Improve performance of CSharpResolver.LookupSimpleNameOrTypeName in cases with a large number of local variables.
3 years ago
Siegfried Pammer
5a3c6e0872
Remove some unused variable management methods in CSharpResolver.
3 years ago
Daniel Grunwald
3c46271a11
Add support for unsigned right shift.
...
Only for user-defined operators so far; builtin right shifts still cast to the appropriate type.
3 years ago
Daniel Grunwald
3f09958922
Fix #2987 : `(nuint)(-3)` is not a compile-time constant.
3 years ago
ElektroKill
1447038ce1
Fix #2736
4 years ago
Daniel Grunwald
9bbb944e97
Avoid crashing on invalid certain forms of invalid metadata (found in obfuscated assemblies)
5 years ago
Daniel Grunwald
bbaddf84cc
Fix #2424 : Suppress the string==null special-case within the string class itself.
5 years ago
Daniel Grunwald
c95da67cbe
Fix extension method calls on `this in`.
6 years ago
Daniel Grunwald
a26a25d689
Fix #2158 : Remove PointerType support from CSharpResolver for additions/subtractions.
...
These have special semantics (number of elements in C# vs. number of bytes in IL), and so pointer arithmetic must go through the special HandlePointerArithmetic() code path --> the normal logic in HandleBinaryNumeric must not ever emit pointer arithmetic.
6 years ago
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
6 years ago
Daniel Grunwald
dc3dd193c8
Support unary operators on native integers.
6 years ago
Daniel Grunwald
3a4db502bc
Add support for arithmetic using C# 9 native integer types.
6 years ago
Siegfried Pammer
8925b4ff7b
Inline variable declarations/modernize parts of our code base.
7 years ago
Siegfried Pammer
e211b01595
Fix CA1507:UseNameofInPlaceOfString, adjust formatting of some older source files copied from NRefactory.
7 years ago
Siegfried Pammer
6e4db66b61
Fix CA1825:AvoidZeroLengthArrayAllocations, use Empty<T>.Array consistently.
7 years ago
Siegfried Pammer
9c1bf7fbdf
Introduce ReferenceKind in IParameter and ByReferenceResolveResult.
7 years ago
Daniel Grunwald
9479e8af13
Support overloaded operator &&/||.
8 years ago
Daniel Grunwald
3b46776c5e
Rename IAssembly -> IModule.
...
While support for multi-module assemblies isn't fully working yet; it is clear at this point that we want
to treat each module in a multi-module assembly separately for the purposes of the type system.
8 years ago
Daniel Grunwald
4ec0028356
Don't cache attributes in the type system.
8 years ago
Daniel Grunwald
64547de4a0
foreach loops now use "var" if the element type is a tuple and can be inferred from the collection type.
...
Additionally, the tuple element names inferred from the collection type are now used when translating the foreach body.
8 years ago
Daniel Grunwald
db47643a41
Interface implementations in TS
8 years ago
Daniel Grunwald
fa2df4df26
Clean up type system interfaces.
8 years ago
Daniel Grunwald
926c7850ac
Distinguish between unknown type and no type.
8 years ago
Daniel Grunwald
4d00c65608
Use IReadOnlyList<T> instead of IList<T> in the resolved type system.
9 years ago
Daniel Grunwald
b5e8571382
[nullables] Support lifting calls to user-defined operators.
...
Not yet handled: op_Equality and op_Inequality.
9 years ago
Daniel Grunwald
1bcc255004
Remove a bunch of obsolete NRefactory code.
9 years ago
Siegfried Pammer
0524b4a353
Remove unused usings in solution; remove dead code; unify namespaces
10 years ago
Siegfried Pammer
840ec04fde
Namespace adjustments for Syntax classes
10 years ago
Christoph Wille
1ce8349dd9
Adjust namespaces
10 years ago
Siegfried Pammer
5bedb80a78
Phase 1: merge parts of ICSharpCode.NRefactory.CSharp into ICSharpCode.Decompiler
10 years ago