mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ContractValue: use DfaCallArguments
This commit is contained in:
+10
-11
@@ -31,7 +31,7 @@ public abstract class ContractValue {
|
||||
|
||||
}
|
||||
|
||||
public abstract DfaValue makeDfaValue(DfaValueFactory factory, DfaValue qualifier, DfaValue[] arguments);
|
||||
abstract DfaValue makeDfaValue(DfaValueFactory factory, DfaCallArguments arguments);
|
||||
|
||||
public static ContractValue qualifier() {
|
||||
return Qualifier.INSTANCE;
|
||||
@@ -73,8 +73,8 @@ public abstract class ContractValue {
|
||||
static final Qualifier INSTANCE = new Qualifier();
|
||||
|
||||
@Override
|
||||
public DfaValue makeDfaValue(DfaValueFactory factory, DfaValue qualifier, DfaValue[] arguments) {
|
||||
return qualifier;
|
||||
DfaValue makeDfaValue(DfaValueFactory factory, DfaCallArguments arguments) {
|
||||
return arguments.myQualifier;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -91,8 +91,8 @@ public abstract class ContractValue {
|
||||
}
|
||||
|
||||
@Override
|
||||
public DfaValue makeDfaValue(DfaValueFactory factory, DfaValue qualifier, DfaValue[] arguments) {
|
||||
return arguments.length <= myIndex ? DfaUnknownValue.getInstance() : arguments[myIndex];
|
||||
DfaValue makeDfaValue(DfaValueFactory factory, DfaCallArguments arguments) {
|
||||
return arguments.myArguments.length <= myIndex ? DfaUnknownValue.getInstance() : arguments.myArguments[myIndex];
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -121,7 +121,7 @@ public abstract class ContractValue {
|
||||
}
|
||||
|
||||
@Override
|
||||
public DfaValue makeDfaValue(DfaValueFactory factory, DfaValue qualifier, DfaValue[] arguments) {
|
||||
DfaValue makeDfaValue(DfaValueFactory factory, DfaCallArguments arguments) {
|
||||
return mySupplier.fun(factory);
|
||||
}
|
||||
|
||||
@@ -141,8 +141,8 @@ public abstract class ContractValue {
|
||||
}
|
||||
|
||||
@Override
|
||||
public DfaValue makeDfaValue(DfaValueFactory factory, DfaValue qualifier, DfaValue[] arguments) {
|
||||
return myField.createValue(factory, myQualifier.makeDfaValue(factory, qualifier, arguments));
|
||||
DfaValue makeDfaValue(DfaValueFactory factory, DfaCallArguments arguments) {
|
||||
return myField.createValue(factory, myQualifier.makeDfaValue(factory, arguments));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -162,9 +162,8 @@ public abstract class ContractValue {
|
||||
}
|
||||
|
||||
@Override
|
||||
public DfaValue makeDfaValue(DfaValueFactory factory, DfaValue qualifier, DfaValue[] arguments) {
|
||||
return factory.createCondition(myLeft.makeDfaValue(factory, qualifier, arguments), myRelationType,
|
||||
myRight.makeDfaValue(factory, qualifier, arguments));
|
||||
DfaValue makeDfaValue(DfaValueFactory factory, DfaCallArguments arguments) {
|
||||
return factory.createCondition(myLeft.makeDfaValue(factory, arguments), myRelationType, myRight.makeDfaValue(factory, arguments));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-2
@@ -461,13 +461,13 @@ public class StandardInstructionVisitor extends InstructionVisitor {
|
||||
return qualifier;
|
||||
}
|
||||
|
||||
private static LinkedHashSet<DfaMemoryState> addContractResults(DfaCallArguments callParameters,
|
||||
private static LinkedHashSet<DfaMemoryState> addContractResults(DfaCallArguments callArguments,
|
||||
MethodContract contract,
|
||||
LinkedHashSet<DfaMemoryState> states,
|
||||
DfaValueFactory factory,
|
||||
Set<DfaMemoryState> finalStates,
|
||||
DfaValue returnValue) {
|
||||
List<DfaValue> conditions = ContainerUtil.map(contract.getConditions(), cv -> cv.makeDfaValue(factory, callParameters.myQualifier, callParameters.myArguments));
|
||||
List<DfaValue> conditions = ContainerUtil.map(contract.getConditions(), cv -> cv.makeDfaValue(factory, callArguments));
|
||||
if (StreamEx.of(conditions).allMatch(factory.getConstFactory().getTrue()::equals)) {
|
||||
for (DfaMemoryState state : states) {
|
||||
state.push(returnValue);
|
||||
|
||||
Reference in New Issue
Block a user