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
ed08c83289
Make ConvertChar and ConvertString public.
14 years ago
Daniel Grunwald
e2794252fb
When decompiling a field, also decompile constructors to check whether there's an initializer on the field.
...
When decompiling a constructor, display field initializers outside of the constructor.
Closes #3 .
14 years ago
Siegfried Pammer
e9eca059d5
remove isLastLine from interface - use stack instead; fix null reference if resolve of TypeDefinition fails
14 years ago
Siegfried Pammer
ba0b80856c
add foldings to documentation comments; closes #165
14 years ago
Siegfried Pammer
01493897c7
fix https://github.com/icsharpcode/ILSpy/issues/177
14 years ago
Daniel Grunwald
250dba9502
When the last statement in a block is a label, add an EmptyStatement so that the generated code is valid.
15 years ago
Daniel Grunwald
89d0b7b54b
C# OutputVisitor: improve indentation of query expressions
15 years ago
Daniel Grunwald
950e4737fd
Fixed output of NamedArgumentExpression within object initializers.
15 years ago
Daniel Grunwald
edf5f6711e
Add OperatorDeclaration.GetOperatorType() helper method.
15 years ago
Daniel Grunwald
2793b233e3
Allow performing definite assignment analysis without providing an ITypeResolveContext.
15 years ago
Daniel Grunwald
3c3e4ad44a
Improve spacing in fixed statement output.
15 years ago
Daniel Grunwald
0c3ef91971
Add OptionalNode for pattern matching.
15 years ago
Artur Zgodziñski
1e9de3c359
small code reformatting
15 years ago
Artur Zgodziñski
ebd20b88c9
Indexer decompilation support.
...
Conflicts:
ICSharpCode.Decompiler/Ast/AstBuilder.cs
15 years ago
David Srbecký
84d45645bd
Generate switch default case. Closes #26
15 years ago
Daniel Grunwald
a55f0218e6
Fix output of float/double literals that are infinite or NaN.
15 years ago
Daniel Grunwald
ed118a1bd5
Remove "Attribute" suffix and add support for attributes on type parameters.
15 years ago
Artur Zgodziñski
75661da50e
attributed parameter declaration.
15 years ago
Artur Zgodziñski
fde3c114ec
Printing initializers of enum members.
15 years ago
Daniel Grunwald
bac3c5c21d
Use newlines in array initializers.
15 years ago
Artur Zgodziñski
b4c55dc705
Removed redundant int base type of enum.
15 years ago
Artur Zgodziñski
d13d7bd48f
Basic output of custom attributes attached to types and methods.
15 years ago
Daniel Grunwald
fe173eff59
Add visitor support to pattern nodes (IPatternAstVisitor). Add pattern support to output visitor (makes debugging easier if you can print out patterns)
15 years ago
David Srbecký
b4c2b3f92a
Determine loop condition from CFG
15 years ago
Daniel Grunwald
240c0ed626
OutputVisitor bugfix: show return type for custom events.
15 years ago
Daniel Grunwald
1a9a65d7a9
OutputVisitor: allow writing constructor declarations without writing their parent type declaration.
15 years ago
Daniel Grunwald
32de7d9279
Fix output of using statement when the resource acquisition is a VariableDeclarationStatement.
15 years ago
Daniel Grunwald
f3f7d29c12
Fix lambda expression output bug.
15 years ago
Daniel Grunwald
dd9659f2ca
Fix missing dot in namespace declarations.
15 years ago
Daniel Grunwald
3eefdb227e
Escape surrogates in string literals.
15 years ago
Daniel Grunwald
f691f114a0
Fix some formatting issues with the C# output visitor.
15 years ago
Daniel Grunwald
4b21238342
Fixed output of enum members and the "const" modifier.
15 years ago
Daniel Grunwald
8434379fcc
Add missing newline after property declarations.
15 years ago
Daniel Grunwald
d997511d58
Add hyperlink support to decompiler.
15 years ago
Daniel Grunwald
b48fabaf05
Initial port to new NRefactory.
15 years ago