001 package org.jetbrains.jet.lang.resolve.calls.model;
002
003 import org.jetbrains.annotations.NotNull;
004 import org.jetbrains.jet.lang.psi.ValueArgument;
005 import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowInfo;
006
007 public interface MutableDataFlowInfoForArguments extends DataFlowInfoForArguments {
008
009 void setInitialDataFlowInfo(@NotNull DataFlowInfo dataFlowInfo);
010
011 void updateInfo(@NotNull ValueArgument valueArgument, @NotNull DataFlowInfo dataFlowInfo);
012
013 MutableDataFlowInfoForArguments WITHOUT_ARGUMENTS_CHECK = new MutableDataFlowInfoForArguments() {
014 private DataFlowInfo dataFlowInfo;
015
016 @Override
017 public void setInitialDataFlowInfo(@NotNull DataFlowInfo dataFlowInfo) {
018 this.dataFlowInfo = dataFlowInfo;
019 }
020
021 @Override
022 public void updateInfo(
023 @NotNull ValueArgument valueArgument, @NotNull DataFlowInfo dataFlowInfo
024 ) {
025 throw new IllegalStateException();
026 }
027
028 @NotNull
029 @Override
030 public DataFlowInfo getInfo(@NotNull ValueArgument valueArgument) {
031 throw new IllegalStateException();
032 }
033
034 @NotNull
035 @Override
036 public DataFlowInfo getResultInfo() {
037 return dataFlowInfo;
038 }
039 };
040 }