Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 Structure members not showing in intellisense.

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

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

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
abartonkc Posted - Feb 28 2006 : 1:52:23 PM
I'm using VAX (10.2.1440) with VS 6. We have a coding standard at my company that uses the token $$ within a structure and function names (example HOST$$Process and struct HOST$$s_ProcessData). The token prior to $$ indicates a subsystem and the part after the $$ indicates the function or structure within the subsystem. VAX won't show an intellisense list of structure members due to the $$ within the structure name. I have verified this by temporarily removing the $$ and running the name together (HOSTs_ProcessData) and the members then show up. I have contacted support about this and they have been unable to determine the problem, but they seem to think that using $$ within the structure definition isn't valid. We have used this notation for over 10 years and have never had a problem with it in any of the version of Visual Studio. The default intellisense in Visual Studio displays the members when VAX isn't installed or is disabled.
6   L A T E S T    R E P L I E S    (Newest First)
support Posted - Jun 19 2006 : 5:39:46 PM
Fixed in build 1524:

Added support for $$ within identifiers. (case=1015)
feline Posted - Mar 02 2006 : 4:03:34 PM
personally i am taking the pragmatic approach to this, the structure called fruit$$apple compiles quite happily, so it should be supported.

abartonkc the idea is that if it compiles VA should support it, but we do have problems around the edges.

strangely enough i am getting suggestions on this structure in VS2003, but not in VC6 or VS2005

case=1015
abartonkc Posted - Mar 01 2006 : 09:05:54 AM
quote:
Originally posted by jpizzi
The $ is not a legal character in identifiers. Many compilers, however, allow it as an extension. VMS (the Digital Equipment OS) used it in practically all of the system calls from any language. I wouldn't be surprised if that was a significant reason for compilers to allow it as an extension.



Actually VMS is where this notation came from. This system originally ran on VMS, and was ported to NT 3.51 back in 1995. $$ was used to help distinguish system calls from application calls. Since Visual Studio never had an issue with $$ used in identifiers, the identifiers were not changed as part of the port.

I did find this on MSDN: (http://msdn2.microsoft.com/en-us/library(d=robot)/565w213d.aspx)

quote:

The dollar sign is also a valid identifier in Visual C++.

// dollar_sign_identifier.cpp
struct $Y1$ {
void $Test$() {}
};

int main() {
$Y1$ $x$;
$x$.$Test$();
}



Therefore I would think that since this is a tool specifically for Visual Studio, and since Visual C++ supports the usage of dollar signs ($) within identifiers, that the tool should also support dollar signs in identifiers if it is fully compatible with the Visual Studio.
jpizzi Posted - Feb 28 2006 : 8:57:46 PM
quote:
We have a coding standard at my company that uses the token $$ within a structure and function names (example HOST$$Process and struct HOST$$s_ProcessData). The token prior to $$ indicates a subsystem and the part after the $$ indicates the function or structure within the subsystem.
Isn't that what namespaces are for? Nevermind. Coding standards are not required to make sense.

The $ is not a legal character in identifiers. Many compilers, however, allow it as an extension. VMS (the Digital Equipment OS) used it in practically all of the system calls from any language. I wouldn't be surprised if that was a significant reason for compilers to allow it as an extension.
abartonkc Posted - Feb 28 2006 : 5:27:05 PM
The problem I am having is not with $$ in variable names but rather in in the structure name.

struct fruit$$apple {
int color;
int size;
}

int main() {
struct fruit$$apple foo;

foo.
}

This will compile, but VAX will not display the members within foo.
feline Posted - Feb 28 2006 : 4:54:03 PM
i would not expect $$ to be valid in a variable name, but the following code:

struct nameTest
{
int banana;
int fruit$$apple;
int fruit$$pear;
};

int main(int argc, char* argv[])
{
nameTest foo;
}

compiles quite happily in VC6. when i reference foo i get the following:



can you try the same structure at your end and see what results you get?

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