Script: Write out ASM Code to generate Java class

Posted by: Robert Fischer on 2010-11-05 15:10:00.0

Edit: Updated version of the script here.


Here’s a nifty little Groovy script to write out the ASM code to generate a given Java class.
#!/usr/bin/env groovy
 
import org.objectweb.asm.util.ASMifierClassVisitor as V
import org.objectweb.asm.ClassReader as R
 
@Grab(group='asm', module='asm-all', version='[3.3,)')
private class JustHereForGrab {}
 
new R(new File(this.args[0]).newInputStream()).accept(new V(new PrintWriter(System.out)), 0)

You will have to update your ~/.groovy/grapeConfig.xml file to point to a repo with ASM in it. I’ve posted my grapeConfig.xml at http://repo.smokejumperit.com/grapeConfig.xml.


Comments


This post was by Robert Fischer, written on November 5, 2010.
Comment on this post: http://enfranchisedmind.com/blog/posts/groovy-shell-script-asm-to-java/#respond
Public Permalink: http://enfranchisedmind.com/blog/posts/groovy-shell-script-asm-to-java/
Creative Commons License
This article was a post on the EnfranchisedMind blog. EnfranchisedMind Blog by Robert Fischer, Brian Hurt, and Other Authors is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

(Digital Fingerprint: bcecb67d74ab248f06f068724220e340 (68.142.243.103) )


be the first to rate this blog

About Robert Fischer

Robert Fischer

Robert Fischer is a multi-language open source developer currently specializing in Groovy in Grails. In the past, his specialties have been in Perl, Java, Ruby, and OCaml. In the future, his specialty will probably be F# or (preferably) a functional JVM language like Scala or Clojure.

Robert is the author of Grails Persistence in GORM and GSQL, a regular contributor to GroovyMag and JSMag, the founder of the JConch Java concurrency library, and the author/maintainer of Liquibase-DSL and the Autobase database migration plugin for Grails.

More About Robert »

NFJS, the Magazine

2010-10-01 00:00:00.0 Issue Now Available
  • What's Brewing in Java 7: The Language Features
    by Venkat Subramaniam
  • Waste!
    by Hamlet D`Arcy
  • Arquillian: A component Model for Integration Testing
    by Dan Allen
  • Spring Roo - A Jump-Start for Your Java Project
    by Paul Chapman
Learn More »