package php.runtime.memory; import php.runtime.Memory; import php.runtime.env.Environment; import php.runtime.lang.StdClass; public class NullMemory extends FalseMemory { public final static NullMemory INSTANCE = new NullMemory(); protected NullMemory() { super(Type.NULL); } @Override public boolean equals(Object o) { return this == o || !(o == null || getClass() != o.getClass()); } @Override public boolean identical(Memory memory) { return memory.getRealType() == Type.NULL; } @Override public boolean identical(boolean value) { return false; } @Override public Memory inc() { return CONST_INT_1; } @Override public Memory dec() { return CONST_INT_M1; } @Override public Memory toArray() { return new ArrayMemory().toConstant(); } @Override public Memory toObject(Environment env) { return new ObjectMemory(new StdClass(env)); } }