[resolution]namespaces.classwhere resolution (which we internally call location) is the file location of the dll/netmodule/exe containing the class.
Assembly
class in the system.reflection
namespace. we have tried to do this but did not succeed.
new
and then call the
constructor <init>
of the newly generated object.
newobj
with the constructor of the
class as argument. Then newobj
calls the constructor.
newobj
, whereas on JVM, you push the constructor
arguments after the new
call (just before the
call of <init>
).
swap
instructiondup_x1
or dup_x2
instructionsx -> y -> zdemonstrates this: The java code for this is
<push object of z field> <push object of y field> <evaluate x> ; pushes result on stack dup_x1 putfield y putfield zHowever in .NET we have to use a local variable to store the duplicate in. And since local variables are typed (as noted above) we need a separate local variable for each situation, where we would have used dup_x1:
<push object of z field> <push object of y field> <evaluate x> ; pushes result on stack dup .locals init ([n] <type of x>) // n is the next free local variable slot stloc n stfld y ldloc n stfld z
do()
. If java code is to call
this method directly, currently the only means for doing this is by
using reflection, since the word do
is a reserved word in
Java.
@do()
).
But due to the problem in Java, we now instead call this method
Do
(capital D
).
The following IDE's and debuggers have been tried.
None of them seem to respect a Sourcefile
attribute which points to non
java source files. Some even did not allow opening a class file
directly, and the ones that did all generated a Java source file stub
from the BETA generated class file.
IDE's
Debuggers
All seem to depend on JDI (Java Debugger Interface),
which is assumed not to support non-java sourcefiles.
On the other hand jdb support non java source files(?)
Command line wrappers