• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hazendaz / jmockit1 / 496

15 Nov 2025 05:33PM UTC coverage: 72.192% (-0.008%) from 72.2%
496

push

github

web-flow
Merge pull request #412 from hazendaz/renovate/major-spring-core

Update spring core to v7 (major)

5677 of 8360 branches covered (67.91%)

Branch coverage included in aggregate %.

11922 of 16018 relevant lines covered (74.43%)

0.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.45
/main/src/main/java/mockit/internal/expectations/invocation/InvocationArguments.java
1
/*
2
 * MIT License
3
 * Copyright (c) 2006-2025 JMockit developers
4
 * See LICENSE file for full license text.
5
 */
6
package mockit.internal.expectations.invocation;
7

8
import edu.umd.cs.findbugs.annotations.NonNull;
9
import edu.umd.cs.findbugs.annotations.Nullable;
10

11
import java.lang.reflect.Member;
12
import java.util.List;
13
import java.util.Map;
14

15
import mockit.asm.jvmConstants.Access;
16
import mockit.internal.expectations.argumentMatching.ArgumentMatcher;
17
import mockit.internal.expectations.state.ExecutingTest;
18
import mockit.internal.reflection.RealMethodOrConstructor;
19
import mockit.internal.state.TestRun;
20
import mockit.internal.util.MethodFormatter;
21

22
public final class InvocationArguments {
23
    @NonNull
24
    final String classDesc;
25
    @NonNull
26
    final String methodNameAndDesc;
27
    @Nullable
28
    final String genericSignature;
29
    @NonNull
30
    private final ArgumentValuesAndMatchers valuesAndMatchers;
31
    @Nullable
32
    private Member realMethodOrConstructor;
33

34
    InvocationArguments(int access, @NonNull String classDesc, @NonNull String methodNameAndDesc,
35
            @Nullable String genericSignature, @NonNull Object[] args) {
1✔
36
        this.classDesc = classDesc;
1✔
37
        this.methodNameAndDesc = methodNameAndDesc;
1✔
38
        this.genericSignature = genericSignature;
1✔
39
        valuesAndMatchers = (access & Access.VARARGS) == 0 ? new ArgumentValuesAndMatchersWithoutVarargs(this, args)
1✔
40
                : new ArgumentValuesAndMatchersWithVarargs(this, args);
1✔
41
    }
1✔
42

43
    @NonNull
44
    String getClassName() {
45
        return classDesc.replace('/', '.');
1✔
46
    }
47

48
    boolean isForConstructor() {
49
        return methodNameAndDesc.charAt(0) == '<';
1✔
50
    }
51

52
    @NonNull
53
    public Object[] getValues() {
54
        return valuesAndMatchers.values;
1✔
55
    }
56

57
    void setValues(@NonNull Object[] values) {
58
        valuesAndMatchers.values = values;
1✔
59
    }
1✔
60

61
    public void setValuesWithNoMatchers(@NonNull Object[] argsToVerify) {
62
        valuesAndMatchers.setValuesWithNoMatchers(argsToVerify);
1✔
63
    }
1✔
64

65
    public void setValuesAndMatchers(@NonNull Object[] argsToVerify, @Nullable List<ArgumentMatcher<?>> matchers) {
66
        valuesAndMatchers.setValuesAndMatchers(argsToVerify, matchers);
1✔
67
    }
1✔
68

69
    @Nullable
70
    public List<ArgumentMatcher<?>> getMatchers() {
71
        return valuesAndMatchers.matchers;
1✔
72
    }
73

74
    public void setMatchers(@Nullable List<ArgumentMatcher<?>> matchers) {
75
        valuesAndMatchers.matchers = matchers;
1✔
76
    }
1✔
77

78
    @NonNull
79
    public Object[] prepareForVerification(@NonNull Object[] argsToVerify,
80
            @Nullable List<ArgumentMatcher<?>> matchers) {
81
        return valuesAndMatchers.prepareForVerification(argsToVerify, matchers);
1✔
82
    }
83

84
    public boolean isMatch(@NonNull Object[] replayArgs, @NonNull Map<Object, Object> instanceMap) {
85
        TestRun.enterNoMockingZone();
1✔
86
        ExecutingTest executingTest = TestRun.getExecutingTest();
1✔
87
        boolean previousFlag = executingTest.setShouldIgnoreMockingCallbacks(true);
1✔
88

89
        try {
90
            return valuesAndMatchers.isMatch(replayArgs, instanceMap);
1✔
91
        } finally {
92
            executingTest.setShouldIgnoreMockingCallbacks(previousFlag);
1✔
93
            TestRun.exitNoMockingZone();
1✔
94
        }
95
    }
96

97
    @Override
98
    public String toString() {
99
        MethodFormatter methodFormatter = new MethodFormatter(classDesc, methodNameAndDesc, false);
1✔
100
        List<String> parameterTypes = methodFormatter.getParameterTypes();
1✔
101
        String arguments = valuesAndMatchers.toString(parameterTypes);
1✔
102
        methodFormatter.append(arguments);
1✔
103
        return methodFormatter.toString();
1✔
104
    }
105

106
    public boolean hasEquivalentMatchers(@NonNull InvocationArguments other) {
107
        return valuesAndMatchers.hasEquivalentMatchers(other.valuesAndMatchers);
1✔
108
    }
109

110
    @NonNull
111
    Member getRealMethodOrConstructor() {
112
        if (realMethodOrConstructor == null) {
1✔
113
            try {
114
                realMethodOrConstructor = new RealMethodOrConstructor(getClassName(), methodNameAndDesc).getMember();
1✔
115
            } catch (NoSuchMethodException e) {
×
116
                throw new RuntimeException(e);
×
117
            }
1✔
118
        }
119

120
        return realMethodOrConstructor;
1✔
121
    }
122
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc