comparison generator/abstractmetalang.h @ 357:9784459f0750

An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables Q_CLASSINFO implementation Now Qtd can be built on Windows
author Max Samukha <maxter@spambox.com>
date Wed, 02 Jun 2010 19:38:05 +0300
parents 18bd68f586c6
children
comparison
equal deleted inserted replaced
356:12cec2d14e1c 357:9784459f0750
393 DestructorFunction, 393 DestructorFunction,
394 NormalFunction, 394 NormalFunction,
395 SignalFunction, 395 SignalFunction,
396 EmptyFunction, 396 EmptyFunction,
397 SlotFunction, 397 SlotFunction,
398 GlobalScopeFunction 398 GlobalScopeFunction,
399 }; 399 };
400 400
401 enum CompareResult { 401 enum CompareResult {
402 EqualName = 0x00000001, 402 EqualName = 0x00000001,
403 EqualArguments = 0x00000002, 403 EqualArguments = 0x00000002,
412 412
413 PrettySimilar = EqualName | EqualArguments | EqualConstness, 413 PrettySimilar = EqualName | EqualArguments | EqualConstness,
414 Equal = 0x0000001f, 414 Equal = 0x0000001f,
415 NotEqual = 0x00001000 415 NotEqual = 0x00001000
416 }; 416 };
417
418 enum Option
419 {
420 NoOptions = 0,
421 DeclaringClass = 0x01,
422 NoExternNamespace = 0x02
423 };
424
425 typedef QFlags<Option> Options;
417 426
418 AbstractMetaFunction() 427 AbstractMetaFunction()
419 : m_function_type(NormalFunction), 428 : m_function_type(NormalFunction),
420 m_type(0), 429 m_type(0),
421 m_class(0), 430 m_class(0),
442 QString modifiedName() const; 451 QString modifiedName() const;
443 452
444 QString minimalSignature(int reduce = 0) const; 453 QString minimalSignature(int reduce = 0) const;
445 QStringList possibleIntrospectionCompatibleSignatures() const; 454 QStringList possibleIntrospectionCompatibleSignatures() const;
446 455
447 QString marshalledName(bool classIsOwner = true) const; 456 QString marshalledName(Options options = NoOptions) const;
448 457
449 // true if one or more of the arguments are of QtJambiObject subclasses 458 // true if one or more of the arguments are of QtJambiObject subclasses
450 bool argumentsHaveNativeId() const 459 bool argumentsHaveNativeId() const
451 { 460 {
452 foreach (const AbstractMetaArgument *arg, m_arguments) { 461 foreach (const AbstractMetaArgument *arg, m_arguments) {