Lines Matching defs:context

25 static std::unique_ptr<Expression> convert_compound_constructor(const Context& context,
49 context.fErrors->error(line, "'" + argument->type().displayName() +
61 context, line, type.componentType(), std::move(args));
68 ? ConstructorDiagonalMatrix::Make(context, line, type, std::move(typecast))
69 : ConstructorSplat::Make(context, line, type, std::move(typecast));
74 return ConstructorCompoundCast::Make(context, line, type, std::move(argument));
84 context,
87 argument = ConstructorCompoundCast::Make(context, line, typecastType,
91 return ConstructorMatrixResize::Make(context, line, type,
100 const Type& vectorType = argument->type().componentType().toCompound(context,
104 ConstructorCompound::Make(context, line, vectorType, std::move(args));
108 return ConstructorCompoundCast::Make(context, line, type, std::move(vecCtor));
118 context.fErrors->error(line, "'" + arg->type().displayName() +
129 const Type& ctorType = type.componentType().toCompound(context, arg->type().columns(),
133 arg = Constructor::Convert(context, ctorLine, ctorType, std::move(ctorArg));
141 context.fErrors->error(line, "invalid arguments to '" + type.displayName() +
147 return ConstructorCompound::Make(context, line, type, std::move(args));
150 std::unique_ptr<Expression> Constructor::Convert(const Context& context,
160 return ConstructorScalarCast::Convert(context, line, type, std::move(args));
163 return convert_compound_constructor(context, line, type, std::move(args));
166 return ConstructorArray::Convert(context, line, type, std::move(args));
169 return ConstructorStruct::Convert(context, line, type, std::move(args));
172 context.fErrors->error(line, "cannot construct '" + type.displayName() + "'");