1 /* 2 * Copyright (C) 2018 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.tools.metalava.model.item 18 19 import com.android.tools.metalava.model.ApiVariantSelectorsFactory 20 import com.android.tools.metalava.model.BaseModifierList 21 import com.android.tools.metalava.model.ClassItem 22 import com.android.tools.metalava.model.Codebase 23 import com.android.tools.metalava.model.FieldItem 24 import com.android.tools.metalava.model.ItemDocumentationFactory 25 import com.android.tools.metalava.model.ItemLanguage 26 import com.android.tools.metalava.model.MethodItem 27 import com.android.tools.metalava.model.ParameterItem 28 import com.android.tools.metalava.model.PropertyItem 29 import com.android.tools.metalava.model.TypeItem 30 import com.android.tools.metalava.reporter.FileLocation 31 32 open class DefaultPropertyItem( 33 codebase: Codebase, 34 fileLocation: FileLocation, 35 itemLanguage: ItemLanguage, 36 documentationFactory: ItemDocumentationFactory, 37 variantSelectorsFactory: ApiVariantSelectorsFactory, 38 modifiers: BaseModifierList, 39 name: String, 40 containingClass: ClassItem, 41 private var type: TypeItem, 42 override val getter: MethodItem?, 43 override val setter: MethodItem?, 44 override val constructorParameter: ParameterItem?, 45 override val backingField: FieldItem?, 46 ) : 47 DefaultMemberItem( 48 codebase, 49 fileLocation, 50 itemLanguage, 51 modifiers, 52 documentationFactory, 53 variantSelectorsFactory, 54 name, 55 containingClass, 56 ), 57 PropertyItem { 58 typenull59 final override fun type(): TypeItem = type 60 61 final override fun setType(type: TypeItem) { 62 this.type = type 63 } 64 } 65