1837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden/* 2837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * Copyright (C) 2010 The Android Open Source Project 3837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * 4837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * Licensed under the Apache License, Version 2.0 (the "License"); 5837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * you may not use this file except in compliance with the License. 6837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * You may obtain a copy of the License at 7837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * 8837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * http://www.apache.org/licenses/LICENSE-2.0 9837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * 10837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * Unless required by applicable law or agreed to in writing, software 11837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * distributed under the License is distributed on an "AS IS" BASIS, 12837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * See the License for the specific language governing permissions and 14837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * limitations under the License. 15837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden */ 16837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden 17837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFaddenpackage com.android.dexdeps; 18837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden 19837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFaddenimport java.util.ArrayList; 20837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden 21837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFaddenpublic class ClassRef { 22837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden private String mClassName; 23837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden private ArrayList<FieldRef> mFieldRefs; 24837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden private ArrayList<MethodRef> mMethodRefs; 25837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden 26837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden /** 27837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * Initializes a new class reference. 28837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden */ 29837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden public ClassRef(String className) { 30837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden mClassName = className; 31837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden mFieldRefs = new ArrayList<FieldRef>(); 32837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden mMethodRefs = new ArrayList<MethodRef>(); 33837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden } 34837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden 35837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden /** 36837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * Adds the field to the field list. 37837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden */ 38837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden public void addField(FieldRef fref) { 39837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden mFieldRefs.add(fref); 40837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden } 41837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden 42837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden /** 43837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * Returns the field list as an array. 44837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden */ 45837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden public FieldRef[] getFieldArray() { 46837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden return mFieldRefs.toArray(new FieldRef[mFieldRefs.size()]); 47837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden } 48837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden 49837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden /** 50837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * Adds the method to the method list. 51837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden */ 52837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden public void addMethod(MethodRef mref) { 53837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden mMethodRefs.add(mref); 54837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden } 55837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden 56837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden /** 57837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * Returns the method list as an array. 58837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden */ 59837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden public MethodRef[] getMethodArray() { 60837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden return mMethodRefs.toArray(new MethodRef[mMethodRefs.size()]); 61837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden } 62837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden 63837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden /** 64837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden * Gets the class name. 65837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden */ 66837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden public String getName() { 67837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden return mClassName; 68837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden } 69837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden} 70837070dd1e39c87370239643f0df2e2ab9d41fc9Andy McFadden 71