Language specific features, such as parsing and symbol lookup, have changed significantly in version 3.0. Some of the changes include:
• The context-sensitive symbol lookup engine can track class and struct members, and decode class inheritance dynamically without compiling. Version 2.1 does not track field members or inheritance.
• Supports nested C++ and Java classes and structures.
• Supports C++ class and function templates.
• Supports C++ namespaces.
• Supports interpolated C structs and unions (i.e. inlined structures).
• Supports C++ template classes and functions.
• Supports anonymous structs and unions.
• User definable token substitution macros can replace source code tokens upstream of Source Insight’s parsers so it can handle variations in keywords and preprocessor usage.
• User definable compile-time constants used for marking #ifdef branches active or inactive.
• Code metrics.
• New built-in language parsing and display support:
• Perl and PerlScript
• Visual Basic and VBScript
• JavaScript and JScript
• HTML, ASP, and JSP with embedded script.
• C# (C Sharp)
• User-defined custom language support.