| // Copyright (c) 2020, 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.synthesis; |
| |
| import com.android.tools.r8.graph.ClassKind; |
| import com.android.tools.r8.graph.DexItemFactory; |
| import com.android.tools.r8.graph.DexProgramClass; |
| import com.android.tools.r8.graph.DexType; |
| import com.android.tools.r8.synthesis.SyntheticNaming.SyntheticKind; |
| |
| public class SyntheticProgramClassBuilder |
| extends SyntheticClassBuilder<SyntheticProgramClassBuilder, DexProgramClass> { |
| |
| SyntheticProgramClassBuilder( |
| DexType type, |
| SyntheticKind syntheticKind, |
| SynthesizingContext context, |
| DexItemFactory factory) { |
| super(type, syntheticKind, context, factory); |
| } |
| |
| @Override |
| public ClassKind<DexProgramClass> getClassKind() { |
| return ClassKind.PROGRAM; |
| } |
| |
| @Override |
| public SyntheticProgramClassBuilder self() { |
| return this; |
| } |
| |
| @Override |
| public DexProgramClass build() { |
| DexProgramClass clazz = super.build(); |
| assert !SyntheticMarker.isDefinitelyNotSyntheticProgramClass(clazz); |
| return clazz; |
| } |
| } |