Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 Outline configuration

You must be registered to post a reply.
Click here to register.

Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji

Forum code is on.
Html is off.

Check to subscribe to this topic.

T O P I C    R E V I E W
CGAllred Posted - Mar 28 2014 : 6:54:52 PM
I'm trying Visual Assist again after trying it a couple years ago. I work on code that is heavily SAL-annotated (http://msdn.microsoft.com/en-us/library/ms235402.aspx). For example:

FltCreateFile (
    _In_ PFLT_FILTER Filter,
    _In_opt_ PFLT_INSTANCE Instance,
    _Out_ PHANDLE   FileHandle,
    _In_ ACCESS_MASK DesiredAccess,
    _In_ POBJECT_ATTRIBUTES ObjectAttributes,
    _Out_ PIO_STATUS_BLOCK IoStatusBlock,
    _In_opt_ PLARGE_INTEGER AllocationSize,
    _In_ ULONG FileAttributes,
    _In_ ULONG ShareAccess,
    _In_ ULONG CreateDisposition,
    _In_ ULONG CreateOptions,
    _In_reads_bytes_opt_(EaLength)PVOID EaBuffer,
    _In_ ULONG EaLength,
    _In_ ULONG Flags

The outline suppresses display of the _Must_inspect_result_ macro, but shows the _IRQL_requires_max_(PASSIVE_LEVEL) macro. As a result my VA Outline window is not very useful, since it isn't wide enough to show the routine names for any routines with _IRQL_requires_max_ or other SAL annotations that VA apparently doesn't understand.

The last time I tried VA I raised this as an issue and was told it was filed as case=19673. I can't find any configuration options or documentation that indicate this issue has been addressed since.

Is it possible to configure the annotations that the VA Outline suppresses?
9   L A T E S T    R E P L I E S    (Newest First)
feline Posted - Jun 03 2014 : 6:17:31 PM
I am seeing the same effect here. Thank you for the clear description, your examples show the effect very clearly. I have put in a bug report for this:

shvdstr Posted - May 30 2014 : 04:29:22 AM
Here code sample. Behavior broken if annotation with parameter followed by _Check_return_ (pretty common case in our code).

// bad
_Requires_lock_held_( m_oCS ) _Check_return_ BOOL Test1();
_Post_satisfies_( m_pObject == NULL ) _Check_return_ BOOL Test2();
_Acquires_lock_( m_oLock ) _Check_return_ BOOL Test3();

// but this is ok
_Check_return_ _Releases_lock_( this->m_oLock ) BOOL Test0();
feline Posted - May 29 2014 : 9:09:30 PM
I have done some more investigating, and have produced the following test code, which uses "_Post_satisfies_". The function name is shown correctly in VA Outline with VS2013 and VA 2036:

// outline testing
class CodeMarkersOnFunction
	template<typename T> _Post_equal_to_(pp) _Post_satisfies_(return == pp)
	void** IID_PPV_ARGS_Helper(T** pp);

so it would be interesting to know what code you are seeing the problem with.
feline Posted - May 29 2014 : 4:01:50 PM
Can you please post a code sample that demonstrates the problem, which I can look at and test with?
shvdstr Posted - May 28 2014 : 12:13:13 PM
I still have something unreadable like "_Post_satisfies_( pspChosenTrs->m_pObject != NULL ) _Check_return_ BOOL RBSClient::CServerFinder::PickRandomTrs( _In_ const ..." in outline window.

Same problems with _Requires_lock_not_held_, _Requires_lock_held_, _Success_ and others.

VA_X.dll file version 10.8.2036.0 built 2014.05.22
sean Posted - May 23 2014 : 2:55:30 PM
case=81329 is fixed in build 2036.
accord Posted - Apr 03 2014 : 4:51:47 PM
Mostly by supporting more or all keywords :) This is why I've put in a new request because it would be easier to do I think.
CGAllred Posted - Apr 03 2014 : 3:10:45 PM
Thanks. How would this support differ from what is apparently already there? It seems like VA already supports at least some limited subset of SAL, otherwise _Must_inspect_result_ from the above example would be displayed.
accord Posted - Mar 31 2014 : 5:27:55 PM
Now, I have put in a new feature request, specifically to support SAL annotations:


case=19673 is to "add support for outline behavior definition file" which is a broader feature and is still open. Hopefully, this simpler case is easier to implement. Either of these would be good for you.

© 2021 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000