Ejemplo n.º 1
0
        private void CheckMoveData(Core.InstructionMoveData inst)
        {
            if (!TypeResolver.ValidateDataAccess(this.session, this.funct, inst.source))
            {
                this.foundErrors = true;
                return;
            }

            CheckMove(
                inst.destination,
                TypeResolver.GetDataAccessType(this.session, this.funct, inst.source),
                inst.source.span);
        }
Ejemplo n.º 2
0
        private void ApplyRuleForMoveData(ref bool appliedRule, Core.InstructionMoveData inst)
        {
            var destType = TypeResolver.GetDataAccessType(session, funct, inst.destination);
            var srcType  = TypeResolver.GetDataAccessType(session, funct, inst.source);

            var inferredDest = TypeInferencer.Try(session, srcType, ref destType);
            var inferredSrc  = TypeInferencer.Try(session, destType, ref srcType);

            if (inferredDest)
            {
                appliedRule = ApplyToDataAccess(inst.destination, destType);
            }

            if (inferredSrc)
            {
                appliedRule = ApplyToDataAccess(inst.source, destType);
            }
        }
Ejemplo n.º 3
0
 private void CheckMoveData(List <InitStatus> statusList, Core.InstructionMoveData inst)
 {
     ValidateSource(statusList, inst.source);
     CheckAndInitDestination(statusList, inst.destination);
 }