117 118 @Override 119 public LogicNode canonical(CanonicalizerTool tool, ValueNode forMirror, ValueNode forObject) { 120 LogicNode result = findSynonym(tool.getAssumptions(), tool.getConstantReflection(), forMirror, forObject, allowNull); 121 if (result != null) { 122 return result; 123 } 124 return this; 125 } 126 127 public void setMirror(ValueNode newObject) { 128 this.updateUsages(x, newObject); 129 this.x = newObject; 130 } 131 132 public boolean allowsNull() { 133 return allowNull; 134 } 135 136 @Override 137 public Stamp getSucceedingStampForX(boolean negated) { 138 return null; 139 } 140 141 @Override 142 public Stamp getSucceedingStampForY(boolean negated) { 143 return null; 144 } 145 146 @Override 147 public TriState tryFold(Stamp xStamp, Stamp yStamp) { 148 return TriState.UNKNOWN; 149 } 150 } | 117 118 @Override 119 public LogicNode canonical(CanonicalizerTool tool, ValueNode forMirror, ValueNode forObject) { 120 LogicNode result = findSynonym(tool.getAssumptions(), tool.getConstantReflection(), forMirror, forObject, allowNull); 121 if (result != null) { 122 return result; 123 } 124 return this; 125 } 126 127 public void setMirror(ValueNode newObject) { 128 this.updateUsages(x, newObject); 129 this.x = newObject; 130 } 131 132 public boolean allowsNull() { 133 return allowNull; 134 } 135 136 @Override 137 public Stamp getSucceedingStampForX(boolean negated, Stamp xStamp, Stamp yStamp) { 138 return null; 139 } 140 141 @Override 142 public Stamp getSucceedingStampForY(boolean negated, Stamp xStamp, Stamp yStamp) { 143 return null; 144 } 145 146 @Override 147 public TriState tryFold(Stamp xStamp, Stamp yStamp) { 148 return TriState.UNKNOWN; 149 } 150 } |