196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Projectpackage jdiff;
296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Projectimport java.util.*;
496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Projectimport com.sun.javadoc.*;
596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project/**
796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project * The changes between two class constructor, method or field members.
896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project *
996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project * See the file LICENSE.txt for copyright details.
1096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project * @author Matthew Doar, mdoar@pobox.com
1196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project */
1296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Projectclass MemberDiff {
1396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
1496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** The name of the member. */
1596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String name_;
1696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
1796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /**
1896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * The old member type. For methods, this is the return type.
1996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     */
2096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String oldType_ = null;
2196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /**
2296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * The new member type. For methods, this is the return type.
2396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     */
2496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String newType_ = null;
2596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
2696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** The old signature. Null except for methods. */
2796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String oldSignature_ = null;
2896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** The new signature. Null except for methods. */
2996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String newSignature_ = null;
3096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
3196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /**
3296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * The old list of exceptions. Null except for methods and constructors.
3396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     */
3496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String oldExceptions_ = null;
3596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /**
3696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * The new list of exceptions. Null except for methods and constructors.
3796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     */
3896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String newExceptions_ = null;
3996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
4096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /**
4196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * A string describing the changes in documentation.
4296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     */
4396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String documentationChange_ = null;
4496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
4596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /**
4696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * A string describing the changes in modifiers.
4796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * Changes can be in whether this is abstract, static, final, and in
4896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * its visibility.
4996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * Null if no change.
5096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     */
5196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String modifiersChange_ = null;
5296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
5396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /**
5496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * The class name where the new member is defined.
5596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * Null if no change in inheritance.
5696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     */
5796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String inheritedFrom_ = null;
5896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
5996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** Default constructor. */
6096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public MemberDiff(String name) {
6196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        name_ = name;
6296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    }
6396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
6496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** Add a change in the modifiers. */
6596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public void addModifiersChange(String commonModifierChanges) {
6696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        if (commonModifierChanges != null) {
6796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project            if (modifiersChange_ == null)
6896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project                modifiersChange_ = commonModifierChanges;
6996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project            else
7096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project                modifiersChange_ += " " + commonModifierChanges;
7196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        }
7296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    }
7396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project}
74