Siegfried Pammer
							
						 
						
							 
							
							
							
								
							
								74238630cf 
								
							
								 
							
						 
						
							
							
								
								fix   #367  - VB output issues  
							
							 
							
							
 
							
						 
						
							13 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								d2c24a3b0a 
								
							
								 
							
						 
						
							
							
								
								Don't eliminate delegate caching when lambda decompilation is disabled.  
							
							 
							
							... 
							
							
 
							
							Closes  #388  
							
						 
						
							13 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								2edcaa2c44 
								
							
								 
							
						 
						
							
							
								
								Initial implementation of async/await decompiler.  
							
							 
							
							
 
							
						 
						
							14 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								0b968182a3 
								
							
								 
							
						 
						
							
							
								
								Fix   #296 : Array initialization decompiles into recursive reference  
							
							 
							
							
 
							
						 
						
							14 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								0010be6add 
								
							
								 
							
						 
						
							
							
								
								Fixed decompiling "new byte[length]" where length is a long.  
							
							 
							
							
 
							
						 
						
							14 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								7e35c705b6 
								
							
								 
							
						 
						
							
							
								
								Initial implementation of Expression Tree Decompilation ( #175 )  
							
							 
							
							
 
							
						 
						
							14 years ago  
						
					 
				
					
						
							
							
								 
								Pent Ploompuu
							
						 
						
							 
							
							
							
								
							
								92c892577d 
								
							
								 
							
						 
						
							
							
								
								Use consistent terminology for lifted operators  
							
							 
							
							
 
							
						 
						
							14 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								3b692d9c7c 
								
							
								 
							
						 
						
							
							
								
								Ignore arguments of 'leave'.   Closes   #185  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								822e473df3 
								
							
								 
							
						 
						
							
							
								
								Replace endfinally with jump.  Closes   #232  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Pent Ploompuu
							
						 
						
							 
							
							
							
								
							
								d226afb26d 
								
							
								 
							
						 
						
							
							
								
								Decompile all lifted operators on nullable values. Postfix increment/decrement and custom type conversions support incomplete, but correct.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								43b4339bea 
								
							
								 
							
						 
						
							
							
								
								Simplify shift operators (<< and >>).  
							
							 
							
							... 
							
							
 
							
							Based on patch by Pent Ploompuu. 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								6c94092dc5 
								
							
								 
							
						 
						
							
							
								
								Fixed ILAstOptimizer.CanBeExpressionStatement to include more types of assignments.  
							
							 
							
							... 
							
							
 
							
							Fixed TypeAnalysis.IsEnum so that arrays of enums are not considered to be enums. 
							
						 
						
							15 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. 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Pent Ploompuu
							
						 
						
							 
							
							
							
								
							
								24c9e68633 
								
							
								 
							
						 
						
							
							
								
								Simplify shift operators (<< and >>).  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								f9d877b25a 
								
							
								 
							
						 
						
							
							
								
								Remove unreachable return statements.   Closes   #174 .   Closes   #192  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								6fd28e8b6e 
								
							
								 
							
						 
						
							
							
								
								Remove unreachable return statements.   Closes   #174 .   Closes   #192  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								67fcd4ef7d 
								
							
								 
							
						 
						
							
							
								
								Fix NullReferenceException in ILAstOptimizer.RecombineVariables  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								f1a34c6a31 
								
							
								 
							
						 
						
							
							
								
								Fix   #202 : Decompilation of multiple catch clauses sharing the same variable name  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Pent Ploompuu
							
						 
						
							 
							
							
							
								
							
								fec24cf171 
								
							
								 
							
						 
						
							
							
								
								Improved decompilation correctness for operators on nullable values  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Siegfried Pammer
							
						 
						
							 
							
							
							
								
							
								a929decdeb 
								
							
								 
							
						 
						
							
							
								
								implement basic support for custom short circuit operators + unit test;  fixes   #193  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								2d42dd5c57 
								
							
								 
							
						 
						
							
							
								
								Fixed several issues related to [MarshalAs] attributes.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								ae873ec18f 
								
							
								 
							
						 
						
							
							
								
								Fixed decompilation of anonymous methods created by the VB compiler.  Closes   #127 .  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								508073d6ac 
								
							
								 
							
						 
						
							
							
								
								Applied some of the optimizations suggested by Kris Vandermotten.  #150  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Pent Ploompuu
							
						 
						
							 
							
							
							
								
							
								1628f2870c 
								
							
								 
							
						 
						
							
							
								
								Simplify operators on nullable values: primitive comparisons  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								f12371e0e1 
								
							
								 
							
						 
						
							
							
								
								Consistently use the full MIT license header on source files.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								8c927f199b 
								
							
								 
							
						 
						
							
							
								
								Fixed issues introduced by  #139  (Improved local variable inlining)  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								660505e04d 
								
							
								 
							
						 
						
							
							
								
								Introduce 'AddressOf' pseudo-opcode to make the type system aware of inlined value types ( #139 )  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								600c07388e 
								
							
								 
							
						 
						
							
							
								
								Implemented object initializers.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								f791897829 
								
							
								 
							
						 
						
							
							
								
								Implemented CachedDelegateInitialization transform for local variables (used for capturing lamdbas within loops).  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								6376110913 
								
							
								 
							
						 
						
							
							
								
								Fixed issues with "fixed" statement that were introduced by recent changes.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								cc0ab56869 
								
							
								 
							
						 
						
							
							
								
								Add pre- and post-increment support for properties (both instance and static) and for multi-dimensional arrays.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								4c7a896a84 
								
							
								 
							
						 
						
							
							
								
								Implemented post-increment operator.  Closes   #76 .  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								1df82cc3d1 
								
							
								 
							
						 
						
							
							
								
								Improved support for compound assignments and the pre-increment operator.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								7e6490a816 
								
							
								 
							
						 
						
							
							
								
								Simplify conv.i8(ldc.i4(x)) to ldc.i8(x).  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								d430ee056b 
								
							
								 
							
						 
						
							
							
								
								Recombine variables after ILAst optimizations so that there is only a single C# variable for a single IL variable.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								ab9452a30e 
								
							
								 
							
						 
						
							
							
								
								ILBasicBlock refactored to consist only of the body.  Removed ILComment.   Closes   #86  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								17f68f450f 
								
							
								 
							
						 
						
							
							
								
								Moved some of the optimizations into the while(modified) loop  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								579cbb0acd 
								
							
								 
							
						 
						
							
							
								
								Added a pass to joint basic blocks  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								10a96a8d3f 
								
							
								 
							
						 
						
							
							
								
								Helpers ILCode.IsConditionalControlFlow() and ILCode.IsUnconditionalControlFlow()  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								015d70ff52 
								
							
								 
							
						 
						
							
							
								
								Simplification of && || ?? ?: put into separate file.  Just recalculate the analysis rather then trying to keep it up to date.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								31b2de1126 
								
							
								 
							
						 
						
							
							
								
								Fixed initilizers and fixed statements which I broke during the refactoring.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								1a64d56b5a 
								
							
								 
							
						 
						
							
							
								
								Create short circuit logical expressions as left associative  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								1b8a62fb7c 
								
							
								 
							
						 
						
							
							
								
								Run optimization loops backwards (bottom-up)  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								6046fdcdfb 
								
							
								 
							
						 
						
							
							
								
								Do not put brtrue into its own basic block - store it together with the previous instructions.  
							
							 
							
							... 
							
							
 
							
							Handle single-statement loops. 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								b3f1d599f8 
								
							
								 
							
						 
						
							
							
								
								Refactored some peephole transforms;  Moved some of the transforms before loop and condition detection  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								b41ee3ca88 
								
							
								 
							
						 
						
							
							
								
								Fix type analysis bugs.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								a3c241dac6 
								
							
								 
							
						 
						
							
							
								
								Improve handling of pinned variables.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Grunwald
							
						 
						
							 
							
							
							
								
							
								01d7e2abbd 
								
							
								 
							
						 
						
							
							
								
								Use the same representation for parameters and variables.  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								cce7300d66 
								
							
								 
							
						 
						
							
							
								
								Removed the declarative pattern matching algorithm from ILAst  
							
							 
							
							
 
							
						 
						
							15 years ago  
						
					 
				
					
						
							
							
								 
								David Srbecký
							
						 
						
							 
							
							
							
								
							
								05b3bfbff2 
								
							
								 
							
						 
						
							
							
								
								Use the simple pattern matching in yield return  
							
							 
							
							
 
							
						 
						
							15 years ago