Daniel Grunwald
979f7d018a
Traverse the dominator tree in depth-first order when finding conditions. This reduces the number of gotos produced for complex control flow.
...
Closes #253 .
14 years ago
Daniel Grunwald
f5f1522cfc
InsertParenthesesVisitor: insert parenthesis in "(new int[1])[0]"
14 years ago
Siegfried Pammer
ff97e9c634
add support for OperatorDeclaration and some more statements
14 years ago
Pent Ploompuu
1430500eba
PDB files for release mode. File alignments and base addresses improved.
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
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
3833643aaf
Fixed issues with detection of using statements.
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
Daniel Grunwald
faf3a29a08
Fixed position of XML comments on nested types.
14 years ago
Daniel Grunwald
508073d6ac
Applied some of the optimizations suggested by Kris Vandermotten. #150
14 years ago
Siegfried Pammer
ba0b80856c
add foldings to documentation comments; closes #165
14 years ago
Eusebiu Marcu
5cf243125c
get AST nodes locally
14 years ago
Eusebiu Marcu
8c37175189
add icon margin & bookmarks
14 years ago
Siegfried Pammer
01493897c7
fix https://github.com/icsharpcode/ILSpy/issues/177
14 years ago
Daniel Grunwald
944686750e
Add SaveIndex/LoadFromIndex methods to XmlDocumentationProvider.
15 years ago
Daniel Grunwald
c3ce66c622
New XmlDocumentationProvider implementation:
...
Keep only a small index in memory, and read the relevant portion of the .xml file again when the documentation is requested.
This means we no longer need to store the documentation in temporary binary files for efficient access.
15 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
5c7d679c52
Add TestPlugin.
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
987f9c8975
Fixed InsertParenthesesVisitor for casts of negative primitive expressions.
15 years ago
Daniel Grunwald
edf5f6711e
Add OperatorDeclaration.GetOperatorType() helper method.
15 years ago
Eusebiu Marcu
cbb99155ae
Implement new methods in NotImplementedAstVisitor.
15 years ago
Daniel Grunwald
6b638ec330
DefiniteAssignmentAnalysis bugfix
15 years ago
Daniel Grunwald
1331869851
Fixed definite assignment analysis bug.
15 years ago
Daniel Grunwald
f537fafdeb
Add NextStatement/PreviousStatement properties.
15 years ago
Daniel Grunwald
a2fb74bee6
Order the control flow nodes lexically, and allow restricting definite assignment analysis to a specific lexical range.
15 years ago
Daniel Grunwald
2793b233e3
Allow performing definite assignment analysis without providing an ITypeResolveContext.
15 years ago
Daniel Grunwald
c0a05d6672
Add InsertAfter/InsertBefore to AstNodeCollection.
15 years ago
Daniel Grunwald
cd634bbfba
Evaluate constant expressions in definite assignment analysis.
15 years ago
Daniel Grunwald
1c80484a85
Add support for non-custom attributes to CecilLoader.
15 years ago
Daniel Grunwald
3c3e4ad44a
Improve spacing in fixed statement output.
15 years ago
Daniel Grunwald
80fa674de6
Use a property to return the list of annotations.
...
This makes debugging annotations easier, as properties can be evaluated in the debugger.
15 years ago
Daniel Grunwald
c9ec992688
Fix issues in definite assignment analysis.
15 years ago
Daniel Grunwald
6e3427d10b
Set NRefactory back to .NET 4.0 (we're not going to port ILSpy to .NET 3.5)
15 years ago
Daniel Grunwald
623f006ae4
Add definite assignment analysis.
15 years ago
Daniel Grunwald
0aae6ca922
Add control flow analysis for the NRefactory C# AST.
15 years ago
Daniel Grunwald
a642c61a4e
Enable using patterns in place of catch clauses.
15 years ago
Daniel Grunwald
0c3ef91971
Add OptionalNode for pattern matching.
15 years ago
Daniel Grunwald
5fc5d7c16c
AstNode: add Invoke() methods to AstType (builds InvocationExpression for static methods)
15 years ago
Daniel Grunwald
f4da816fc4
NRefactory AstNode: add DescendantsAndSelf property.
15 years ago
Daniel Grunwald
8484a21767
Add support for Modifiers.Any (for pattern-matching) and for AttributeSection patterns.
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