blob: 2598898b8e30431433cb594b7daff7721d03c5a5 [file] [log] [blame]
// Copyright (c) 2021, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package com.android.tools.r8.apimodel;
import com.android.tools.r8.androidapi.AndroidApiClass;
import com.android.tools.r8.references.FieldReference;
import com.android.tools.r8.references.MethodReference;
import com.android.tools.r8.references.Reference;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.TraversalContinuation;
import java.util.function.BiFunction;
/** This is a template for generating AndroidApiDatabaseClass extending AndroidApiClass */
public class AndroidApiDatabaseClassTemplate extends AndroidApiClass {
protected AndroidApiDatabaseClassTemplate() {
// Code added dynamically in AndroidApiDatabaseBuilderGenerator.
super(Reference.classFromDescriptor(placeHolderForInit()));
}
@Override
public AndroidApiLevel getApiLevel() {
// Code added dynamically in AndroidApiDatabaseBuilderGenerator.
return placeHolderForGetApiLevel();
}
@Override
public TraversalContinuation visitFields(
BiFunction<FieldReference, AndroidApiLevel, TraversalContinuation> visitor) {
// Code added dynamically in AndroidApiDatabaseBuilderGenerator.
placeHolderForVisitFields();
return TraversalContinuation.CONTINUE;
}
@Override
public TraversalContinuation visitMethods(
BiFunction<MethodReference, AndroidApiLevel, TraversalContinuation> visitor) {
// Code added dynamically in AndroidApiDatabaseBuilderGenerator.
placeHolderForVisitMethods();
return TraversalContinuation.CONTINUE;
}
private static String placeHolderForInit() {
return null;
}
private static AndroidApiLevel placeHolderForGetApiLevel() {
return null;
}
private static void placeHolderForVisitFields() {}
private static void placeHolderForVisitMethods() {}
}