/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.apkcheck; /** * Container representing a method with parameters. */ public class FieldInfo { private String mName; private String mType; private String mNameAndType; private boolean mTypeNormalized; /** * Constructs a FieldInfo. * * @param name Field name. * @param type Fully-qualified binary or non-binary type name. */ public FieldInfo(String name, String type) { mName = name; mType = type; } /** * Returns the combined name and type. This value is used as a hash * table key. */ public String getNameAndType() { if (mNameAndType == null) mNameAndType = mName + ":" + TypeUtils.typeToDescriptor(mType); return mNameAndType; } /** * Normalize the type used in fields. */ public void normalizeType(ApiList apiList) { if (!mTypeNormalized) { String type = TypeUtils.ambiguousToBinaryName(mType, apiList); if (!type.equals(mType)) { /* name changed, force regen on name+type */ mType = type; mNameAndType = null; } mTypeNormalized = true; } } }