15 if (
other &&
other->asUndefinedType() !=
nullptr)
105 if (
other &&
other->asDoubleType() !=
nullptr)
120 const char *prefix =
"";
134 _members.insert(symbol->
name(), symbol);
139 return _members.value(
name);
144 if (_members.isEmpty()) {
145 populateMembers(
engine,
"xyzw");
146 populateMembers(
engine,
"rgba");
147 populateMembers(
engine,
"stpq");
154 for (
int x = 0;
x < _dimension; ++
x) {
160 const Type *vec2Type;
165 for (
int x = 0;
x < _dimension; ++
x) {
166 for (
int y = 0;
y < _dimension; ++
y) {
176 const Type *vec3Type;
179 else if (_dimension < 3)
183 for (
int x = 0;
x < _dimension; ++
x) {
184 for (
int y = 0;
y < _dimension; ++
y) {
185 for (
int z = 0;
z < _dimension; ++
z) {
199 for (
int x = 0;
x < _dimension; ++
x) {
200 for (
int y = 0;
y < _dimension; ++
y) {
201 for (
int z = 0;
z < _dimension; ++
z) {
202 for (
int w = 0;
w < _dimension; ++
w) {
220 if (_dimension !=
v->dimension())
237 else if (_dimension == vec->dimension() &&
elementType() < vec->elementType())
244 const char *prefix =
"";
260 if (_columns !=
v->columns())
262 else if (_rows !=
v->rows())
264 else if (_elementType !=
v->elementType())
277 if (_columns < mat->
columns()) {
279 }
else if (_columns == mat->columns()) {
280 if (_rows < mat->
rows())
282 else if (_rows == mat->rows() && _elementType < mat->
elementType())
314 if (!
s->name().isEmpty())
322 _members.append(member);
328 if (
s->name() ==
name)
359 for (
int i = 0;
i < _arguments.size(); ++
i) {
363 proto +=
arg->type()->toString();
365 proto +=
arg->name();
388 _arguments.append(
arg);
393 return _arguments.size();
398 return _arguments.at(
index);
417 if (!
arg->name().isEmpty())
441 return _kind == samp->kind();
451 return _kind < samp->kind();
455 :
Scope(enclosingScope)
466 _functions.append(function);
static const char *const spell[]
bool isLessThan(const Type *other) const override
bool isEqualTo(const Type *other) const override
QString toString() const override
const Type * elementType() const
bool isEqualTo(const Type *other) const override
bool isLessThan(const Type *other) const override
bool isLessThan(const Type *other) const override
bool isEqualTo(const Type *other) const override
bool isLessThan(const Type *other) const override
bool isEqualTo(const Type *other) const override
void setReturnType(const Type *returnType)
QList< Symbol * > members() const override
bool isEqualTo(const Type *other) const override
QVector< Argument * > arguments() const
int argumentCount() const
const Type * returnType() const
Argument * argumentAt(int index) const
QString toString() const override
Symbol * find(const QString &name) const override
QString prettyPrint() const
void addArgument(Argument *arg)
bool isLessThan(const Type *other) const override
bool isLessThan(const Type *other) const override
bool isEqualTo(const Type *other) const override
QString toString() const override
bool isLessThan(const Type *other) const override
const Type * elementType() const
bool isEqualTo(const Type *other) const override
void addFunction(Function *function)
bool isEqualTo(const Type *other) const override
OverloadSet(Scope *enclosingScope=nullptr)
const Type * type() const override
QVector< Function * > functions() const
bool isLessThan(const Type *other) const override
Symbol * find(const QString &name) const override
void add(Symbol *symbol) override
bool isEqualTo(const Type *other) const override
bool isLessThan(const Type *other) const override
QString toString() const override
void add(Symbol *member) override
bool isEqualTo(const Type *other) const override
QList< Symbol * > members() const override
Symbol * find(const QString &name) const override
bool isLessThan(const Type *other) const override
virtual Function * asFunction()
virtual const DoubleType * asDoubleType() const
virtual const IntType * asIntType() const
virtual const UIntType * asUIntType() const
virtual const BoolType * asBoolType() const
virtual bool isEqualTo(const Type *other) const =0
virtual QString toString() const =0
bool isEqualTo(const Type *other) const override
bool isLessThan(const Type *other) const override
bool isEqualTo(const Type *other) const override
bool isLessThan(const Type *other) const override
QString toString() const override
bool isLessThan(const Type *other) const override
void add(Symbol *symbol) override
const Type * elementType() const
Symbol * find(const QString &name) const override
bool isEqualTo(const Type *other) const override
bool isLessThan(const Type *other) const override
bool isEqualTo(const Type *other) const override
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Combined button and popup list for selecting options.
GLsizei const GLfloat * v
[13]
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat z
GLint GLint GLint GLint GLint x
[0]
GLfloat GLfloat GLfloat w
[0]
GLint GLenum GLint components
QLatin1StringView QLatin1String
\inmodule QtCore \reentrant