Skip to content

Commit

Permalink
changed the behavior of CtClass#getMethods(), getFields(), and getCon…
Browse files Browse the repository at this point in the history
…structors().

git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@217 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
  • Loading branch information
chiba committed Nov 4, 2005
1 parent eb12cc5 commit 7696279
Show file tree
Hide file tree
Showing 8 changed files with 473 additions and 14 deletions.
3 changes: 3 additions & 0 deletions Readme.html
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,9 @@ <h2>Changes</h2>
<p>- version 3.1

<ul>
<li>getFields(), getMethods(), and getConstructors() in CtClass
were changed to return non-private memebers instead of only
public members.
<li>getEnclosingClass() in javassist.CtClass was renamed
to getEnclosingMethod().
<li>toMethod() in javassist.CtConstructor has been implemented.
Expand Down
53 changes: 53 additions & 0 deletions sample/preproc/Assistant.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* Javassist, a Java-bytecode translator toolkit.
* Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. Alternatively, the contents of this file may be used under
* the terms of the GNU Lesser General Public License Version 2.1 or later.
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*/

package sample.preproc;

import javassist.CtClass;
import javassist.CannotCompileException;
import javassist.ClassPool;

/**
* This is an interface for objects invoked by the
* Javassist preprocessor when the preprocessor encounters an annotated
* import declaration.
*
* @see sample.preproc.Compiler
*/
public interface Assistant {
/**
* Is called when the Javassist preprocessor encounters an
* import declaration annotated with the "by" keyword.
*
* <p>The original import declaration is replaced with new import
* declarations of classes returned by this method. For example,
* the following implementation does not change the original
* declaration:
*
* <ul><pre>
* public CtClass[] assist(ClassPool cp, String importname, String[] args) {
* return new CtClass[] { cp.get(importname) };
* }
* </pre></uL>
*
* @param cp class pool
* @param importname the class imported by the declaration
* @param args the parameters specified by the annotation
* @return the classes imported in the java source
* program produced by the preprocessor.
*/
public CtClass[] assist(ClassPool cp, String importname,
String[] args) throws CannotCompileException;
}
Loading

0 comments on commit 7696279

Please sign in to comment.