Commit Graph

15 Commits

Author SHA1 Message Date
wmayer
eb0647b144 Coverity issues:
129727: Structurally dead code
151979, 133461: Uninitialized scalar field
129785, 129786, 129787: Use after free
2016-08-16 12:23:12 +02:00
Eivind Kvedalen
dcc3c6b27b Expression class: Improved error message when resolving a variable fails. 2016-02-18 16:54:44 +01:00
Eivind Kvedalen
452650440b PropertyExpressionEngine: Refactored and moved visitor code to separate file. 2016-02-18 16:54:41 +01:00
Eivind Kvedalen
ae73a9313b ObjectIdentifier: Reworked resolve() function to solve issue #2389 and #2418.
* Refactored code; moved mutable fields into a separate inner class.
* Added resolvedProperty to ResolveResults class.
* Set resolved document name, even if it does not resolve correctly, so we can give a better error message later.
* If the document name is explicitly set, and it does not resolve, don't try any further.
* If document name is set, use that instead of the ObjectIdentifier's owner when looking up the document object.
2016-02-18 16:54:39 +01:00
wmayer
c775de52f0 Revert "ObjectIdentifier: Issue #2389: Needs to set documentNameSet and documentObjectNameSet to true to resolve properly."
This reverts commit 670eaf04a6.
2016-01-26 20:58:28 +01:00
wmayer
d6b77ec214 + raise a TypeError instead of a standard exception in ObjectIdentifier 2016-01-26 12:49:15 +01:00
Eivind Kvedalen
4ea2f7cb46 ObjectIdentifier: Issue #2389: Needs to set documentNameSet and documentObjectNameSet to true to resolve properly. 2016-01-26 11:58:12 +01:00
Eivind Kvedalen
580dab840c ObjectIdentifier: Issue #2407: Fixed resolution of DocumentObject, to differentiate better between internal name and Label. 2016-01-26 11:25:58 +01:00
Eivind Kvedalen
c2d5b0ad91 Issue #2389: ObjectIdentifiers constructed from a property sometimes do not
resolve correctly, because the resolver may fail if a different document
objects has a Label equal to the property's document object's identifier.
2016-01-08 23:09:00 +01:00
Eivind Kvedalen
fd9ceeae43 ObjectIdentifier: Resolve document name on both identifier and Label. 2016-01-08 23:09:00 +01:00
Eivind Kvedalen
34d9d86925 ObjectIdentifier::resolve() should set documentName to internal name, not the Label property. 2016-01-08 23:09:00 +01:00
Eivind Kvedalen
ca0c9de886 Expression/ObjectIdentifier: changed return type of renameDocumentObject and renameDocument,
to be able to signal that a rename actually took place.
2015-12-21 14:11:12 +01:00
Eivind Kvedalen
b087991559 ObjectIdentifier: Added std::setprecision to keep precision of double to string conversion. 2015-12-18 22:05:31 +01:00
Eivind Kvedalen
4a861c75d5 App: Replaced freecad_dynamic_cast by static_cast. In this case we know the type, and don't check for 0. 2015-12-09 12:15:14 +01:00
Eivind Kvedalen
ae388d26ea Added Expression classes to App directory. Added Expression interface to Property base class. 2015-09-21 14:51:02 +02:00