| // 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.MissingMethodInfo; | 
 | import com.android.tools.r8.references.MethodReference; | 
 | import java.util.Collection; | 
 |  | 
 | public class MissingMethodInfoImpl extends MissingDefinitionInfoBase implements MissingMethodInfo { | 
 |  | 
 |   private final MethodReference methodReference; | 
 |  | 
 |   private MissingMethodInfoImpl( | 
 |       MethodReference methodReference, Collection<DefinitionContext> referencedFromContexts) { | 
 |     super(referencedFromContexts); | 
 |     this.methodReference = methodReference; | 
 |   } | 
 |  | 
 |   public static Builder builder() { | 
 |     return new Builder(); | 
 |   } | 
 |  | 
 |   @Override | 
 |   public MethodReference getMethodReference() { | 
 |     return methodReference; | 
 |   } | 
 |  | 
 |   public static class Builder extends MissingDefinitionInfoBase.Builder<Builder> { | 
 |  | 
 |     private MethodReference methodReference; | 
 |  | 
 |     private Builder() {} | 
 |  | 
 |     public Builder setMethod(MethodReference methodReference) { | 
 |       this.methodReference = methodReference; | 
 |       return this; | 
 |     } | 
 |  | 
 |     public MissingDefinitionInfo build() { | 
 |       return new MissingMethodInfoImpl(methodReference, referencedFromContextsBuilder.build()); | 
 |     } | 
 |  | 
 |     @Override | 
 |     Builder self() { | 
 |       return this; | 
 |     } | 
 |   } | 
 | } |