blob: 648179fb635f1eecd04b0c912ded98219324b737 [file]
// Copyright (c) 2026, 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.shaking;
import com.android.tools.r8.origin.Origin;
import com.android.tools.r8.position.Position;
import java.util.List;
public class KeepClassMembersNoShrinkingOfInitializerOnSubclassesFakeProguardRule
extends ProguardKeepRule {
public KeepClassMembersNoShrinkingOfInitializerOnSubclassesFakeProguardRule(
Origin origin,
Position position,
String source,
List<ProguardTypeMatcher> classAnnotations,
ProguardAccessFlags classAccessFlags,
ProguardAccessFlags negatedClassAccessFlags,
boolean classTypeNegated,
ProguardClassType classType,
ProguardClassNameList classNames,
List<ProguardTypeMatcher> inheritanceAnnotations,
ProguardTypeMatcher inheritanceClassName,
boolean inheritanceIsExtends,
List<ProguardMemberRule> memberRules,
ProguardKeepRuleType type,
ProguardKeepRuleModifiers modifiers) {
super(
origin,
position,
source,
classAnnotations,
classAccessFlags,
negatedClassAccessFlags,
classTypeNegated,
classType,
classNames,
inheritanceAnnotations,
inheritanceClassName,
inheritanceIsExtends,
memberRules,
type,
modifiers);
}
public static Builder builder() {
return new Builder();
}
public static class Builder extends ProguardKeepRule.Builder {
@Override
public KeepClassMembersNoShrinkingOfInitializerOnSubclassesFakeProguardRule build() {
return new KeepClassMembersNoShrinkingOfInitializerOnSubclassesFakeProguardRule(
origin,
getPosition(),
source,
buildClassAnnotations(),
classAccessFlags,
negatedClassAccessFlags,
classTypeNegated,
classType,
classNames,
buildInheritanceAnnotations(),
inheritanceClassName,
inheritanceIsExtends,
memberRules,
type,
modifiersBuilder.build());
}
}
}