Á°¤ÎÆü / ¼¡¤ÎÆü / ºÇ¿· / 2006-10

¤¿¤Þ¤Ë¤Ã¤­¡£ / 2006-10-13

2006-10
Æü·î²Ð¿åÌÚ¶âÅÚ
1234567
891011121314
15161718192021
22232425262728
293031

2006-10-13 Fri

¢£ ASM

Á°¤«¤éÃΤäƤ¤¤¿¤â¤Î¤Î¡¤BCEL ¤Ç»ö­¤ê¤Æ¤¤¤¿¤Î¤Ç»È¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤¬¡¤BCEL ¤Î Java 5 Âбþ¤ÎÃÙ¤µ¤Ë¤¤¤¤²Ã¸º·ùµ¤¤¬¤µ¤·¤¿¤Î¤Ç ASM ¤Ë¾è¤ê´¹¤¨¤Æ¤ß¤ë¡¥
¤Á¤Ê¤ß¤Ë¡¤Javassist ¤Ï¥á¥ó¥Ð¤Îºï½ü¤¬¤Ç¤­¤Ê¤¤¤Î¤Ç¡¤¤¢¤Þ¤ê¾è¤ê°Ü¤ëµ¤¤Ë¤Ê¤é¤Ê¤¤¡¥´Êñ¤ËÁàºî¤Ç¤­¤ë¤Î¤ÏÌ¥ÎÏŪ¤Ê¤ó¤À¤±¤É¡¥

ASM ¤ò»È¤¦¤Ë¤Ï Visitor ¥Ñ¥¿¡¼¥ó¤òÍý²ò¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¡¥Decorator ¥Ñ¥¿¡¼¥ó¤â¤«¤Ê¡©
¤Ç¡¤¤À¡¥ASM ¤ò»È¤Ã¤Æ¥Ð¥¤¥È¥³¡¼¥É¤ò¤³¤Á¤ç¤³¤Á¤ç¤È¤¤¤¸¤Ã¤Æ¤ß¤ë¤È¡¤
- MethodVisitorA ¤Ç¥Õ¥£¡¼¥ë¥É¤ËÂФ¹¤ëÁàºî¤¬¹Ô¤ï¤ì¤ë¤´¤È¤Ë¡¤¤È¤¢¤ë½èÍý¦Á¤ò¹Ô¤ï¤»¤ë¡¥
- MethodVisitorB ¤Ç¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤´¤È¤Ë¡¤¤È¤¢¤ë½èÍý¦Â¤ò¹Ô¤ï¤»¤ë¡¥
¤³¤ÎÆó¤Ä¤Î Visitor ¤ò»È¤Ã¤Æ¤È¤¢¤ë¥¯¥é¥¹¤ò¹¹¿·¤·¤Æ¤ß¤¿¡¥
¦Á¤¬¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¤Î½èÍý¤Î¤È¤­¡¤MethodVisitorB ¤¬¦Á¤Ë¤è¤Ã¤ÆÄɲ䵤줿¤â¤Î¤ËÂФ·¤Æ¤âÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¥

someMethodCall(someField);


¦Á¡¤¦Â¤È¤â¤Ë System.out.println ¤È¤·¤¿¤È¤­¡¤¾å¤Î1¹Ô¤ò¹¹¿·¤¹¤ë¤È

System.out.println("someMethodCall");
System.out.println("someFieldReferenced");
someMethodCall(someField);


¤È¤Ê¤Ã¤ÆÍߤ·¤¤¤È¤³¤í¤¬¡¤

System.out.println("SomeClass#someMethodCall");
System.out.println("PrintStream#println");
System.out.println("someFieldReferenced");
someMethodCall(someField);


¤È¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¥¤³¤ì¤Ïº¤¤Ã¤¿¡¥»ÅÊý¤Ê¤¤¤Î¤Ç¡¤MethodVisitorA ¤È MethodVisitorB ¤½¤ì¤¾¤ì¤Ç¹Ô¤¦½èÍý¤òƱ¤¸¥¯¥é¥¹ MethodVisitorC ¤Ç¤ä¤ë¤è¤¦¤Ë¤¹¤ë¤È¡¤´õ˾Ä̤ê¤Î½ÐÎϤ¬ÆÀ¤é¤ì¤¿¡¥
¤¬¡¤¤³¤¦¤¹¤ë¤È MethodVisitorC ¤¬¤¹¤ó¤´¤¤Ä¹¤¯¤Ê¤ë¤Î¤Ç¡¤¤É¤¦¤·¤è¤¦¡¦¡¦¡¦¡¥

Category: [Java][ASM]
Referrer (Inside): [2006-09-11-1]

2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12

ºÇ½ª¹¹¿·»þ´Ö: 2008-09-04 19:19

Á°¤ÎÆü / ¼¡¤ÎÆü / ºÇ¿· / 2006-10

¥«¥Æ¥´¥ê