mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-24 12:18:22 +02:00
![]() o every porocedural variable type is represented by a class with one public "invoke" method whose signature matches the signature of the procvar o internally, dispatching happens via java.lang.reflect.Method.invoke(). WARNING: while this allows calling private/protected or other methods that are normally not accessible from another context, a security manger can override this. If such a security manager is installed, most procvars will cause security exceptions o such dispatching also requires that all arguments are wrapped, but that's done in the compiler-generated body of the invoke method, so that procvars can also be called conveniently from Java code o typecasting between a procedure of object and tmethod is supported, as well as Delphi-style replacing of only the method pointer via @procvar1=@procvar2. o nested procvars are not yet supported, but most of the basic infrastructure for them is already present * all units/programs now get an internal __FPC_JVM_Module_Class_Alias$ type when compiled for the JVM target, which is an "external" class that maps to the unit name. This is required to look up the JLRMethod instances for regular functions/procedures + new tabstractprocdef.copyas() method that allows to create a procvar from a procdef and vice versa git-svn-id: branches/jvmbackend@18690 - |
||
---|---|---|
.. | ||
astringh.inc | ||
astrings.inc | ||
compproc.inc | ||
java_sys.inc | ||
java_sysh.inc | ||
jdk15.inc | ||
jdk15.pas | ||
jdynarrh.inc | ||
jint64.inc | ||
jmathh.inc | ||
jpvar.inc | ||
jpvarh.inc | ||
jrec.inc | ||
jrech.inc | ||
jset.inc | ||
jseth.inc | ||
Makefile | ||
Makefile.fpc | ||
objpas.pp | ||
rtl.cfg | ||
rtti.inc | ||
sstringh.inc | ||
sstrings.inc | ||
system.pp | ||
ustringh.inc | ||
ustrings.inc |