~ubuntu-branches/ubuntu/gutsy/proguard/gutsy

« back to all changes in this revision

Viewing changes to src/proguard/classfile/editor/MethodInvocationFixer.java

  • Committer: Bazaar Package Importer
  • Author(s): Sam Clegg
  • Date: 2007-01-13 12:27:45 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20070113122745-9nq3v1qcdr02o8xd
Tags: 3.7-1
* New upstream release
* debian/control: make Arch: all (Closes: #360115)
* use "$@" rather then $* in shell startup scripts (Closes: #364962)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* $Id: MethodInvocationFixer.java,v 1.4 2005/08/13 21:01:04 eric Exp $
 
1
/* $Id: MethodInvocationFixer.java,v 1.4.2.2 2006/03/28 22:03:59 eric Exp $
2
2
 *
3
3
 * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
4
4
 *
5
 
 * Copyright (c) 2002-2005 Eric Lafortune (eric@graphics.cornell.edu)
 
5
 * Copyright (c) 2002-2006 Eric Lafortune (eric@graphics.cornell.edu)
6
6
 *
7
7
 * This program is free software; you can redistribute it and/or modify it
8
8
 * under the terms of the GNU General Public License as published by the Free
212
212
 
213
213
    public void visitClassCpInfo(ClassFile classFile, ClassCpInfo classCpInfo)
214
214
    {
215
 
        // Check if this class entry refers to an interface class.
216
 
        ClassFile referencedClassFile = classCpInfo.referencedClassFile;
217
 
        if (referencedClassFile != null)
218
 
        {
219
 
            isInterfaceMethod = (referencedClassFile.getAccessFlags() & ClassConstants.INTERNAL_ACC_INTERFACE) != 0;
 
215
        // Check if this class entry is an array type.
 
216
        if (ClassUtil.isInternalArrayType(classCpInfo.getName(classFile)))
 
217
        {
 
218
            isInterfaceMethod = false;
 
219
        }
 
220
        else
 
221
        {
 
222
            // Check if this class entry refers to an interface class.
 
223
            ClassFile referencedClassFile = classCpInfo.referencedClassFile;
 
224
            if (referencedClassFile != null)
 
225
            {
 
226
                isInterfaceMethod = (referencedClassFile.getAccessFlags() & ClassConstants.INTERNAL_ACC_INTERFACE) != 0;
 
227
            }
220
228
        }
221
229
    }
222
230