1
0
mirror of https://github.com/twiglet/cs2j.git synced 2025-01-18 13:15:17 +01:00

78 Commits

Author SHA1 Message Date
Kevin Glynn
9d45e3adef TemplateExtractor should merge partial definitions 2011-05-31 09:17:50 +02:00
Kevin Glynn
07e883ca67 vars in foreach statements 2011-05-24 12:18:16 +02:00
Kevin Glynn
10261f6406 in var x = exp; If we know the type of exp then use it for x 2011-05-23 12:23:59 +02:00
Kevin Glynn
e99f0edee7 keep modifiers for internal property vars, just make them private 2011-05-23 12:22:57 +02:00
Kevin Glynn
ec95442ac2 support ref params in lambda expressions, and support short cut assignment operators for ref params 2011-05-22 18:40:10 +02:00
Kevin Glynn
f9e6716aaa more fixes to get monodevelop to pass without seg fault 2011-05-22 13:35:32 +02:00
Kevin Glynn
ac2417a6c6 various so that we can chomp through monodevelop. mostly it seems to be workarounds for antlr :( 2011-05-20 19:54:47 +02:00
Kevin Glynn
c457c5c6f8 fixes after stress test against libomv 2011-05-20 15:34:16 +02:00
Kevin Glynn
f49d562c9c treat normal events like fields (their delegate type is sufficient for the translation). Still need to address add/remove blocks 2011-05-20 13:40:32 +02:00
Kevin Glynn
05c15f501a support for += and -= for delegates 2011-05-20 13:08:11 +02:00
Kevin Glynn
53e2c3b8c7 support for adding / subtracting delegates 2011-05-20 09:20:54 +02:00
Kevin Glynn
9e9bba2f40 pass type contexts a bit more widely 2011-05-19 22:31:08 +02:00
Kevin Glynn
d71a5f83f2 lambda body: expression -> statement by adding return 2011-05-19 22:30:17 +02:00
Kevin Glynn
ea85f4a396 little bits so that ScormEngine translation doesn't regress 2011-05-19 18:28:20 +02:00
Kevin Glynn
e39fc12be4 Make delegate classes / interfaces static if they are inner 2011-05-19 17:31:14 +02:00
Kevin Glynn
1967cfb048 fix up inherits for MultiDelegateClass case when type params are involved 2011-05-19 17:17:42 +02:00
Kevin Glynn
84a767f445 big delegates commit. Autogenerated code for delegate support is pretty much done now 2011-05-19 16:37:45 +02:00
Kevin Glynn
76bb9265ca delegates are rewritten to interfaces 2011-05-09 15:59:06 +02:00
Kevin Glynn
7803381f66 type params on interfaces 2011-05-09 15:56:26 +02:00
Kevin Glynn
752f86e065 Ordinarily cast expressions have only unary_expressions as target, but 'as' expansion can provide full expressions 2011-05-06 12:35:07 +02:00
Kevin Glynn
6b3c19f823 fix up jump statements that call methods with ref / out params so that these param's values don't get lost. 2011-05-06 10:44:48 +02:00
Kevin Glynn
ab6882062d -> in this branch 2011-05-05 16:53:06 +02:00
Kevin Glynn
980e721888 - i++ should return new value (this is broken for properties :( )
- if ref / out params are updated from another ref or out param then need to use setValue()
- pre and post statements need to be added around statements (e.g. local_variable_declaration doesn't use embedded_statement)
- jump statements need special treatment (still a bit broken)
2011-05-05 16:15:22 +02:00
Kevin Glynn
fdc89af56b correct translation for Property++ 2011-05-03 15:46:47 +02:00
Kevin Glynn
7e85ac4a83 fix support for IDisposable.close(), it was broken in SE/Logic :( 2011-05-02 15:35:12 +02:00
Kevin Glynn
0a7af29e58 support for ref/out params in calls in if-then-else conditional expression 2011-05-02 12:54:18 +02:00
Kevin Glynn
1c0fa6586b Sets are IEnumerable, fix AddToImports to be satisifed with that 2011-05-02 12:53:30 +02:00
Kevin Glynn
9d6b510a59 support ref and out parameters 2011-04-30 09:29:06 +02:00
Kevin Glynn
82e2dcf770 move imports into CommonWalker so that we can add to imports from JavaMaker too (currently not needed) 2011-04-30 09:28:15 +02:00
Kevin Glynn
65bd4c53b7 Translations can have a warning that is emitted at translation time 2011-04-27 13:05:49 +02:00
Kevin Glynn
aa4266bccc make unimplemented message a comment 2011-04-27 13:05:11 +02:00
Kevin Glynn
0529896ca2 type argument to instanceof cannot be primitive. Arrays are not primitive 2011-04-19 10:23:11 +02:00
Kevin Glynn
0bbd8402db rename Equals -> equals, GetHashCode -> hashCode (part II) 2011-04-18 19:26:33 +02:00
Kevin Glynn
e33b58e258 member banes of the form Interface.member are translated as Interface___member 2011-04-13 11:46:12 +02:00
Kevin Glynn
dafcee91d6 Use parseString to generate (java) Collection methods when translating a type that implements ICollection 2011-04-13 11:45:38 +02:00
Kevin Glynn
18fb3d4063 Add parseString and IsJavaish so that we can parse arbitrary snippets of Java(ish) code and weave them into the output 2011-04-13 11:44:29 +02:00
Kevin Glynn
6a40909662 inner classes are declared static because (as I understand it) that is what .Net inner classes / structs really are. 2011-04-06 16:28:01 +02:00
Kevin Glynn
83fcfd0882 Add --experimental-transforms for undercooked implementations and add boxing of primitive types (see noise added to ScormEngine for aesthetic problems) 2011-04-06 16:27:15 +02:00
Kevin Glynn
158e22b44f add mkNonGeneric scope so that we can remove generic arguments from a type if we want to (these aren't carried at runtime, so instanceof has to just check against the base type) 2011-04-06 10:56:18 +02:00
Kevin Glynn
6689f78028 If we notice that we are calling a method on an expression with primitive type, then cast it to the equivalent boxed type first 2011-03-27 09:37:01 +02:00
Kevin Glynn
83480a5b0e yield was causing an ambiguity. Make translation more solid 2011-03-22 16:57:40 +01:00
Kevin Glynn
2cf5701edb track if we are in a statement list context. If so, don't generate ugly braces around using and switch translations 2011-03-22 08:28:45 +01:00
Kevin Glynn
f96c756dca Allow method calls on "new [] {...}" expressions 2011-03-17 13:57:27 +01:00
Kevin Glynn
4fdcf95d6a Support interface prefix on indexer declarations (not that we actually support these atm ....) 2011-03-17 09:48:56 +01:00
Kevin Glynn
d3872ee2b7 pass yield statements through as [unsupported] comments 2011-03-16 14:48:56 +01:00
Kevin Glynn
7e74699021 conditional expressions have full expressions (e.g. assignments) as arguments 2011-03-16 12:44:52 +01:00
Kevin Glynn
82a57ca0a0 don't crash if enum is empty 2011-03-16 12:44:44 +01:00
Kevin Glynn
893cc08278 Just pick out the rewritten elements from interface_indexer translation 2011-03-16 12:38:30 +01:00
Kevin Glynn
58d0405edc strip U characters from integer literal suffixes 2011-03-15 10:48:46 +01:00
Kevin Glynn
7ca153b7bc There are no commas between multiple where clauses in a type parameter constraint 2011-03-15 10:48:23 +01:00