xref: /aosp_15_r20/external/javassist/README.md (revision f1fbf3c2ab775ce834e0af96b7a85bdc7a0eac65)
1*f1fbf3c2SXin LiJava bytecode engineering toolkit
2*f1fbf3c2SXin Li### [Javassist version 3](http://www.javassist.org)
3*f1fbf3c2SXin Li
4*f1fbf3c2SXin LiCopyright (C) 1999-2018 by Shigeru Chiba, All rights reserved.
5*f1fbf3c2SXin Li
6*f1fbf3c2SXin LiJavassist (JAVA programming ASSISTant) makes Java bytecode manipulation
7*f1fbf3c2SXin Lisimple. It is a class library for editing bytecodes in Java; it enables Java
8*f1fbf3c2SXin Liprograms to define a new class at runtime and to modify a class file when the
9*f1fbf3c2SXin LiJVM loads it. Unlike other similar bytecode editors, Javassist provides two
10*f1fbf3c2SXin Lilevels of API: source level and bytecode level. If the users use the source-
11*f1fbf3c2SXin Lilevel API, they can edit a class file without knowledge of the specifications
12*f1fbf3c2SXin Liof the Java bytecode. The whole API is designed with only the vocabulary of
13*f1fbf3c2SXin Lithe Java language. You can even specify inserted bytecode in the form of
14*f1fbf3c2SXin Lisource text; Javassist compiles it on the fly. On the other hand, the
15*f1fbf3c2SXin Libytecode-level API allows the users to directly edit a class file as other
16*f1fbf3c2SXin Lieditors.
17*f1fbf3c2SXin Li
18*f1fbf3c2SXin LiThis software is distributed under the Mozilla Public License Version 1.1,
19*f1fbf3c2SXin Lithe GNU Lesser General Public License Version 2.1 or later, or
20*f1fbf3c2SXin Lithe Apache License Version 2.0.
21*f1fbf3c2SXin Li
22*f1fbf3c2SXin Li#### Files
23*f1fbf3c2SXin Li
24*f1fbf3c2SXin Li  * [Readme.html](Readme.html)
25*f1fbf3c2SXin LiReadme file (a longer version of this file).
26*f1fbf3c2SXin Li
27*f1fbf3c2SXin Li  * [License.html](License.html)
28*f1fbf3c2SXin LiLicense file
29*f1fbf3c2SXin Li
30*f1fbf3c2SXin Li  * [tutorial/tutorial.html](tutorial/tutorial.html)
31*f1fbf3c2SXin LiTutorial
32*f1fbf3c2SXin Li
33*f1fbf3c2SXin Li  * ./javassist.jar
34*f1fbf3c2SXin LiThe Javassist jar file (class files)
35*f1fbf3c2SXin Li
36*f1fbf3c2SXin Li  * ./src/main
37*f1fbf3c2SXin LiThe source files
38*f1fbf3c2SXin Li
39*f1fbf3c2SXin Li  * [html/index.html](html/index.html)
40*f1fbf3c2SXin LiThe top page of the Javassist API document.
41