mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 11:50:54 +07:00
Merge three ValuesOrderInfos into one
GitOrigin-RevId: fa3a12d68dc44a9f05d306a79b4a26692e789eb3
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5f7d95b99d
commit
ed4f8e5dac
@@ -44,7 +44,7 @@ public class TraceResultInterpreterImpl implements TraceResultInterpreter {
|
||||
final Value trace = info.getValue(i);
|
||||
final CallTraceInterpreter interpreter = myInterpreterFactory.getInterpreter(call.getName(), call.getType());
|
||||
|
||||
final TraceInfo traceInfo = trace == null ? ValuesOrderInfo.empty(call) : interpreter.resolve(call, trace);
|
||||
final TraceInfo traceInfo = trace == null ? ValuesOrderInfo.Companion.empty(call) : interpreter.resolve(call, trace);
|
||||
result.add(traceInfo);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ import com.intellij.debugger.streams.trace.impl.interpret.ex.UnexpectedValueExce
|
||||
import com.intellij.debugger.streams.trace.impl.interpret.ex.UnexpectedValueTypeException;
|
||||
import com.intellij.debugger.streams.wrapper.StreamCall;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -32,7 +31,7 @@ public class DistinctCallTraceInterpreter implements CallTraceInterpreter {
|
||||
final Map<TraceElement, List<TraceElement>> direct = resolve(trace, order, Direction.DIRECT);
|
||||
final Map<TraceElement, List<TraceElement>> reverse = resolve(trace, order, Direction.REVERSE);
|
||||
|
||||
return new MyDistinctInfo(order, direct, reverse);
|
||||
return new ValuesOrderInfo(order.getCall(), order.getValuesOrderBefore(), order.getValuesOrderAfter(), direct, reverse);
|
||||
}
|
||||
|
||||
throw new UnexpectedValueException("distinct trace must be an array value");
|
||||
@@ -106,29 +105,6 @@ public class DistinctCallTraceInterpreter implements CallTraceInterpreter {
|
||||
return result;
|
||||
}
|
||||
|
||||
private static final class MyDistinctInfo extends ValuesOrderInfo {
|
||||
private final Map<TraceElement, List<TraceElement>> myDirectTrace;
|
||||
private final Map<TraceElement, List<TraceElement>> myReverseTrace;
|
||||
|
||||
private MyDistinctInfo(@NotNull TraceInfo info,
|
||||
@NotNull Map<TraceElement, List<TraceElement>> directTrace,
|
||||
@NotNull Map<TraceElement, List<TraceElement>> reverseTrace) {
|
||||
super(info.getCall(), info.getValuesOrderBefore(), info.getValuesOrderAfter());
|
||||
myDirectTrace = directTrace;
|
||||
myReverseTrace = reverseTrace;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Map<TraceElement, List<TraceElement>> getDirectTrace() {
|
||||
return Collections.unmodifiableMap(myDirectTrace);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Map<TraceElement, List<TraceElement>> getReverseTrace() {
|
||||
return Collections.unmodifiableMap(myReverseTrace);
|
||||
}
|
||||
}
|
||||
|
||||
private static int extractIntValue(@NotNull Value value) {
|
||||
if (value instanceof IntegerValue) {
|
||||
return ((IntegerValue)value).value();
|
||||
|
||||
@@ -1,56 +1,31 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.debugger.streams.trace.impl.interpret;
|
||||
package com.intellij.debugger.streams.trace.impl.interpret
|
||||
|
||||
import com.intellij.debugger.streams.trace.TraceElement;
|
||||
import com.intellij.debugger.streams.trace.TraceInfo;
|
||||
import com.intellij.debugger.streams.wrapper.StreamCall;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import com.intellij.debugger.streams.trace.TraceElement
|
||||
import com.intellij.debugger.streams.trace.TraceInfo
|
||||
import com.intellij.debugger.streams.wrapper.StreamCall
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
class ValuesOrderInfo(
|
||||
private val streamCall: StreamCall,
|
||||
private val before: Map<Int, TraceElement>,
|
||||
private val after: Map<Int, TraceElement>,
|
||||
private val direct: Map<TraceElement, List<TraceElement>>? = null,
|
||||
private val reverse: Map<TraceElement, List<TraceElement>>? = null,
|
||||
) : TraceInfo {
|
||||
constructor(call: StreamCall, before: Map<Int, TraceElement>, after: Map<Int, TraceElement>) : this(call, before, after, null, null)
|
||||
|
||||
/**
|
||||
* @author Vitaliy.Bibaev
|
||||
*/
|
||||
public class ValuesOrderInfo implements TraceInfo {
|
||||
private final StreamCall myStreamCall;
|
||||
private final Map<Integer, TraceElement> myValuesOrderAfter;
|
||||
private final Map<Integer, TraceElement> myValuesOrderBefore;
|
||||
override fun getCall(): StreamCall = streamCall
|
||||
|
||||
ValuesOrderInfo(@NotNull StreamCall call, @NotNull Map<Integer, TraceElement> before, @NotNull Map<Integer, TraceElement> after) {
|
||||
myStreamCall = call;
|
||||
myValuesOrderBefore = before;
|
||||
myValuesOrderAfter = after;
|
||||
override fun getValuesOrderBefore(): Map<Int, TraceElement> = before
|
||||
|
||||
override fun getValuesOrderAfter(): Map<Int, TraceElement> = after
|
||||
|
||||
override fun getDirectTrace(): Map<TraceElement, List<TraceElement>>? = direct
|
||||
|
||||
override fun getReverseTrace(): Map<TraceElement, List<TraceElement>>? = reverse
|
||||
|
||||
companion object {
|
||||
fun empty(call: StreamCall): TraceInfo {
|
||||
return ValuesOrderInfo(call, emptyMap(), emptyMap())
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull StreamCall getCall() {
|
||||
return myStreamCall;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Map<Integer, TraceElement> getValuesOrderBefore() {
|
||||
return myValuesOrderBefore;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Map<Integer, TraceElement> getValuesOrderAfter() {
|
||||
return myValuesOrderAfter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Map<TraceElement, List<TraceElement>> getDirectTrace() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Map<TraceElement, List<TraceElement>> getReverseTrace() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static TraceInfo empty(@NotNull StreamCall call) {
|
||||
return new ValuesOrderInfo(call, Collections.emptyMap(), Collections.emptyMap());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user