示例#1
0
 public bool ConflictsWith(IInstructionResource other)
 {
     if (other is VariableResource)
     {
         VariableResource vr = (VariableResource)other;
         return(Var.Equals(vr.Var));
     }
     else
     {
         return(false);
     }
 }
示例#2
0
        public EInstructionResourceAccess UsesResource(XILInstr i, out IInstructionResource resource)
        {
            switch (i.Name)
            {
            case InstructionCodes.LoadVar:
                resource = new VariableResource((Variable)i.Operand);
                return(EInstructionResourceAccess.Reading);

            case InstructionCodes.StoreVar:
                resource = new VariableResource((Variable)i.Operand);
                return(EInstructionResourceAccess.Writing);

            case InstructionCodes.RdMemFix:
                throw new NotImplementedException();

            case InstructionCodes.WrMemFix:
                throw new NotImplementedException();

            default:
                resource = null;
                return(EInstructionResourceAccess.NoResource);
            }
        }
示例#3
0
 public EInstructionResourceAccess UsesResource(XIL3Instr i, out IInstructionResource resource)
 {
     return(_xilii.UsesResource(i.Command, out resource));
 }
示例#4
0
 public virtual EInstructionResourceAccess UsesResource(ILInstruction i, out IInstructionResource resource)
 {
     throw new NotImplementedException();
 }