blob: ac3259ccb12f64cbf9a51bd64c2aa8cf469baa15 [file]
// Copyright (c) 2024, 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;
import com.android.tools.r8.references.PackageReference;
import com.android.tools.r8.tracereferences.TraceReferencesConsumer;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
public class TraceReferencesInspector implements TraceReferencesConsumer {
private final Set<TracedClass> classes = ConcurrentHashMap.newKeySet();
private final Set<TracedField> fields = ConcurrentHashMap.newKeySet();
private final Set<TracedMethod> methods = ConcurrentHashMap.newKeySet();
private final Set<PackageReference> packages = ConcurrentHashMap.newKeySet();
@Override
public void acceptType(TracedClass tracedClass, DiagnosticsHandler handler) {
classes.add(tracedClass);
}
@Override
public void acceptField(TracedField tracedField, DiagnosticsHandler handler) {
fields.add(tracedField);
}
@Override
public void acceptMethod(TracedMethod tracedMethod, DiagnosticsHandler handler) {
methods.add(tracedMethod);
}
@Override
public void acceptPackage(PackageReference pkg, DiagnosticsHandler handler) {
packages.add(pkg);
}
public Set<PackageReference> getPackages() {
return packages;
}
}