Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: lanwin/DotWeb
base: 5beb6a91e0420dbe407e914fab73ae7295427b3c
head fork: flaub/DotWeb
compare: master
Commits on Jan 04, 2010
@flaub flaub Fixing the caching in web-mode c9d439e
@flaub flaub Symbols are not needed in web mode cc1c19e
@flaub flaub Symbols are not needed in web mode d7da574
@flaub flaub Sample site needs lots more love, but for now fixing the menu and footer 11e5f0e
@flaub flaub Update url to dotweb site ddcb208
@flaub flaub Filling out more of the DOM wrappers d7c1164
@flaub flaub Rolling DotWeb.Runtime.HostedMode into DotWeb.Hosting.Bridge. Experie…
…ment with primitive types and how best to wrap/expost them. Found an issue with not handling ldind instruction
@flaub flaub Removing un-needed references 2fc08de
@flaub flaub Will deal with methods exposed on primitive types later, for now they…
… are non-trival
Commits on Jan 05, 2010
@flaub flaub Attempting to move Ext proxy over to contrib 83ddef8
@flaub flaub Moving ext proxy to contrib 7175bc0
@flaub flaub Futzing with submodules c6aca55
@flaub flaub linking to new contrib 24b44ba
@flaub flaub moving sample web app over to contrib feac230
@flaub flaub Updating contrib 2a86536
@flaub flaub Removing un-needed deps 176caaa
@flaub flaub Adding [JsInline] with a test that fails d5ef619
@flaub flaub [JsInline] now implemented. Now to deal with development mode ed11b92
@flaub flaub Writing failing test for [JsInline] in development mode 9bf1066
@flaub flaub Passing test for [JsInline] in development mode af76db3
@flaub flaub Fixing JsInline issues. Adding test and support for [JsInline] on pro…
…perty getters. Renaming JsScript to Global and using a static class here so that users do not have to derive from JsScript. Now access to the Window or Document properties are thru the Global static class. Perhaps there is a better way to do this
@flaub flaub Using latest contrib 6b12b0d
@flaub flaub Renaming [JsInline] to [JsMacro] f8b014a
Commits on Jan 08, 2010
@flaub flaub Adding contrib submodule bf80c8d
@flaub flaub Merge branch 'working' of into working 4e6eefc
@flaub flaub Submodule fun 87d1855
Commits on Jan 12, 2010
@flaub flaub Fixing output build path in release config fb4d037
Commits on Jan 13, 2010
@flaub flaub Adding an installer project that uses wix to generate an msi. This in…
…cludes installation of the firefox and IE plugins
@flaub flaub Fixing GPL license file. Update version number so it appears in produ…
…ct name for installer
@flaub flaub Fixing rendering issues for npapi-based plugin. display:none did not …
…work. Update installer to reflect that npapi plugin works with firefox and chrome. Linking with DLL CRT to make installer smaller, the CRT msm is included in case dev does not have it installed.
@flaub flaub Create the js/Cache dir if it does not exist 4c9bf3a
@flaub flaub Update to latest contrib 723a924
Commits on Jan 14, 2010
@flaub flaub Expose Window and Document thru JsScript again b53391f
@flaub flaub Do not print //nop comment in translated output 636605a
@flaub flaub update to latest contrib 54d175d
Commits on Jan 19, 2010
@flaub flaub Fixing issue with the weaver. Allowing support for hosting abstract c…
…lasses. Adding support for nested enum types. Using classes for dom objects instead of interfaces for flexibility. Starting work on the ui library.
@flaub flaub Update to latest contrib 1ba46e3
Commits on Jan 20, 2010
@flaub flaub Adding VSTemplate to the installer e7252c4
@flaub flaub Update installer so that DotWeb assemblies show up in the .NET tab wh…
…en adding references in Visual Studio
@flaub flaub Adding ECMA-262, spec for ECMAscript d42aa51
@flaub flaub Adding support for [JsCamelCase]. Fixing edge cases in weaver dealing…
… with generics, arrays, and combo of each. Fixing weaver issue dealing with method overrides. Adding wrapper for native arrays (JsArray). Beginning to add wrapper for List<>
@flaub flaub Copyright notices' -a 2ca04fe
@flaub flaub Finish emulation of List<>, now it's time to test it. Adding DotWeb.F…
…unctional.Test project
@flaub flaub Finish emulation of List<>, now it's time to test it. Adding DotWeb.F…
…unctional.Test project
@flaub flaub Adding a simple log to the functional test. Simple solution to late-b…
…ound virtual calls, however now we need to do more and maintain a type tracker of some sort to properly cause overriden methods to be included in method dependencies
@flaub flaub Adding a test to show direct vs indirect method dependency on late-bo…
…und virtual calls. Beginning to add support in the method dependency analyzer
@flaub flaub Adding a test to show direct vs indirect method dependency on late-bo…
…und virtual calls. Beginning to add support in the method dependency analyzer
Commits on Jan 21, 2010
@flaub flaub Adding TypeHierarchy processor that will find method overrides for a …
…given virtual method
@flaub flaub Fixing translation case between base/this. Fixing method dependency a…
…nalysis to include late-bound implementations. It's now too conservative and includes methods that may never be called, so later we'll want to constrain the results
@flaub flaub Refactor to remove static TypeHelper and replace it with the TypeSyst…
…em instance, so it can safely be used in multiple contexts
@flaub flaub Running each hosting request in its own AppDomain for reliabilty, but…
… also so that static values get reset on each new request
@flaub flaub Fixing JsDynamic and adding extra test. Fixing dependency issue in th…
…e weaver. Hosted mode works fully again with the sample site
@flaub flaub Update to latest contrib 31ad701
@flaub flaub Fixed an issue where the weaver was not unboxing return values for ex…
…tern method stubs when the return type is a ValueType
@flaub flaub Attempting to make the hosting server more reliable by starting/stopp…
…ing the listener and making the server be single use per page
Commits on Jan 22, 2010
@flaub flaub Adding Cecil.Decompiler b3d0ab6
@flaub flaub Adding Cecil.Decompiler.Tests acc3820
@flaub flaub Adding initial language writer for Javascript that uses Cecil.Decompiler 47f759b
@flaub flaub Updating NUnit to 2.5.2 fcb20f7
@flaub flaub Adding better <table> support to dom 3f4782e
@flaub flaub Adding better support for strings e57aaed
@flaub flaub close listener and unload appdomain in finally 65a1ed7
@flaub flaub Adding a basic unit test viewer. Adding more tests for List<> 22a9182
@flaub flaub Adding tests that break compound conditionals in the CFA. Apparently …
…this is broken in Cecil.Decompiler as well
Commits on Jan 30, 2010
@flaub flaub Reworking the interval construction of in the CFG. Adding more tests …
…to cover looping and compound conditionals
@flaub flaub Removing Cecil.Decompiler, it has just as many issues as mine, so I'l…
…l just continue to fix mine
@flaub flaub Renaming DotWeb.Tools.Weaver to DotWeb.Hosting.Weaver 1636abd
@flaub flaub Moving tools into server 454ea6f
@flaub flaub Adding more condition tests. Finally fixing the CompoundNotOr case, i…
…t turns out the javascript printer was busted and not dealing with (x != false) properly
@flaub flaub Adding more tests for conditions. Chains of OrOr and AndAnd seem to b…
…e breaking
@flaub flaub Removing cruft 262f1ed
@flaub flaub Fixing compound condition issues by swapping the order of CompoundCon…
…ditions() and StructureIfs()
@flaub flaub Unit test for interval generation added, which revealed an issue that…
… when fixed makes nested loops work correctly again
Commits on Jan 31, 2010
@flaub flaub Adding code for Endless loop types, but it's not working right now eff63f2
Commits on Feb 05, 2010
@flaub flaub Adding lots more tests for loop and conditional structures. Reworking…
… the looping structuring from the ground up in order to resolve complex looping scenarios with multiple exits
Commits on Feb 06, 2010
@flaub flaub Lots of improvement with complex looping situations. Still need to re…
…-implement switch/case structuring.
Commits on Feb 13, 2010
@flaub flaub Fixing some unit tests 78e9473
@flaub flaub adding support for the graph builder to deal with switch instructions…
…. Splitting base Graph from ControlFlowGraph
@flaub flaub Fixing support for switch/case statements along with added tests 9dd479e
@flaub flaub Adding copyleft notices 5fc6b79
@flaub flaub Removing old version of decompiler core e01207c
@flaub flaub Interpreter needs to run on a pre-order basis when doing depth first …
@flaub flaub Optimize binary expressions down in the interpreter 5547973
@flaub flaub Futher optimization for binary expressions 108a5e4
@flaub flaub Fixing issue caused by debug builds splitting basic blocks instructio…
…ns that bust the stack for debugger locality.
Commits on Feb 14, 2010
@flaub flaub Fixing a weaver bug that was caused by generic types not properly bei…
…ng wrapped for the reflection API.
@flaub flaub Adding test for GitHub Issue #3. Results: Not-reproducible d61c4da
@flaub flaub Adding test for GitHub Issue #4. Test currently fails e926c42
@flaub flaub Adding test for GitHub Issue #5. This has uncovered a major bug in th…
…e decompiler: Interpreter is blowing its stack
@flaub flaub Fixing interpreter stack getting busted by using temporary register v…
…ariables whenever a value is pushed in one block and popped in another
Commits on Feb 15, 2010
@flaub flaub Introducing IGenericScope to the type resolution process so that type…
…s like T can be properly resolved to the appropriate generic parameter
@flaub flaub Fix for GitHub Issue #4 1b7b0dc
@flaub flaub Adding GitHub_Issue6 test, fails at the moment f558ed5
@flaub flaub Starting attempt to deal with try/catch/finally structures. More thou…
…ght needs to go into the design so that existing structuring algorithms still work.
Commits on Feb 17, 2010
@flaub flaub Adding orphan nodes to serve as extra roots for a CFG, so that catch/…
…finally handlers can still be analyzed for structuring.
@flaub flaub Renaming test 4b1dfae
@flaub flaub Fixing GitHub Issue #6, structuring of one level of try/catch/finally…
… is supported. Nested support untested yet
@flaub flaub Adding support for nested try structures b66eb59
@flaub flaub Really fixing GitHub Issue #5 this time. Name-mangling issue for anon…
…ymous methods defined within a constructor
Commits on Feb 18, 2010
@flaub flaub Override ToString() in JsObject so that native objects will defer to …
…the native toString() only for hosted mode
@flaub flaub Adding more functional tests for the List wrapper. Exposed a problem …
…with base/this calling. Adding test for this issue, fixed.
Commits on Feb 21, 2010
@flaub flaub More tests for List<>, exposing more issues and plugging more holes. …
…Changed EnumArray() test so it fails currently, which is the proper thing for now
@flaub flaub Fixing incomplete and broken ExceptionProcessor in the weaver 329e3b3
Commits on Feb 22, 2010
@flaub flaub cleanup 542e7e1
Commits on Feb 24, 2010
@flaub flaub Adding support for more instructions: ldarga, ldarga.s, and constrain…
…ed. Better printing for instructions
@flaub flaub Updating Mono.Cecil with a patched version that fixes an issue with i…
…mproper caching of generic parameters.
@flaub flaub Adding tests for exposing Mono.Cecil issue 01eec31
@flaub flaub Adding support to the weaver for GenericInstanceMethods during method…
… processing
@flaub flaub Generic or object, makes no difference to me 6460c86
Commits on Feb 26, 2010
@flaub flaub Generalizing and fixing initialization of primitive arrays in the dec…
@flaub flaub Constraining the optimization to reduce an assignment to only those t…
…hat are based on dup variables
Commits on Feb 27, 2010
@flaub flaub Fixes for many translation issues. Adding system exception types. Ren…
…aming TranlsationTest to GeneralTests
@flaub flaub Adding ExpectException tester which makes use of GetTypeName() on the…
… object class. This means an update for the class construction js runtime code.
Commits on Feb 28, 2010
@flaub flaub Attempting to implement String.Format. Using the box instruction as a…
… hint for converting integer values on the stack to other types, like bools or chars.
@flaub flaub Optimizing the virtual overrides so that they are only emitted if the…
… declaring type has been seen
Commits on Mar 01, 2010
@flaub flaub Cleanup of unit tests 5c13295
@flaub flaub Moving TestJsArray over to the SystemTests from DecorationTests 0fa48d1
@flaub flaub Initial implementation of String.Format() 0068ca5
Commits on Mar 03, 2010
@flaub flaub Rename for clarity 306e598
@flaub flaub Fixing .gitignore to properly ignore debug/release output directories…
… so that we can include debug/release directories from expected tests
@flaub flaub All translator tests pass once again 4a66389
@flaub flaub Optimization for return calls where the previous stmt is an assignmen…
…t to a variable and we are returning the same variable
@flaub flaub Adding AppendFormat to StringBuilder d96ac69
@flaub flaub rethrow exceptions if there is no generic catch clause. Earlier optim…
…ization for coalesing dup variables was invalid, backing it out. Char types are tricky since there is no direct analog in javascript, removing Char.IsWhiteSpace for now until I can figure out a better way to support the char type in general
@flaub flaub Fixing some String.Format bugs 874f3c3
@flaub flaub Rank 1 arrays need to be vectors types, not multidimensional types fa27a4f
@flaub flaub Rank 1 arrays need to be vectors types, not multidimensional types 8b97cff
@flaub flaub Adding more string wrappers 682ed03
Commits on Mar 04, 2010
@flaub flaub Fixing bug that caused impl methods of interfaces to not be registere…
…d correctly in the relection emit API.
@flaub flaub Using updated Mono.Cecil that fixes caching problem with generic type…
…s and parameters
@flaub flaub removing un-used prototype code 1c42763
@flaub flaub Beginning to add support for Hashtable, HashSet, and Dictionary 1d5e1de
@flaub flaub Fixing constructors that call other constructors in the same type (Ct…
…orChain). Call type.Resolve() in GetNamespace() to handle TypeSpecification type references properly
Commits on Mar 06, 2010
@flaub flaub When casting to an int, use Math.floor() in order to simulate the imp…
…licit conversion that would happen in .NET
Commits on Mar 15, 2010
@flaub flaub OptmizeReturn in order to replace gotos to a single return with a dup…
…licate return for each branch
@flaub flaub Fix for loops that have an exit at both the header and the latch 82eb764
@flaub flaub Fixing register transfers so that the assignment happens when it shou…
…ld in the instruction stream
@flaub flaub Adding $Class() and $Array(). $Class will create a new classical-styl…
…e class and also allow fields to be initialized to default values. $Array is a helper for construction a new array where each element needs to be initialized to default values
@flaub flaub Adding more support for Array, Dictionary, Console, and Object b50658f
@flaub flaub Adding goto to the visitor 06771e8
@flaub flaub Register virtual methods for interfaces implemented on base classes, …
…not just the current one
@flaub flaub Fix for when the conditionals follow is itself and the else path was …
…a return/break/throw
@flaub flaub Updates to tests. Additional tests added 06bdd59
Commits on Mar 28, 2010
@flaub flaub Fixing the type system so that it will correctly resolve virtual meth…
…od overrides for methods that derive from a generic type
@flaub flaub Fixing some of the tests b8d3498
Commits on Mar 30, 2010
@flaub flaub Fixing more tests 171dcbe
@flaub flaub Adding Dictionary.Clear() 51dafa4
Commits on Jun 20, 2010
@flaub flaub Removing debug logs 717f34e
Commits on Jun 23, 2010
@flaub flaub Updating to Mono.Cecil 0.9.3. Getting almost all of the translation t…
…ests to pass. Still need to re-do the weaver
@flaub flaub Fixing remaining Mono.Cecil 0.9.3 migration bug, all translator tests…
… are passing again
Commits on Jun 25, 2010
@flaub flaub Preparing for a much simpler weaver, updating translator to deal with…
… changes
Commits on Jun 26, 2010
@flaub flaub Process and intercept castclass 8e43304
@flaub flaub Replacing JsObject and JsDynamic with attributes. Temporarily disabli…
…ng cache in hosting server
Commits on Jun 27, 2010
@flaub flaub DotWeb.Debugger up and running, replaces old hosted mode that ran ins…
…ide of
@flaub flaub New DotWeb.Debugger works great, all tests are passing once again, pr…
…eparing to merge with mater soon
@flaub flaub Update version to 0.4. Fix release build paths. Prepare for tagging. 7719fc4
@flaub flaub Allowing the debugger to run inside of the process 490a322
Commits on Jun 28, 2010
@flaub flaub Removing $super and replacing with…
…s). Adding support for hosted mode GetTypeName().
@flaub flaub Have the DotWeb.Debugger always use a predefined port number bdee291
@flaub flaub Support for EnableCache. Update to latest contrib 9b1d5e9
Commits on May 08, 2015
@flaub flaub Update and rename README.markdown to a8d07af