[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Classpath] Re: java.lang.Class inner class methods
From: |
C. Scott Ananian |
Subject: |
Re: [Classpath] Re: java.lang.Class inner class methods |
Date: |
Thu, 2 Aug 2001 17:04:45 -0400 (EDT) |
On Thu, 2 Aug 2001 address@hidden wrote:
> > Does anyone have a hint as to how the inner class methods of
> > java.lang.Class (getDeclaringClass, getClasses, etc.) would be implemented
> > by a JVM? Don't they depend on how the Java compiler implements inner
> > classes? AFAIK the JVM isn't aware of inner classes at all.
>
> The inner class "Y" of class "X" is compiled as "X$Y".
> So if a class name contains "$", it must be an innerclass.
actually, no. '$' is still a valid identifier character, although
recommended only for machine-generated code. I can name my class 'A$B'
without having an outer class 'A' at all.
--s
chemical agent Delta Force plastique PLO Soviet $400 million in gold bullion
class struggle Honduras Secretary BATF Ortega milita for Dummies Ft. Meade
( http://lesser-magoo.lcs.mit.edu/~cananian )
--
"These students are going to have to find out what law and order is
all about." -- Brig. General Robert Canterbury, Noon, May 4, 1970,
minutes before his troops shot 13 unarmed Kent State students, killing 4.
--
[http://www.cs.cmu.edu/~dst/DeCSS/Gallery/]
#!/usr/bin/perl -w
# 526-byte qrpff, Keith Winstein and Marc Horowitz <address@hidden>
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$c=142;if((@a=unx"C*",$_)[20]&48){$h=5;
$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])address@hidden;s/...$/1$&/;$d=
unxV,xb25,$_;$b=73;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=($t=255)&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9
,$_=(map{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t
^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271))
[$_]^(($h>>=8)+=$f+(~$g&$t))address@hidden"C*",@a}';s/x/pack+/g;eval