bool HandleDecl(VectorDeclaration v, AbstractType r)
        {
            if (r.DeclarationOrExpressionBase is VectorDeclaration)
            {
                var v_res = ExpressionTypeEvaluation.EvaluateType(v.Id, ctxt);
                var r_res = ExpressionTypeEvaluation.EvaluateType(((VectorDeclaration)r.DeclarationOrExpressionBase).Id, ctxt);

                if (v_res == null || r_res == null)
                {
                    return(false);
                }
                else
                {
                    return(ResultComparer.IsImplicitlyConvertible(r_res, v_res));
                }
            }
            return(false);
        }
		public virtual void Visit(VectorDeclaration td)
		{
			VisitInner(td);

			if (td.Id != null)
				td.Id.Accept(this);
		}
 public ulong Visit(VectorDeclaration vectorDeclaration)
 {
     return(1001621);
 }
示例#4
0
		VectorDeclaration Vector()
		{
			var startLoc = t == null ? new CodeLocation() : t.Location;
			Expect(__vector);
			var md = new VectorDeclaration { Location = startLoc };

			if (Expect(OpenParenthesis))
			{
				LastParsedObject = md;

				if (!IsEOF)
					md.Id = Expression();

				if (Expect(CloseParenthesis))
					TrackerVariables.ExpectingIdentifier = false;
			}

			md.EndLocation = t.EndLocation;
			return md;
		}
		bool HandleDecl(VectorDeclaration v, AbstractType r)
		{
			if (r.DeclarationOrExpressionBase is VectorDeclaration)
			{
				var v_res = Evaluation.EvaluateType(v.Id,ctxt);
				var r_res = Evaluation.EvaluateType(((VectorDeclaration)r.DeclarationOrExpressionBase).Id,ctxt);

				if (v_res == null || r_res == null)
					return false;
				else
					return ResultComparer.IsImplicitlyConvertible(r_res, v_res);
			}
			return false;
		}