~ubuntu-branches/ubuntu/maverick/proguard/maverick

« back to all changes in this revision

Viewing changes to src/proguard/classfile/ClassFile.java

  • Committer: Bazaar Package Importer
  • Author(s): Sam Clegg
  • Date: 2005-11-13 09:42:59 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20051113094259-432zf4yyw4890mmn
Tags: 3.4-1
* New upstream release (Closes: #338355)
* debian/control: bump standards version
* debian/copyright: update FSF address
* increase java stack size for proguard and proguardgui

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* $Id: ClassFile.java,v 1.20 2004/12/11 16:35:23 eric Exp $
 
1
/* $Id: ClassFile.java,v 1.25 2005/06/11 13:21:35 eric Exp $
2
2
 *
3
3
 * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
4
4
 *
5
5
 * Copyright (c) 1999      Mark Welsh (markw@retrologic.com)
6
 
 * Copyright (c) 2002-2004 Eric Lafortune (eric@graphics.cornell.edu)
 
6
 * Copyright (c) 2002-2005 Eric Lafortune (eric@graphics.cornell.edu)
7
7
 *
8
8
 * This library is free software; you can redistribute it and/or modify it
9
9
 * under the terms of the GNU General Public License as published by the Free
51
51
    public String getSuperName();
52
52
 
53
53
    /**
 
54
     * Returns the number of interfaces that this class implements.
 
55
     */
 
56
    public int getInterfaceCount();
 
57
 
 
58
    /**
54
59
     * Returns the full internal name of the interface at the given index of
55
60
     * this class.
56
61
     */
182
187
    public void methodAccept(String name, String descriptor, MemberInfoVisitor memberInfoVisitor);
183
188
 
184
189
    /**
 
190
     * Returns whether the given method may possibly have implementing or
 
191
     * overriding methods down the class hierarchy. This can only be true
 
192
     * if the class is not final, and the method is not private, static, or
 
193
     * final, or a constructor.
 
194
     * @param methodInfo the method that may have implementations.
 
195
     * @return whether it may have implementations.
 
196
     */
 
197
    public boolean mayHaveImplementations(MethodInfo methodInfo);
 
198
 
 
199
    /**
 
200
     * Lets the given member info visitor visit all concrete implementations of
 
201
     * the specified method in the class hierarchy.
 
202
     * @param methodInfo        the method that may have concrete implementations.
 
203
     * @param visitThisMethod   specifies whether to visit the method in
 
204
     *                          this class.
 
205
     * @param memberInfoVisitor the <code>MemberInfoVisitor</code> that will
 
206
     *                          visit the method hierarchy.
 
207
     */
 
208
    public void methodImplementationsAccept(MethodInfo        methodInfo,
 
209
                                            boolean           visitThisMethod,
 
210
                                            MemberInfoVisitor memberInfoVisitor);
 
211
 
 
212
    /**
 
213
     * Lets the given member info visitor visit all concrete implementations of
 
214
     * the specified method in the class hierarchy.
 
215
     * @param name              the method name.
 
216
     * @param type              the method descriptor.
 
217
     * @param visitThisMethod   specifies whether to visit the method in
 
218
     *                          this class.
 
219
     * @param memberInfoVisitor the <code>MemberInfoVisitor</code> that will
 
220
     *                          visit the method hierarchy.
 
221
     */
 
222
    public void methodImplementationsAccept(String            name,
 
223
                                            String            type,
 
224
                                            boolean           visitThisMethod,
 
225
                                            MemberInfoVisitor memberInfoVisitor);
 
226
 
 
227
    /**
 
228
     * Lets the given member info visitor visit all concrete implementations of
 
229
     * the specified method in the class hierarchy.
 
230
     * @param name                   the method name.
 
231
     * @param descriptor             the method descriptor.
 
232
     * @param visitThisMethod        specifies whether to visit the method in
 
233
     *                               this class.
 
234
     * @param visitSpecialMethods    specifies whether to visit the special
 
235
     *                               initializer methods.
 
236
     * @param visitSuperMethods      specifies whether to visit the method in
 
237
     *                               the super classes.
 
238
     * @param visitOverridingMethods specifies whether to visit the method in
 
239
     *                               the subclasses.
 
240
     * @param visitSpecialMethods    specifies whether to visit special methods.
 
241
     * @param memberInfoVisitor      the <code>MemberInfoVisitor</code> that
 
242
     *                               will visit the method hierarchy.
 
243
     */
 
244
    public void methodImplementationsAccept(String            name,
 
245
                                            String            descriptor,
 
246
                                            boolean           visitThisMethod,
 
247
                                            boolean           visitSpecialMethods,
 
248
                                            boolean           visitSuperMethods,
 
249
                                            boolean           visitOverridingMethods,
 
250
                                            MemberInfoVisitor memberInfoVisitor);
 
251
    /**
 
252
     * Lets the given member info visitor visit all concrete implementations of
 
253
     * the specified method in the class hierarchy.
 
254
     * @param name                   the method name.
 
255
     * @param descriptor             the method descriptor.
 
256
     * @param methodInfo             the method itself, if present.
 
257
     * @param visitThisMethod        specifies whether to visit the method in
 
258
     *                               this class.
 
259
     * @param visitSpecialMethods    specifies whether to visit the method in
 
260
     *                               the interfaces.
 
261
     * @param visitSuperMethods      specifies whether to visit the method in
 
262
     *                               the super classes.
 
263
     * @param visitOverridingMethods specifies whether to visit the method in
 
264
     *                               the subclasses.
 
265
     * @param visitSpecialMethods    specifies whether to visit special methods.
 
266
     * @param memberInfoVisitor      the <code>MemberInfoVisitor</code> that
 
267
     *                               will visit the method hierarchy.
 
268
     */
 
269
    public void methodImplementationsAccept(String            name,
 
270
                                            String            descriptor,
 
271
                                            MethodInfo        methodInfo,
 
272
                                            boolean           visitThisMethod,
 
273
                                            boolean           visitSuperMethods,
 
274
                                            boolean           visitOverridingMethods,
 
275
                                            boolean           visitSpecialMethods,
 
276
                                            MemberInfoVisitor memberInfoVisitor);
 
277
 
 
278
    /**
185
279
     * Lets the given attribute info visitor visit all attributes of this class.
186
280
     */
187
281
    public void attributesAccept(AttrInfoVisitor attrInfoVisitor);