blob: 679158d15cabd5c32806fb5d4f3e5c04053c28ef [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.diagnostic.internal;
import com.android.tools.r8.diagnostic.DefinitionContext;
import com.android.tools.r8.diagnostic.MissingDefinitionInfo;
import com.android.tools.r8.diagnostic.MissingFieldInfo;
import com.android.tools.r8.references.FieldReference;
import java.util.Collection;
public class MissingFieldInfoImpl extends MissingDefinitionInfoBase implements MissingFieldInfo {
private final FieldReference fieldReference;
private MissingFieldInfoImpl(
FieldReference fieldReference, Collection<DefinitionContext> referencedFromContexts) {
super(referencedFromContexts);
this.fieldReference = fieldReference;
}
public static Builder builder() {
return new Builder();
}
@Override
public FieldReference getFieldReference() {
return fieldReference;
}
public static class Builder extends MissingDefinitionInfoBase.Builder<Builder> {
private FieldReference fieldReference;
private Builder() {}
public Builder setField(FieldReference fieldReference) {
this.fieldReference = fieldReference;
return this;
}
public MissingDefinitionInfo build() {
return new MissingFieldInfoImpl(fieldReference, referencedFromContextsBuilder.build());
}
@Override
Builder self() {
return this;
}
}
}