Daniel Grunwald
2783b02007
Fix #241 : type analysis causes truncation of integer literals when calculating with types smaller than int32.
14 years ago
Alex Lyman
ed6380077f
- Reverted changes to display decimal.MinValue and decimal.MaxValue
...
- Altered InitializerTests to use constant literals instead of decimal.MinValue and decimal.MaxValue
14 years ago
Alex Lyman
e484d35fe2
- Altered the InitializerPeepholeTransforms' ArrayInitializer forward-scan to only look at the next instruction: in practice, CSC does not seem to generate code that needs anything more, and there are some questions as to the validity of the looping itself (i.e. what if there is a branch between them?
...
- Added another test to the InitializerTests, to validate that it handles deeper multi-dimensional arrays (I went 3x3x3 for simplicity)
14 years ago
Alex Lyman
9faee0ad8d
- Modified the InitializerPeepholeTransforms' Array Initializers to do a forward scan of the block instead of just checking the next instruction. The next-instruction thing breaks down under the case where you have an array-of-arrays (int[][])
...
- Added to the InitializerPeepholeTransforms' Array Initializers to detect the creation of a multi-dimensional array (int[,])
- Modified the ILCode.InitArray contract to take an ArrayType instead of just the element type, and passing with the ArrayType.Dimensions set accordingly.
- AstMethodBodyBuilder now used the ArrayType.Dimensions info to build a tree of ArrayInitializerExpressions from the raw, element-by-element list.
- Fixed OutputVisitor not calling StartNode for EmptyExpressions
Known issues:
- ArrayCreateExpression outputs extra space in the array specifier when using EmptyExpressions, ala: "new int[][, ]"
- The tree of ArrayInitializerExpressions outputs with blank lines before and after each block.
14 years ago
Alex Lyman
8dcea0b27b
- Made the InitializerTests pass, through three changes:
...
* Added new-lines as needed to make the source formatting match what the actual output was.
* Added code to CodeAssert to make it ignore #regions
* Added code to output decimal.MinValue and decimal.MaxValue as appropriate
14 years ago
Daniel Grunwald
9376ece056
Fixed references to enum values nested within generic types.
14 years ago
Daniel Grunwald
6daf7cb6bc
Fix some compiler warnings.
14 years ago
Daniel Grunwald
f1a34c6a31
Fix #202 : Decompilation of multiple catch clauses sharing the same variable name
14 years ago
Daniel Grunwald
e0c7bebfe8
Add license headers to the files that were missing them.
14 years ago
Siegfried Pammer
f86fa5d1dd
implement support for op_True and extend unit test
14 years ago
Siegfried Pammer
a929decdeb
implement basic support for custom short circuit operators + unit test; fixes #193
14 years ago
Daniel Grunwald
229218174f
Inlining: remove the arg_-Variable in catch blocks.
14 years ago
Daniel Grunwald
7d24f683d1
Decompile AssemblyVersion attribute. Closes #188 .
14 years ago
Daniel Grunwald
2d42dd5c57
Fixed several issues related to [MarshalAs] attributes.
14 years ago
Daniel Grunwald
5c08e10a07
Fixed incorrect detection of the 'using' statement pattern when the code was assigning to the using variable. Closes #121 .
14 years ago
Daniel Grunwald
b01fe1b427
Fixed NullReferenceException when decompiling "typeof(List<int>[])".
14 years ago
Siegfried Pammer
439de223bf
implement proper fix for #179 + add unit test
14 years ago
Ivan Hamilton
b408acccea
Fix local variable post-increment recognition for split local variables.
14 years ago
Artur Zgodziński
d900a171fa
Improved decompilation of new modifier.
14 years ago
Daniel Grunwald
6885af6437
Add test case for previous commit.
14 years ago
Daniel Grunwald
8c927f199b
Fixed issues introduced by #139 (Improved local variable inlining)
14 years ago
Daniel Grunwald
57db57670c
Fix bug when decompiling lambdas that are nested 3 or more levels (and have a closure on each level).
14 years ago
Daniel Grunwald
207bb984aa
Implemented support for nested object/collection initializers.
14 years ago
Daniel Grunwald
600c07388e
Implemented object initializers.
14 years ago
Daniel Grunwald
33b35a45af
Fix EventHiding unit test.
14 years ago
Ed Harvey
93a12a9b82
Added tests for shadowed events.
14 years ago
Daniel Grunwald
3875839485
Fixed bug in switch transform.
14 years ago
Daniel Grunwald
9f842fcda2
Implemented foreach pattern over non-generic collections.
14 years ago
Daniel Grunwald
6501104f6d
Include UndocumentedExpressions.cs in unit tests.
14 years ago
Alex Lyman
f3f557103b
- Replaced simple Test differ with full-blown DiffLib-backed implementation (pulled in w/ NuGet), to improve failed test messages.
14 years ago
Daniel Grunwald
576a13214c
Display return type attributes on delegates.
14 years ago
Daniel Grunwald
c869e7cf02
Implemented support for undocumented expressions.
14 years ago
Daniel Grunwald
12a8267c21
Adjust ILSpy to NRefactory API changes.
14 years ago
Daniel Grunwald
d805e07ffe
Fixed decompilation of nested lambdas.
14 years ago
Daniel Grunwald
8ee23f5243
Add support for query continuations.
14 years ago
Daniel Grunwald
6f4fdd00f7
Get rid of transparent identifiers in query expressions.
14 years ago
Daniel Grunwald
83489b2cc8
Add support for decompiling query expressions.
14 years ago
Daniel Grunwald
cd630c3fbb
Fix #87 : missing cast when calling explicit interface implementation.
14 years ago
Daniel Grunwald
6229a1dba8
Fix unit tests.
14 years ago
Daniel Grunwald
542bb9db2f
Improved handling of nested display classes.
14 years ago
Daniel Grunwald
6cb77e63e9
Fully qualify ambiguous type names.
14 years ago
Daniel Grunwald
d550d55560
Fixed 'as' and 'is' operators for value types.
14 years ago
Daniel Grunwald
33a7120555
Add support for negated enum constants (e.g. "v &= ~Enum.Flag;"). Closes #114 .
14 years ago
Daniel Grunwald
69ac94363d
Resolve variable naming conflicts that occur with anonymous methods.
14 years ago
Daniel Grunwald
9ad5124603
Fixed type analysis for collection initializers. Closes #104 .
14 years ago
Daniel Grunwald
55dec5389c
Fix crash when decompiling calli instruction. Closes #113 .
14 years ago
Artur Zgodziñski
c81f81827f
Implemented printing of .overrides and interfaces directives in IL.
14 years ago
Artur Zgodziñski
368cac6c7f
Added support for new modifier (methods and properties only).
14 years ago
Artur Zgodziñski
c15d5d304e
Fixed accessibility of property accessors.
14 years ago
Daniel Grunwald
cc0ab56869
Add pre- and post-increment support for properties (both instance and static) and for multi-dimensional arrays.
14 years ago