Dependency Graph

Online documentation:

Dependency Matrix

Online documentation:

Visualizing Code Metrics through Treemaping

With the Online documentation, understand how Treemaping can help you see patterns in your code base, that would be hard to spot with other ways.

Abstractness versus Instability Diagram

The Abstractness versus Instability Diagram helps to detect which Projects are potentially painful to maintain (i.e concrete and stable) and which Projects are potentially useless (i.e abstract and instable).

Online documentation:

For beginners: Where to start

Code queries and rules results are truncated to list a maximum of 100 code elements in this report

Does this report gets too large?

The list contains only code elements refactored or added since the baseline for comparison.

The setting Recent Violations Only is enabled

Why should I enable the setting Recent Violations Only ?

Quick Tips

Main
Main \ Rules
Main \ Rules \ Code Quality
Main \ Rules \ Object Oriented Design
Main \ Rules \ Design
Main \ Rules \ Architecture and Layering
Main \ Rules \ Best Practices
Main \ Rules \ Best Practices \ Constness
Main \ Rules \ Best Practices \ Exception
Main \ Rules \ Dead Code
Main \ Rules \ Visibility
Main \ Rules \ Purity - Immutability - Side-Effects
Main \ Rules \ Naming Conventions
Main \ Rules \ Source Files Organization
Main \ Group of Queries \ Object Oriented Design
Main \ Group of Queries \ API Breaking Changes
Main \ Group of Queries \ Code Diff Summary
Main \ Group of Queries \ Dead Code
Main \ Metrics \ Application Statistics
Main \ Metrics \ Projects Metrics
Main \ Metrics \ Namespaces Metrics
Main \ Metrics \ Types Metrics
Main \ Projects Dependencies
Main \ Namespaces Dependencies
Main \ Types Dependencies
Main \ Build Order
Main \ Analysis Log
Main \ Trend Charts
cppdepend report summary application nameOgre3dreport build date08/04/2014 19:25:48analysis duration00:02:30cppdepend version 4.1.0.2453baseline for comparison Not Defined. To define a Baseline for Comparison, please read this online documentation.
Get started.Quick tips.Back to CppDepend. The present HTML report is a summary of data gathered by the analysis.
It is recommended to use the CppDepend interactive UI capabilities
to make the most of CppDepend by mastering all aspects of your code.

Diagrams

C/C++ Projects Dependency Graph
Dependency Graph
View as ?fullscaled
C/C++ Projects Dependency Matrix
Dependency Matrix
View as ?fullscaled
Treemap View
Treemap Metric View
View as ?fullscaled
Abstractness versus Instability
Abstractness vs. Instability
View as ?fullscaled

Application Metrics

Note: Further Application Statistics are available.
# Lines of Code
79 866      
0 (NotMyCode)
# Types
717      
7   Projects      
65   Namespaces      
4 593   Methods      
3 872   Fields      
347   Source Files      
Comment
22.71%      
23 465   Lines of Comment      
Method Complexity
612   Max      
3.99   Average      
Type Complexity
6 202   Max      
54.7   Average      
Third-Party Usage
2   Projects used      
6   Namespaces used      
199   Types used      
690   Methods used      
517   Fields used      

Rules summary

23430This section lists all Rules violated, and Rules or Queries with Error
  • Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
  • Number of Rules violated: 46

Summary of Rules violated

graphHelp Rules can be checked live at
development-time, from within Visual
Studio. Online documentation.
graphHelp CppDepend rules report too many flaws
on existing code base? Use the option
Recent Violations Only!
warningCritical Some Critical Rules are violated. Critical Rules
can be used to break the build process if
violated. Online documentation.
Name # Matches Elements Group
warningCritical   Types too big - critical
9 typesCode Quality
warningCritical   Methods too complex - critical
80 methodsCode Quality
warningCritical   Methods with too many parameters - critical
11 methodsCode Quality
warning   Quick summary of methods to refactor
1099 methodsCode Quality
warning   Methods too big
485 methodsCode Quality
warning   Methods too complex
250 methodsCode Quality
warning   Methods potentially poorly commented
429 methodsCode Quality
warning   Methods with too many parameters
134 methodsCode Quality
warning   Methods with too many local variables
126 methodsCode Quality
warning   Methods with too many overloads
532 methodsCode Quality
warning   Types with too many methods
18 typesCode Quality
warning   Types with too many fields
24 typesCode Quality
warning   Types with poor cohesion
7 typesCode Quality
warning   Base class should not use derivatives
4 typesObject Oriented Design
warning   Class shouldn't be too deep in inheritance tree
36 typesObject Oriented Design
warning   Constructor should not call a virtual methods
2 methodsObject Oriented Design
warning   Don't assign static fields from instance methods
8 fieldsObject Oriented Design
warning   Avoid Abstract Classes with too many methods
8 typesObject Oriented Design
warning   Type should not have too many responsibilities
1 typesDesign
warning   Avoid namespaces with few types
57 namespacesDesign
warning   Nested types should not be visible
72 typesDesign
warning   Avoid namespaces mutually dependent
54 namespacesArchitecture and Layering
warning   Avoid namespaces dependency cycles
1 namespacesArchitecture and Layering
warning   Projects with poor cohesion (RelationalCohesion)
3 projectsArchitecture and Layering
warning   Use reinterpret_cast carrefully
10 methodsBest Practices
warning   Avoid using goto keyword
10 methodsBest Practices
warning   Use const_cast carrefully
9 methodsConstness
warning   Avoid using Generic Catch(...)
5 methodsException
warning   Potentially dead Types
44 typesDead Code
warning   Potentially dead Methods
20 methodsDead Code
warning   Potentially dead Fields
110 fieldsDead Code
warning   Fields should be declared as private
3494 fieldsVisibility
warning   Constructors of abstract classes should be declared as protected or private
14 typesVisibility
warning   Structures should be immutable
280 typesPurity - Immutability - Side-Effects
warning   Avoid static fields with a mutable field type
314 fieldsPurity - Immutability - Side-Effects
warning   Instance fields should be prefixed with a 'm_'
10 fieldsNaming Conventions
warning   Static fields should be prefixed with a 's_'
10 fieldsNaming Conventions
warning   Types name should begin with an Upper character
10 typesNaming Conventions
warning   Avoid types with name too long
3 typesNaming Conventions
warning   Avoid methods with name too long
30 methodsNaming Conventions
warning   Avoid fields with name too long
27 fieldsNaming Conventions
warning   Namespace name should correspond to file location
106 typesNaming Conventions
warning   Avoid defining multiple types in a source file
113 typesSource Files Organization
warning   Namespace name should correspond to file location
98 typesSource Files Organization
warning   Types with source files stored in the same directory, should be declared in the same namespace
2 namespacesSource Files Organization
warning   Types declared in the same namespace, should have their source files stored in the same directory
4 namespacesSource Files Organization

Application Statistics

Stat # Occurences Avg StdDev Max
Public properties on classes 299 Classes 1.8517.93267 public properties on __Globals
Public methods on classes 299 classes 1671.57998 public methods on __Globals
Arguments on public methods on classes 4,783 methods 1.51.4611 arguments on __Globals.FreeImage_ConvertFromRawBitsEx(BOOL,BYTE*,FREE_IMAGE_TYPE,int,int,int,unsignedint,unsignedint,unsignedint,unsignedint,BOOL)
Cyclomatic complexity on non abstract Methods 5,802 Methods 0.585.41 CC = 252 for __Globals.yyparse(TParseContext&)

Projects Metrics

If you wish to define thresholds on Projects' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Projects # lines of code # Types # Abstract Types # lines of comment% CommentAfferent CouplingEfferent CouplingRelational CohesionInstabilityAbstractnessDistance
libbz2 v1.0.0.04486604418051.33100
FreeImage v1.0.0.027106149085462301421.58100
glsl_optimizer_lib v1.0.0.030332376711018261377.010.970.020.01
glsl_optimizer_tests v1.0.0.0206201980120.5100
hlslang v1.0.0.01519811421898110374.4610.020.01
OIS v1.0.0.01282518744360642.9610.160.11
zziplib v1.0.0.01256260799380131.42100

Types Metrics : Code Quality

For a particular Code Metric defined for types, values in red represent the 15% highest values.
If you wish to define thresholds on types' Code Metrics, consider writing some Rule.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Type Name Type Rank# Lines Of Code# Lines Of Comment% CommentCyclomatic ComplexityAfferent CouplingEfferent Coupling Type Namespace
__Globals36.414895152494624.934053457-117297
exec_node22.873802438.71220-972
exec_list19.275003037.5280-912
glsl_type16.335491639041.532265-9613
ir_variable16.239705937.82291-11124
ir_rvalue13.713606664.71231-9211
ir_visitor_status13.52--0-0--870
ir_instruction13.194103143.06271-8325
ir_hierarchical_visitor12.8712206434.41640-8527
ir_constant8.574711512220.571864-5817
ir_node_type8.43--0-0--360
ir_visitor8.1101292.31250-2622
glsl_precision6.88--0-0--370
ir_dereference_variable6.164502131.82221-6713
FreeImageIO5.65000-30-190
ir_assignment5.3313833620.69415-5815
ast_node5.281903766.07132-329
glsl_struct_field5.2000-10-186
token4.97000-00-23
__Globals4.869762749508.872375360-22124
ir_expression4.52193728703.494665-3814
TSourceLoc4.41000-30-132
ir_variable+ir_variable_data4.38000-60-455
ir_variable_mode4.23--0-0--510
Object4.221001661.54130-139OIS
token_node4.18000-00-41
ComponentType4.05--0-0--70OIS
glsl_base_type4--0-0--230
ir_function_signature414509940.57471-3826
ir_if3.81270412.9161-3710
TPoolAllocator3.797036046.15212-96
ir_dereference3.71801869.23110-327
_mesa_glsl_parse_state3.6618126125.21523-3327
TIntermNode3.61150316.67230-1512
TType3.33733327.91385-1828
pool_allocator<T>3.2219000190-162
__Globals3.124112476693222.336202319-19235
ir_swizzle3.0811724728.66394-2615
ir_call3.079503526.92237-3021
ir_dereference_array3.0412711812.41424-2915
glsl_type+Anonymous2.9900310010-152
TIntermTyped2.92180314.29212-178
TBasicType2.81--0-0--130
s_expression2.71702779.41120-52
TOperator2.7--0-0--160
token_list2.69000-00-41
symbol2.68000-00-33
YYLTYPE2.61000-30-232
TIntermTraverser2.55160833.3390-144
ir_return2.5421000161-178
YYLTYPE2.53000-00-42
ir_function2.496503736.27311-1713
ast_expression2.49445012221.5211561-1527
ir_loop2.45150316.67111-229
TInfoSinkBase2.386801113.92343-915
ForceEffect2.3700410040-60OIS
YYSTYPE2.22000-00-35
ir_constant_data2.1500310060-204
ir_dereference_record2.134001020202-1514
ir_texture2.1316313015.54851-1416
BlockType2.09--0-0--30
tagDXTColBlock2000-40-32
FIBITMAP1.8900110000-110
Symbol_Rec1.88000-00-23
ir_variable+ir_variable_data+Anonymous1.8300310030-42
TPrecision1.83--0-0--140
InputSrc1.81000-00-51
Component1.7520133.3340-51OIS
string_node1.7300110000-11
TVector<T>1.7100310030-162
ir_discard1.71220312151-108
ir_expression_operation1.67--0-0--250
ir_depth_layout1.65--0-0--20
ir_variable+ir_variable_data+Anonymous1.6500310030-21
TSymbol1.64220312250-712
EventArg1.581037540-31OIS
ir_jump1.582067550-62
glsl_interface_packing1.54--0-0--40
ir_rvalue_visitor1.519000150-1911
TokenStream_Rec1.46000-00-32
tagRGBQUAD1.45000-30-71
node1.45000-00-20
zzip_version1.45000-00-41
symbol_header1.4400210000-22
TQualifier1.44--0-0--110
gl_texture_index1.41--0-0--30
tagColor5651.37000-40-10
glsl_symbol_table1.348705337.86357-178
ir_emit_vertex1.334045071-96
TInfoSink1.33000-40-131
TIntermAggregate1.33201725.93191-913
glsl_sampler_dim1.31--0-0--30
ir_loop_jump1.318085091-118
ir_end_primitive1.284045071-76
glsl_type+Anonymous1.2700310000-12
ir_typedecl_statement1.24500071-77
MacroSymbol1.22000-00-23
ir_swizzle_mask1.22000-60-111
tagColor88881.1500310060-31
KeyEvent1.142036030-24OIS
TokenBlock_Rec1.14000-00-12
MouseButtonID1.14--0-0--30OIS
FREE_IMAGE_TYPE1.13--0-0--60
JoyStickEvent1.131015030-23OIS
TTypeLine1.12000-40-112
TParseContext1.110221230623.04318124-242
Type1.09--0-0--70OIS
glsl_interp_qualifier1.08--0-0--60
ir_precision_statement1.07500071-67
s_number1.071015080-41
TIntermOperator1.055401319.4530-85
TTypeInfo1.0580220140-96
ir_var_declaration_type1.04--0-0--60
Envelope1.0450654.5550-42OIS
zzip_dostime1.02000-00-31
argument_node1.02000-00-11
string_list0.98000-00-21
SourceLoc_Rec0.9300110000-10
ast_type_qualifier+Anonymous+Anonymous0.93000-30-41
zzip_file0.900610000-37
ir_texture+Anonymous+Anonymous0.8900110030-41
gl_varying_slot0.88--0-0--40
DXT_BLOCKDECODER_BASE<INFO>0.85500030-32
program_resource_visitor0.8477313162.98260-57
gl_shader_stage0.82--0-0--120
JoyStickState0.82111842.11117-315OIS
TPoolAllocator+AllocHeader0.81200040-11
TPoolAllocator+AllocState0.81000-30-12
bz_stream0.8000-00-32
Interface0.800410040-50OIS
tagDXTAlphaBlockExplicit0.79000-40-20
ast_type_qualifier+Anonymous+Anonymous0.79000-30-21
hash_entry0.78000-00-21
ir_state_slot0.7800510000-21
Axis0.7640233.3320-44OIS
OIS_ERROR0.76--0-0--90OIS
tagDXTAlphaBlock3BitLinear0.76000-40-21
MouseState0.7480642.8690-33OIS
TIntermConstant0.7324000240-58
_zzip_plugin_io+Anonymous0.73000-00-10
zzip_plugin_io0.73000-00-11
ast_node+Anonymous0.7300310030-11
ast_node+Anonymous0.7300310030-11
BlockTypeS0.731015040-21
Interface+IType0.72--0-0--40OIS
function0.7120133.3370-23anonymous_namespace{ir_function_detect_recursion.cpp}
HashEntry_Rec0.71000-00-11
ir_variable_refcount_visitor0.737037.5161-211
TIntermBinary0.749507813.611315-517
KeyCode0.69--0-0--30OIS
ast_type_qualifier0.696512628.57343-810
MouseEvent0.681015030-23OIS
ast_type_specifier0.688706342234-620
ir_loop_jump+jump_mode0.68--0-0--70
TIntermSelection0.66480712.73212-411
ast_type_qualifier+Anonymous+Anonymous0.64000-30-11
TAnnotation0.647000120-37
ast_case_label0.64430815.691310-415
TIntermSymbol0.631602257.89130-59
gl_uniform_buffer_variable0.63000-00-44
jump_strength0.63--0-0--20
ir_print_visitor0.632615279.38710-140
glsl_switch_state0.63000-40-65
gl_context0.6300810000-57
FREE_IMAGE_FORMAT0.62--0-0--50
gl_extensions0.6100410000-42
EAttribSemantic0.61--0-0--20
gl_constants0.5900410000-57
gl_sl_pragmas0.5900110000-21
chunk0.58000-00-10
YYSTYPE+Anonymous0.58000-00-12
DXT_INFO_10.58000-00-10
tagBITMAPINFOHEADER0.58000-10-12
ShBinding0.5800110000-12
macro_t0.58000-00-14
tagDDSURFACEDESC20.58000-40-13
TIntermNodePair0.5800110010-21
MacRect0.580032510060-10
YYSTYPE+Anonymous0.58000-30-12
YYSTYPE+Anonymous0.58000-30-12
YYSTYPE+Anonymous0.58000-00-12
ast_type_qualifier+Anonymous+Anonymous0.58000-30-11
gl_api0.57--0-0--30
TParameter0.5730562.550-67
tagDDCAPS20.56000-40-11
tagDDPIXELFORMAT0.56000-40-11
AnonymousEnum0.56--0-0--50
ast_array_specifier0.55150211.7680-68
varying_matches+packing_order_enum0.54--0-0--20anonymous_namespace{link_varyings.cpp}
gl_uniform_block0.54000-00-54
TPublicType0.53180933.3390-48
gl_shader_program0.5300410000-614
GlslStruct0.521810093-616
EGlslSymbolType0.52--0-0--60
operand0.513097551-84ir_builder
__Globals0.51123143.1581117-813ir_builder
GlslSymbol0.5164023.03401-417
gl_program_constants0.500310000-31
_zzip_plugin_io0.5000-00-22
InputManager0.569513165.53531-628OIS
TFunction0.4934138.11212-518
EGlslQualifier0.49--0-0--50
ir_rvalue_base_visitor0.495613337.08280-417
ast_type_qualifier+Anonymous0.48000-30-42
TIntermDeclaration0.481101862.07110-24
GlslSymbolOrStructMemberBase0.48170210.53160-610
ir_texture_opcode0.48--0-0--60
Exception0.48801055.5660-84OIS
gl_builtin_uniform_element0.4800110000-22
TIFFDisplay0.4700110000-12
loop_variable_state0.473001533.33101-511
skip_type0.47--0-0--10
loop_terminator0.46200030-53
Plugin0.45000-30-20
TPrefixType0.45--0-0--30
gl_uniform_block_packing0.45--0-0--10
YYSTYPE0.44000-50-124
StringTable_Rec0.44000-00-12
yystypepp0.44000-00-13
HashTable_Rec0.44000-00-12
scope_level0.4400310000-11
gl_shader0.4400310000-513
gl_transform_feedback_varying_info0.43000-00-23
gl_transform_feedback_output0.4300310000-21
loop_variable0.432002252.3870-46
s_int0.425000100-23
s_list0.4280111.1190-24
s_symbol0.4250337.590-23
ast_case_statement0.42200313.0486-312
ast_switch_statement0.43901730.361013-116
TLoopType0.39--0-0--20
ast_case_statement_list0.3980111.1180-36
EShType0.39--0-0--20
ast_operators0.39--0-0--30
symbol_table_entry0.3875000220-15
ast_fully_specified_type0.381201453.8580-58
gl_shader_compiler_options0.3700310010-23
parameter_list_match_t0.37--0-0--10
ext_behavior0.37--0-0--10
glslopt_target0.37--0-0--10
tagFICOMPLEX0.3700210000-11
active_atomic_counter0.3700310000-12anonymous_namespace{link_atomics.cpp}
deref0.3730457.1451-64ir_builder
EShLanguage0.37--0-0--40
ir_texture+Anonymous0.36000-30-32
zzip_dir0.3600310000-18
loop_state0.35231825.81102-49
ETargetVersion0.35--0-0--50
CWeightsTable+Contribution0.3400410000-12
hash_table0.34000-00-22
dd_function_table0.33000-00-10
ast_iteration_statement0.337601819.15265-219
ast_case_label_list0.339011080-37
gl_constants+Anonymous0.33000-00-11
gl_constants+Anonymous0.3300110000-11
ir_struct_usage_visitor0.3215100101-110
interface_block_definition0.32801361.980-17anonymous_namespace{link_interface_blocks.cpp}
dirent0.32000-00-12
TIntermConstant+Value+Anonymous0.32000-30-13
TIntermConstant+Value0.32000-60-11
string_to_uint_map0.322203158.4980-23
Effect+EForce0.32--0-0--30OIS
Effect+EType0.32--0-0--30OIS
tfeedback_candidate0.32002110000-23
TType+ECompatibility0.31--0-0--20
gl_opaque_uniform_index0.31000-00-22
gl_constant_value0.3100310000-23
ast_function0.38404836.362415-318
ast_compound_statement0.3180210110-38
ast_struct_specifier0.34613643.9123-318
PluginNode0.300310030-24
MouseListener0.300410050-22OIS
ast_expression+Anonymous0.3000-30-24
DXT_INFO_30.29000-00-10
prog_src_register0.2900310000-12
prog_opcode0.29--0-0--10
tagDXT3Block0.29000-40-12
prog_dst_register0.2900310000-11
_mesa_glsl_parse_state+Anonymous0.29000-10-12
ast_type_qualifier+Anonymous0.29000-30-12
_mesa_glsl_parse_state+Anonymous0.2900510010-12
_mesa_glsl_parse_state+Anonymous0.2900510010-12
_mesa_glsl_parse_state+Anonymous0.29000-10-12
ast_parameter_declarator0.296404139.05183-318
ast_declarator_list0.29372026941.97847-329
FIICCPROFILE0.29000-00-21
gl_frag_result0.29--0-0--40
ast_type_qualifier+Anonymous0.28000-30-12
Win32InputManager0.2812444225.35118-436OIS
zzip_dirent0.28000-00-12
zzip_dir+Anonymous0.28000-00-13
zzip_dir_hdr0.2800410000-13
psdHeader0.2800410030-12
gl_transform_feedback_info0.2800110000-24
yy_buffer_state0.27000-00-13
TIFFYCbCrToRGB0.27000-00-12
CWeightsTable0.273924955.68140-15
yy_buffer_state0.27000-00-13
TIFFCIELabToRGB0.27000-00-13
glcpp_parser0.27000-00-110
tagDXT5Block0.27000-40-12
FREE_IMAGE_COLOR_TYPE0.27--0-0--10
YYSTYPE0.27000-00-124
_TIFFRGBAImage+Anonymous0.2700110000-10
DXT_INFO_50.27000-00-10
GlslSymbol+WriteDeclMode0.27--0-0--30
ir_variable_refcount_entry0.2760114.2940-14
Pov0.271015060-23OIS
ast_declaration0.27800080-36
Slider0.2720133.3360-23OIS
Keyboard+Modifier0.27--0-0--20OIS
Keyboard+TextTranslationMode0.27--0-0--20OIS
KeyListener0.2700410040-21OIS
variable_entry0.271100040-25anonymous_namespace{opt_array_splitting.cpp}.opt_array_splitting
gl_uniform_driver_storage0.26000-00-11
StructMember0.26300080-38
variable_entry0.26700030-24anonymous_namespace{opt_structure_splitting.cpp}
s_pattern+Anonymous0.26000-00-16
glslopt_shader_input0.26000-40-11
WuQuantizer+tagBox0.26000-30-11
s_pattern+AnonymousEnum0.26--0-0--10
ir_factory0.261200095-37ir_builder
ast_expression+Anonymous0.26000-30-14
assignment_generator0.2616093655-212anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
ast_expression+Anonymous0.26000-30-14
struct_entry0.25100030-12
Effect0.253803447.22214-214OIS
JoyStickListener0.25301482.3580-21OIS
skip_node0.25000-00-13
active_list0.25000-00-12
signature_entry0.25200040-13anonymous_namespace{opt_dead_functions.cpp}
CacheFile0.2512711510.563315-121
Vector30.254012030-13OIS
PeriodicEffect0.244045040-24OIS
ConditionalEffect0.246044040-22OIS
RampEffect0.2420466.6740-23OIS
ConstantEffect0.241048040-23OIS
ast_iteration_statement+ast_iteration_modes0.24--0-0--20
TGlslOutputTraverser0.2413544493.4932825-155
HlslLinker0.246082210114.2519062-146
ast_switch_body0.2411018.33100-26
ast_function_definition0.24350920.4592-214
ast_interface_block0.24161110539.474312-227
DeprecationMgr+DeprecatedFunction0.24000-30-12
call_node0.24000-30-12anonymous_namespace{ir_function_detect_recursion.cpp}
gl_shader+Anonymous0.2400310000-11
gl_shader+Anonymous0.2400310000-12
gl_program0.2400310000-13
gl_shader_program+Anonymous0.2300410000-13
gl_shader_program+Anonymous0.2300710000-12
gl_active_atomic_buffer0.2300410000-12
gl_shader_program+Anonymous0.2300410000-11
gl_shader_program+Anonymous0.2300110000-12
gl_frag_depth_layout0.23--0-0--10
writemask0.23--0-0--20ir_builder
deref_replacer0.23120633.3380-17anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
varying_matches+match0.2300410000-13anonymous_namespace{link_varyings.cpp}
FREE_IMAGE_MDTYPE0.22--0-0--10
FITAG0.2200310000-10
FactoryCreator0.220033100100-28OIS
Effect+EDirection0.22--0-0--10OIS
__Globals0.22000-00-11
link_uniform_block_active0.22000-00-13
TagLib+MDMODEL0.21--0-0--10
tagTagInfo0.2100410000-11
FREE_IMAGE_MDMODEL0.21--0-0--10
assignment_entry0.2000-00-15anonymous_namespace{opt_constant_variable.cpp}
loop_unroll_count0.2900090-18
assignment_entry0.2600030-14anonymous_namespace{opt_dead_code_local.cpp}
TSymbolTableLevel0.26563937.5358-128
JoyStickInfo0.200110020-24OIS
tfeedback_decl0.212216936.13370-122
ForceFeedback0.21215983.1192-212OIS
YYSTYPE+Anonymous0.2000-30-12
YYSTYPE+Anonymous0.2000-30-11
TIntermBranch0.2130631.58100-24
TIntermLoop0.222028.33150-24
TIntermUnary0.24501322.41270-27
gl_uniform_storage0.2000-00-18
Block0.2000-40-12
gl_vert_attrib0.19--0-0--20
varying_info_visitor0.1910911814.17370-118anonymous_namespace{opt_dead_builtin_varyings.cpp}
lower_packing_builtins_op0.19--0-0--10
InputManager+AddOnFactories0.19--0-0--10OIS
psdColourModeData0.191911747.2290-16
psdHeaderInfo0.192301234.2981-17
psdImageResource0.1970541.6740-15
find_variable_index0.196044080-15anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
psdThumbnail0.195102028.1790-16
psdICCProfile0.19110426.6760-14
switch_generator0.19392817.02136-114anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
psdResolutionInfo0.193502440.6890-14
psdResolutionInfo_v20.19190520.8340-13
psdDisplayInfo0.19292821.6280-14
YYSTYPE+Anonymous0.19000-00-11
YYSTYPE+Anonymous0.19000-00-12
TVectorFields0.19000-10-11
TVariable0.192701332.5161-114
TSymbolTable0.194931118.33241-117
acp_entry0.19500030-12anonymous_namespace{opt_copy_propagation.cpp}
ae_entry0.1990430.7730-14anonymous_namespace{opt_cse.cpp}
kill_entry0.19200030-12anonymous_namespace{opt_copy_propagation.cpp}
GlslFunction0.1983433.49516-228
TTranslateOptions0.19--0-0--20
Mouse0.19401376.4770-18OIS
ast_jump_statement+ast_jump_modes0.19--0-0--10
interface_block_usage_visitor0.1880327.2790-18
kill_entry0.18200030-13anonymous_namespace{opt_copy_propagation_elements.cpp}
acp_entry0.18800040-15anonymous_namespace{opt_copy_propagation_elements.cpp}
ir_control_flow_visitor0.18003100150-113
block_record0.18200060-12anonymous_namespace{lower_jumps.cpp}
function_record0.1815000105-111anonymous_namespace{lower_jumps.cpp}
loop_record0.1819029.52118-113anonymous_namespace{lower_jumps.cpp}
__Globals0.1843248.51202-118anonymous_namespace{opt_tree_grafting.cpp}
kill_entry0.18300030-13anonymous_namespace{opt_constant_propagation.cpp}
acp_entry0.181100040-14anonymous_namespace{opt_constant_propagation.cpp}
gl_builtin_uniform_desc0.18000-00-13
per_vertex_accumulator0.18130423.5380-16anonymous_namespace{builtin_variables.cpp}
gl_system_value0.18--0-0--10
Keyboard0.18805587.3120-110OIS
Win32JoyStick0.1825017122.12767-135OIS
Win32Mouse0.1816312211.89482-124OIS
Win32Keyboard0.1817725523.71653-132OIS
__Globals0.18271720.5970-19anonymous_namespace{lower_ubo_reference.cpp}
ir_rvalue_enter_visitor0.189000130-111
JoyStick0.182203762.71160-112OIS
Win32ForceFeedback0.1833708419.959934-137OIS
builtin_builder+image_function_flags0.17--0-0--10anonymous_namespace{builtin_functions.cpp}
GlslSymbolSorter0.17100050-13
AttrSemanticMapping0.17000-00-12
EClassifier0.17--0-0--10
ShUniformInfo0.1700110000-14
HlslCrossCompiler0.1715000102-110
ga_entry0.16200030-12
string_buffer0.162200080-14
global_print_tracker0.16600030-15
PrintGlslMode0.16--0-0--10
colour_t0.15000-00-01
YYSTYPE+Anonymous+Anonymous0.15000-30-04
YYSTYPE+Anonymous+Anonymous0.15000-30-04
YYSTYPE+Anonymous+Anonymous0.15000-30-08
SymbolList_Rec0.15000-00-01
Scope_Rec0.15000-00-01
TPropagateMutable0.1514016.6790-011
MacpixMap0.15000-30-02
YYSTYPE0.15000-20-02
tagPCXHEADER0.15000-30-01
OpDef0.1500110000-02
CPPStruct_Rec0.15000-00-04
tagErrorManager0.1500310030-02
MemoryPool_rec0.15000-00-02
Anonymous0.15000-00-01
MacroInputSrc0.1500110000-03
UngotToken0.15000-00-03
BMHD0.15000-00-01
StringInputSrc0.15000-00-02
TokenInputSrc0.1500110000-02
tagKOALA0.15000-30-01
tagDestinationManager0.15000-00-03
yyltype0.15000-00-02
Anonymous0.1500110000-02
eval_prec0.15--0-0--00
Anonymous0.15000-00-01
tagSourceManager0.15000-00-03
AtomTable_Rec0.15000-00-03
TIFFCodec0.15000-00-01
_TIFFRGBAImage0.1500310000-07
TBuiltIns0.1540235612.23172-013
TIFFTagMethods0.15000-00-00
tagTGAFOOTER0.15000-30-02
tagTGAEXTENSIONAREA0.15000-30-03
IOCache0.153101836.73110-04
TargaThumbnail0.1531138.82120-05
TThreadParseContextRec0.15000-30-01
NNQuantizer0.152911210827.07760-05
WuQuantizer0.15335116215.62660-08
CONVERT_TO_BYTE<Tsrc>0.15422816120-04
CONVERT_TYPE<Tdst,Tsrc>0.15152211.7640-03
TIFFLoadMethod0.15--0-0--00
TIFFFieldInfo0.1500610000-05
tagWBMPHEADER0.15000-30-01
fi_TIFFIO0.15000-00-02
tagTGAHEADER0.15000-30-01
YYSTYPE+Anonymous+Anonymous0.15000-00-08
psdParser0.1537568418.31093-021
tagSUNHEADER0.15000-30-01
YYSTYPE+Anonymous+Anonymous0.15000-00-04
MacPoint0.15000-00-00
MacRGBColour0.15000-00-00
fi_ioStructure0.1500110000-01
MacPattern0.15000-00-01
YYSTYPE+Anonymous+Anonymous0.15000-00-04
Nodes0.15000-30-06anonymous_namespace{parsehelper.cpp}
__Globals0.1570100593-014anonymous_namespace{parsehelper.cpp}
tagRLEStatus0.15000-30-01
TOutputTraverser0.15101292.3130-02
YYSTYPE0.15000-00-02
LibRaw_freeimage_datastream0.1568168.11311-09
tagSGIHeader0.15000-30-03
yy_buffer_state0.15000-00-03
FREE_IMAGE_QUANTIZE0.15--0-0--00
zzip_error_t0.15--0-0--00
FREE_IMAGE_JPEG_OPERATION0.15--0-0--00
FREE_IMAGE_DITHER0.15--0-0--00
tagFIRGBAF0.1500210000-01
DIR0.1500410000-05
tagFIRGBA160.1500210000-00
__Globals0.1512561276437.824180-023
tagFIRGBF0.1500210000-01
tagFILE_RGBA0.15000-20-01
FIMEMORYHEADER0.1500110000-01
tagFILE_RGB0.15000-10-01
tagFILE_BGRA0.15000-10-01
FIMEMORY0.1500310000-00
FREE_IMAGE_FILTER0.15--0-0--00
FREE_IMAGE_TMO0.15--0-0--00
FIMETADATA0.1500310000-00
FREE_IMAGE_COLOR_CHANNEL0.15--0-0--00
tagFIRGB160.1500210000-00
zzip_disk_entry0.1500610000-03
zzip_root_dirent0.15000-00-03
zzip_file_header0.1500110000-03
zzip_file_trailer0.1500510000-01
zzip_disk_trailer0.1500110000-01
Anonymous0.15000-00-03
_disk_trailer0.15000-00-01
zzip_extra_block0.1500110000-01
zzip_disk64_trailer0.1500110000-02
FIMULTIBITMAP0.15000-30-00
bzFile0.15000-00-04
tagBITMAPINFO0.15000-00-02
tagRGBTRIPLE0.15000-30-01
DState0.15000-00-04
__Globals0.154486774418.9511360-08
EState0.15000-00-04
errlistentry0.1500210000-02
errnolistentry0.1500110000-01
DXT_BLOCKDECODER_30.15500050-06
DXT_BLOCKDECODER_10.15000-30-02
C_IStream0.156044080-02
DXT_BLOCKDECODER_50.1520129.0990-07
DXT_INFO_5+AnonymousEnum0.15--0-0--00
tagDXT1Block0.15000-40-01
Button0.1520133.3320-03OIS
DXT_INFO_3+AnonymousEnum0.15--0-0--00
DXT_INFO_1+AnonymousEnum0.15--0-0--00
tagICONHEADER0.1500210030-00
rgbe_error_code0.15--0-0--00
TSamplerTraverser0.1520213815.83812-030
tagICONDIRECTORYENTRY0.15000-00-02
tagHeaderInfo0.15000-30-03
GIFinfo0.1540342.8640-05
C_OStream0.1570541.6780-03
StringTable0.1514762916.48430-07
PageInfo0.15500040-01
tagDDSHEADER0.15000-30-02
PluginList0.156321114.86255-016
tagNamedColor0.1500110000-02
tagJ2KFIO_t0.1500610000-01
DeprecationMgr0.151301145.8373-010
FREEIMAGERGBMASKS0.1500610000-01
TagLib0.1510228645.74468-015
tagFILE_BGR0.15000-10-01
FREEIMAGEHEADER0.1500610000-09
METADATAHEADER0.1500110000-02
AnonymousEnum0.15--0-0--00
AnonymousEnum0.15--0-0--00
AnonymousEnum0.15--0-0--00
AnonymousEnum0.15--0-0--00
tagCUTHEADER0.15000-30-01
tagBITMAPCOREHEADER0.15000-00-01
eChunckType0.15--0-0--00
tagBITMAPFILEHEADER0.15000-30-01
tagBITMAPINFOOS2_1X_HEADER0.15000-30-01
ir_function_inlining_visitor0.1521014.55120-011anonymous_namespace{opt_function_inlining.cpp}
ir_variable_replacement_visitor0.15260823.53140-014
nested_if_flattener0.15120736.84102-010anonymous_namespace{opt_flatten_nested_if_blocks.cpp}
matrix_flipper0.1534100161-016anonymous_namespace{opt_flip_matrices.cpp}
redundant_jumps_visitor0.152501334.21140-012anonymous_namespace{opt_redundant_jumps.cpp}
__Globals0.15000-00-01anonymous_namespace{opt_structure_splitting.cpp}
ir_if_simplification_visitor0.152502953.7121-014anonymous_namespace{opt_if_simplification.cpp}
ir_noop_swizzle_visitor0.1517015.56130-07anonymous_namespace{opt_noop_swizzle.cpp}
ir_dead_functions_visitor0.1517015.5691-09anonymous_namespace{opt_dead_functions.cpp}
geom_array_resize_visitor0.152001237.5110-012anonymous_namespace{linker.cpp}
replace_varyings_visitor0.159143125.413810-020anonymous_namespace{opt_dead_builtin_varyings.cpp}
is_cse_candidate_visitor0.1560753.8580-06anonymous_namespace{opt_cse.cpp}
contains_rvalue_visitor0.15400080-03anonymous_namespace{opt_cse.cpp}
array_index_visit0.15500081-05anonymous_namespace{opt_dead_code_local.cpp}
find_assignment_visitor0.15230414.81140-016anonymous_namespace{linker.cpp}
find_deref_visitor0.1570436.3690-07anonymous_namespace{linker.cpp}
kill_for_derefs_visitor0.1533038.33180-016anonymous_namespace{opt_dead_code_local.cpp}
parcel_out_uniform_storage0.1512123421.94310-019
count_block_size0.1550116.6770-03anonymous_namespace{link_uniform_blocks.cpp}
s_float0.15300080-03
__Globals0.1591599380-018linker
block0.1500110000-02
s_pattern0.15360614.29180-08
interface_block_definitions0.151101659.2660-05anonymous_namespace{link_interface_blocks.cpp}
ubo_visitor0.153801730.91120-08anonymous_namespace{link_uniform_blocks.cpp}
link_uniform_block_active_visitor0.155111927.14160-013
ralloc_header0.15000-00-00
ir_swizzle_swizzle_visitor0.1525013.85160-07anonymous_namespace{opt_swizzle_swizzle.cpp}
count_uniform_size0.153803044.12150-07anonymous_namespace{link_uniforms.cpp}
ir_structure_reference_visitor0.153111126.19171-015anonymous_namespace{opt_structure_splitting.cpp}
ir_structure_splitting_visitor0.1560300256-017anonymous_namespace{opt_structure_splitting.cpp}
tree_grafting_info0.15000-30-02anonymous_namespace{opt_tree_grafting.cpp}
ir_vectorize_visitor0.158814634.33300-018anonymous_namespace{opt_vectorize.cpp}
ir_tree_grafting_visitor0.159711714.91510-027anonymous_namespace{opt_tree_grafting.cpp}
find_deref_info0.15000-30-02anonymous_namespace{opt_tree_grafting.cpp}
cse_visitor0.157802625257-022anonymous_namespace{opt_cse.cpp}
lower_discard_flow_visitor0.1525013.85119-019anonymous_namespace{lower_discard_flow.cpp}
lower_discard_visitor0.1524000115-014anonymous_namespace{lower_discard.cpp}
lower_instructions_visitor0.1517106828.454269-021anonymous_namespace{lower_instructions.cpp}
ir_if_to_cond_assign_visitor0.154101729.3197-019anonymous_namespace{lower_if_to_cond_assign.cpp}
ir_vec_index_to_cond_assign_visitor0.155722126.922013-021anonymous_namespace{lower_vec_index_to_cond_assign.cpp}
ir_vec_index_to_swizzle_visitor0.153311936.54181-018anonymous_namespace{lower_vec_index_to_swizzle.cpp}
variable_index_to_cond_assign_visitor0.159702117.83013-021anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
vector_insert_visitor0.153412239.291017-021anonymous_namespace{lower_vector_insert.cpp}
ir_lower_jumps_visitor0.15264429352.69034-027anonymous_namespace{lower_jumps.cpp}
lower_noise_visitor0.1590430.77100-08
output_read_remover0.1523028111-014anonymous_namespace{lower_output_reads.cpp}
ir_mat_op_to_vec_visitor0.1514973820.324231-021anonymous_namespace{lower_mat_op_to_vec.cpp}
flatten_named_interface_blocks_declarations0.157921919.39264-020anonymous_namespace{lower_named_interface_blocks.cpp}
lower_packing_builtins_visitor0.15232069975.0855178-020anonymous_namespace{lower_packing_builtins.cpp}
lower_ubo_reference_visitor0.1516633919.023324-032anonymous_namespace{lower_ubo_reference.cpp}
lower_packed_varyings_visitor0.15157211341.854517-024anonymous_namespace{lower_packed_varyings.cpp}
lower_packed_varyings_gs_splicer0.1570436.3660-06
lower_vector_visitor0.1510412016.13227-019anonymous_namespace{lower_vector.cpp}
tfeedback_candidate_generator0.15250824.2480-07
ir_copy_propagation_visitor0.159813626.872612-022anonymous_namespace{opt_copy_propagation.cpp}
ir_constant_variable_visitor0.154701220.34180-016anonymous_namespace{opt_constant_variable.cpp}
loop_analysis0.1518207428.91490-022anonymous_namespace{loop_analysis.cpp}
ir_copy_propagation_elements_visitor0.1517924921.495014-026anonymous_namespace{opt_copy_propagation_elements.cpp}
find_end_primitive_visitor0.154045080-04anonymous_namespace{linker.cpp}
varying_matches0.157838150.94280-011anonymous_namespace{link_varyings.cpp}
array_sizing_visitor0.157032727.84252-011
examine_rhs0.15900080-07
ir_array_reference_visitor0.155112532.89241-015anonymous_namespace{opt_array_splitting.cpp}
ir_array_splitting_visitor0.154111324.07173-015
ir_algebraic_visitor0.1538536614.6314332-014anonymous_namespace{opt_algebraic.cpp}
lower_clip_distance_visitor0.15155214949.014026-027anonymous_namespace{lower_clip_distance.cpp}
loop_control_visitor0.152501435.9130-09anonymous_namespace{loop_controls.cpp}
ir_constant_propagation_visitor0.1522314416.485113-029anonymous_namespace{opt_constant_propagation.cpp}
ir_constant_folding_visitor0.154311930.65181-018anonymous_namespace{opt_constant_folding.cpp}
loop_unroll_visitor0.158439753.59264-016anonymous_namespace{loop_unroll.cpp}
__Globals0.153204055.56160-03anonymous_namespace{link_interface_blocks.cpp}
ast_expression+Anonymous0.15000-30-04
ast_node+Anonymous0.1500310030-01
ShBindingTable0.15000-00-02
ast_type_qualifier+Anonymous0.15000-30-02
_verbose0.15--0-0--00
mesa_debug_type0.15--0-0--00
fi_type0.1500810000-03
_debug0.15--0-0--00
ast_node+Anonymous0.1500310030-01
yy_trans_info0.1500210000-01
builtin_variable_generator0.15316311326.34746-030anonymous_namespace{builtin_variables.cpp}
glslopt_shader_type0.15--0-0--00
yyguts_t0.1500110030-07
builtin_builder0.1511461116512.59204806-037anonymous_namespace{builtin_functions.cpp}
prog_instruction0.1500310000-06
gl_state_index_0.15--0-0--00
builtin_type_versions0.15000-00-02
gl_register_file0.15--0-0--00
FITAGHEADER0.1500310000-02
FIRational0.158225339.26392-012
ast_expression_bin0.15400070-02
CResizeEngine0.15967855136.32152-07
BlockContinueus0.15200040-03
CONVERT_TO_COMPLEX<Tsrc>0.15152211.7640-04
MULTIBITMAPHEADER0.1500110040-09
BlockReference0.15200040-03
ast_function_expression0.1510707842.163110-022
ast_cs_input_layout0.153522238.6135-019
ast_gs_input_layout0.152601739.53101-014
gl_frag_attrib0.15--0-0--00
gl_geom_attrib0.15--0-0--00
ast_expression_statement0.15901257.14100-06
ast_aggregate_initializer0.151501244.4491-09
ast_jump_statement0.1584028253313-024
ast_selection_statement0.152901127.5122-011
glslopt_options0.15--0-0--00
expansion_node0.15000-00-02
import_prototype_visitor0.152201642.11101-06anonymous_namespace{ir_import_prototypes.cpp}
argument_list0.15000-00-01
token_class_t0.15--0-0--00
yytokentype0.15--0-0--00
yyguts_t0.1500110000-07
has_recursion_visitor0.15300821.05103-010anonymous_namespace{ir_function_detect_recursion.cpp}
ir_function_can_inline_visitor0.15400070-04
ir_print_glsl_visitor0.1563668712.031852-059
__Globals0.15333615.38131-017anonymous_namespace{link_atomics.cpp}
active_atomic_buffer0.1590535.7140-04anonymous_namespace{link_atomics.cpp}
call_link_visitor0.159226441.03233-020anonymous_namespace{link_functions.cpp}
yy_trans_info0.1500210000-01
ir_decl_removal_visitor0.15400080-05
ir_stats_counter_visitor0.1519000150-011
gl_uniform_driver_format0.15--0-0--00
ir_validate0.155534427.061630-028anonymous_namespace{ir_validate.cpp}
yytokentype0.15--0-0--00
yyalloc0.1500110000-03
yytokentype0.15--0-0--00
_mesa_symbol_table_iterator0.15000-00-02
__Globals0.152064198.444419-012
glslopt_ctx0.15500030-04
yytokentype0.15--0-0--00
glslopt_shader0.153010060-08
pool_allocator<T>+rebind0.15000-00-00
_mesa_symbol_table0.1500310000-03
Anonymous0.1500510000-01
ir_expression_flattening_visitor0.1513017.1464-09
yyalloc0.1500110000-03
function_status0.15--0-0--00
fixup_ir_call_visitor0.156065080-06
_mesa_glsl_extension0.15902573.5350-04
hash_table0.15000-00-02
hash_node0.15000-00-01

Types Metrics : Code Members and Inheritance

Type Name # Instance Methods Nb Static Methods # Fields# Children ClassesDepth Of Inheritance Tree Type Namespace
__Globals32436713310900
exec_node18302--
exec_list18303--
glsl_type47120236--
ir_variable15001002
ir_rvalue1910282
ir_visitor_status------
ir_instruction27021241
ir_hierarchical_visitor42004730
ir_constant3110303
ir_node_type------
ir_visitor2501040
glsl_precision------
ir_dereference_variable1300104
FreeImageIO3004--
ir_assignment1200402
ast_node10302270
glsl_struct_field1008--
token0003--
__Globals167120577400
ir_expression1530203
TSourceLoc3002--
ir_variable+ir_variable_data60027--
ir_variable_mode------
Object1304560OIS
token_node0002--
ComponentType------OIS
glsl_base_type------
ir_function_signature1600902
ir_if800302
TPoolAllocator8001000
ir_dereference903033
_mesa_glsl_parse_state1330110--
TIntermNode15811110
TType57901700
pool_allocator<T>1900100
__Globals36863026722500
ir_swizzle1510203
ir_call1100402
ir_dereference_array1400204
glsl_type+Anonymous10-3--
TIntermTyped2100181
TBasicType------
s_expression1111051
TOperator------
token_list0003--
symbol0006--
YYLTYPE3005--
TIntermTraverser1801240
ir_return1000103
YYLTYPE0005--
ir_function1300202
ast_expression910531
ir_loop800102
TInfoSinkBase2700100
ForceEffect400050OIS
YYSTYPE0005--
ir_constant_data60-4--
ir_dereference_record1200204
ir_texture1210503
BlockType------
tagDXTColBlock4002--
FIBITMAP0001--
Symbol_Rec0006--
ir_variable+ir_variable_data+Anonymous3006--
TPrecision------
InputSrc0005--
Component400150OIS
string_node0002--
TVector<T>300000
ir_discard900103
ir_expression_operation------
ir_depth_layout------
ir_variable+ir_variable_data+Anonymous3002--
TSymbol1782420
EventArg400130OIS
ir_jump500032
glsl_interface_packing------
ir_rvalue_visitor15000192
TokenStream_Rec0004--
tagRGBQUAD3004--
node0002--
zzip_version0002--
symbol_header0003--
TQualifier------
gl_texture_index------
tagColor5654003--
glsl_symbol_table19303--
ir_emit_vertex700002
TInfoSink400200
TIntermAggregate1500403
glsl_sampler_dim------
ir_loop_jump900103
ir_end_primitive700002
glsl_type+Anonymous00-3--
ir_typedecl_statement700102
MacroSymbol0005--
ir_swizzle_mask6006--
tagColor88886004--
KeyEvent300201OIS
TokenBlock_Rec0005--
MouseButtonID------OIS
FREE_IMAGE_TYPE------
JoyStickEvent300101OIS
TTypeLine4002--
TParseContext500015--
Type------OIS
glsl_interp_qualifier------
ir_precision_statement700102
s_number801022
TIntermOperator1000132
TTypeInfo680200
ir_var_declaration_type------
Envelope500401OIS
zzip_dostime0002--
argument_node0002--
string_list0002--
SourceLoc_Rec0001--
ast_type_qualifier+Anonymous+Anonymous30037--
zzip_file00012--
ir_texture+Anonymous+Anonymous3002--
gl_varying_slot------
DXT_BLOCKDECODER_BASE<INFO>300330
program_resource_visitor1201050
gl_shader_stage------
JoyStickState700500OIS
TPoolAllocator+AllocHeader4002--
TPoolAllocator+AllocState3002--
bz_stream00012--
Interface400020OIS
tagDXTAlphaBlockExplicit4001--
ast_type_qualifier+Anonymous+Anonymous30037--
hash_entry0003--
ir_state_slot0002--
Axis200301OIS
OIS_ERROR------OIS
tagDXTAlphaBlock3BitLinear4002--
MouseState800600OIS
TIntermConstant2200102
_zzip_plugin_io+Anonymous00-1--
zzip_plugin_io0008--
ast_node+Anonymous3003--
ast_node+Anonymous3003--
BlockTypeS4001--
Interface+IType------OIS
function430300anonymous_namespace{ir_function_detect_recursion.cpp}
HashEntry_Rec0002--
ir_variable_refcount_visitor1000201
TIntermBinary1100203
KeyCode------OIS
ast_type_qualifier123011--
MouseEvent300101OIS
ast_type_specifier900401
ir_loop_jump+jump_mode------
TIntermSelection1100302
ast_type_qualifier+Anonymous+Anonymous30037--
TAnnotation480100
ast_case_label800101
TIntermSymbol1200402
gl_uniform_buffer_variable0005--
jump_strength------
ir_print_visitor2800401
glsl_switch_state4007--
gl_context0008--
FREE_IMAGE_FORMAT------
gl_extensions000146--
EAttribSemantic------
gl_constants00095--
gl_sl_pragmas0004--
chunk0001--
YYSTYPE+Anonymous0002--
DXT_INFO_10000--
tagBITMAPINFOHEADER10011--
ShBinding0002--
macro_t0004--
tagDDSURFACEDESC240011--
TIntermNodePair1002--
MacRect6004--
YYSTYPE+Anonymous3002--
YYSTYPE+Anonymous3002--
YYSTYPE+Anonymous0002--
ast_type_qualifier+Anonymous+Anonymous30037--
gl_api------
TParameter5004--
tagDDCAPS24003--
tagDDPIXELFORMAT4008--
AnonymousEnum------
ast_array_specifier700301
varying_matches+packing_order_enum------anonymous_namespace{link_varyings.cpp}
gl_uniform_block0006--
TPublicType9001000
gl_shader_program00035--
GlslStruct700300
EGlslSymbolType------
operand500100ir_builder
__Globals7800000ir_builder
GlslSymbol2400801
gl_program_constants00028--
_zzip_plugin_io0002--
InputManager1441610OIS
TFunction2000501
EGlslQualifier------
ir_rvalue_base_visitor16010221
ast_type_qualifier+Anonymous30-2--
TIntermDeclaration900102
GlslSymbolOrStructMemberBase1500820
ir_texture_opcode------
Exception600401OIS
gl_builtin_uniform_element0003--
TIFFDisplay00013--
loop_variable_state720901
skip_type------
loop_terminator300201
Plugin30016--
TPrefixType------
gl_uniform_block_packing------
YYSTYPE50-24--
StringTable_Rec0003--
yystypepp0004--
HashTable_Rec0004--
scope_level0002--
gl_shader00031--
gl_transform_feedback_varying_info0003--
gl_transform_feedback_output0005--
loop_variable300801
s_int1000103
s_list800102
s_symbol900102
ast_case_statement800201
ast_switch_statement900201
TLoopType------
ast_case_statement_list800101
EShType------
ast_operators------
symbol_table_entry1030700
ast_fully_specified_type700201
gl_shader_compiler_options10016--
parameter_list_match_t------
ext_behavior------
glslopt_target------
tagFICOMPLEX0002--
active_atomic_counter0002--anonymous_namespace{link_atomics.cpp}
deref500100ir_builder
EShLanguage------
ir_texture+Anonymous30-5--
zzip_dir00012--
loop_state700500
ETargetVersion------
CWeightsTable+Contribution0003--
hash_table00010--
dd_function_table0002--
ast_iteration_statement900501
ast_case_label_list800101
gl_constants+Anonymous0005--
gl_constants+Anonymous0002--
ir_struct_usage_visitor600201
interface_block_definition6004--anonymous_namespace{link_interface_blocks.cpp}
dirent0004--
TIntermConstant+Value+Anonymous30-3--
TIntermConstant+Value6001--
string_to_uint_map5101--
Effect+EForce------OIS
Effect+EType------OIS
tfeedback_candidate0003--
TType+ECompatibility------
gl_opaque_uniform_index0002--
gl_constant_value00-4--
ast_function800501
ast_compound_statement800201
ast_struct_specifier600301
PluginNode3008--
MouseListener503000OIS
ast_expression+Anonymous30-5--
DXT_INFO_30000--
prog_src_register0009--
prog_opcode------
tagDXT3Block4002--
prog_dst_register0006--
_mesa_glsl_parse_state+Anonymous1002--
ast_type_qualifier+Anonymous30-2--
_mesa_glsl_parse_state+Anonymous10035--
_mesa_glsl_parse_state+Anonymous10035--
_mesa_glsl_parse_state+Anonymous1002--
ast_parameter_declarator610501
ast_declarator_list800301
FIICCPROFILE0003--
gl_frag_result------
ast_type_qualifier+Anonymous30-2--
Win32InputManager1710901OIS
zzip_dirent0004--
zzip_dir+Anonymous00-3--
zzip_dir_hdr0008--
psdHeader3008--
gl_transform_feedback_info0006--
yy_buffer_state00012--
TIFFYCbCrToRGB0006--
CWeightsTable600300
yy_buffer_state00012--
TIFFCIELabToRGB00011--
glcpp_parser00025--
tagDXT5Block4002--
FREE_IMAGE_COLOR_TYPE------
YYSTYPE00-24--
_TIFFRGBAImage+Anonymous00-3--
DXT_INFO_50000--
GlslSymbol+WriteDeclMode------
ir_variable_refcount_entry400500
Pov6001001OIS
ast_declaration700301
Slider600201OIS
Keyboard+Modifier------OIS
Keyboard+TextTranslationMode------OIS
KeyListener402000OIS
variable_entry300601anonymous_namespace{opt_array_splitting.cpp}.opt_array_splitting
gl_uniform_driver_storage0004--
StructMember800101
variable_entry300501anonymous_namespace{opt_structure_splitting.cpp}
s_pattern+Anonymous00-6--
glslopt_shader_input4001--
WuQuantizer+tagBox3007--
s_pattern+AnonymousEnum------
ir_factory900200ir_builder
ast_expression+Anonymous30-5--
assignment_generator4006--anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
ast_expression+Anonymous30-5--
struct_entry3001--
Effect8301100OIS
JoyStickListener803000OIS
skip_node0004--
active_list0003--
signature_entry400201anonymous_namespace{opt_dead_functions.cpp}
CacheFile1400900
Vector3300301OIS
PeriodicEffect400501OIS
ConditionalEffect400601OIS
RampEffect400301OIS
ConstantEffect400201OIS
ast_iteration_statement+ast_iteration_modes------
TGlslOutputTraverser71101501
HlslLinker33001000
ast_switch_body800101
ast_function_definition600201
ast_interface_block500501
DeprecationMgr+DeprecatedFunction3003--
call_node3001--anonymous_namespace{ir_function_detect_recursion.cpp}
gl_shader+Anonymous0001--
gl_shader+Anonymous0003--
gl_program00024--
gl_shader_program+Anonymous0007--
gl_shader_program+Anonymous0003--
gl_active_atomic_buffer0005--
gl_shader_program+Anonymous0001--
gl_shader_program+Anonymous0002--
gl_frag_depth_layout------
writemask------ir_builder
deref_replacer700303anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
varying_matches+match0006--anonymous_namespace{link_varyings.cpp}
FREE_IMAGE_MDTYPE------
FITAG0001--
FactoryCreator1006010OIS
Effect+EDirection------OIS
__Globals000300
link_uniform_block_active0004--
TagLib+MDMODEL------
tagTagInfo0003--
FREE_IMAGE_MDMODEL------
assignment_entry0005--anonymous_namespace{opt_constant_variable.cpp}
loop_unroll_count900201
assignment_entry300301anonymous_namespace{opt_dead_code_local.cpp}
TSymbolTableLevel980100
JoyStickInfo200600OIS
tfeedback_decl9101400
ForceFeedback1607311OIS
YYSTYPE+Anonymous3002--
YYSTYPE+Anonymous3002--
TIntermBranch700201
TIntermLoop900401
TIntermUnary900103
gl_uniform_storage00015--
Block4003--
gl_vert_attrib------
varying_info_visitor10001501anonymous_namespace{opt_dead_builtin_varyings.cpp}
lower_packing_builtins_op------
InputManager+AddOnFactories------OIS
psdColourModeData500200
psdHeaderInfo400500
psdImageResource400500
find_variable_index700101anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
psdThumbnail600900
psdICCProfile500200
switch_generator6005--anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
psdResolutionInfo500600
psdResolutionInfo_v2400500
psdDisplayInfo400500
YYSTYPE+Anonymous0002--
YYSTYPE+Anonymous0002--
TVectorFields1002--
TVariable1500401
TSymbolTable1800200
acp_entry300201anonymous_namespace{opt_copy_propagation.cpp}
ae_entry300301anonymous_namespace{opt_cse.cpp}
kill_entry300101anonymous_namespace{opt_copy_propagation.cpp}
GlslFunction40001600
TTranslateOptions------
Mouse700211OIS
ast_jump_statement+ast_jump_modes------
interface_block_usage_visitor800301
kill_entry300201anonymous_namespace{opt_copy_propagation_elements.cpp}
acp_entry400401anonymous_namespace{opt_copy_propagation_elements.cpp}
ir_control_flow_visitor1500011
block_record6002--anonymous_namespace{lower_jumps.cpp}
function_record8005--anonymous_namespace{lower_jumps.cpp}
loop_record8007--anonymous_namespace{lower_jumps.cpp}
__Globals130100anonymous_namespace{opt_tree_grafting.cpp}
kill_entry300201anonymous_namespace{opt_constant_propagation.cpp}
acp_entry400401anonymous_namespace{opt_constant_propagation.cpp}
gl_builtin_uniform_desc0003--
per_vertex_accumulator800200anonymous_namespace{builtin_variables.cpp}
gl_system_value------
Keyboard1203311OIS
Win32JoyStick1220702OIS
Win32Mouse900402OIS
Win32Keyboard1400602OIS
__Globals010000anonymous_namespace{lower_ubo_reference.cpp}
ir_rvalue_enter_visitor1300012
JoyStick1000711OIS
Win32ForceFeedback2100502OIS
builtin_builder+image_function_flags------anonymous_namespace{builtin_functions.cpp}
GlslSymbolSorter5000--
AttrSemanticMapping0002--
EClassifier------
ShUniformInfo0005--
HlslCrossCompiler1000900
ga_entry3001--
string_buffer700300
global_print_tracker3005--
PrintGlslMode------
colour_t0003--
YYSTYPE+Anonymous+Anonymous30-4--
YYSTYPE+Anonymous+Anonymous30-5--
YYSTYPE+Anonymous+Anonymous30-8--
SymbolList_Rec0002--
Scope_Rec0002--
TPropagateMutable4105--
MacpixMap30013--
YYSTYPE20-2--
tagPCXHEADER30015--
OpDef0003--
CPPStruct_Rec0009--
tagErrorManager3002--
MemoryPool_rec0005--
Anonymous0002--
MacroInputSrc0003--
UngotToken0003--
BMHD00013--
StringInputSrc0002--
TokenInputSrc0003--
tagKOALA3004--
tagDestinationManager0004--
yyltype0006--
Anonymous0002--
eval_prec------
Anonymous0003--
tagSourceManager0005--
AtomTable_Rec0006--
TIFFCodec0003--
_TIFFRGBAImage00025--
TBuiltIns680100
TIFFTagMethods0003--
tagTGAFOOTER3003--
tagTGAEXTENSIONAREA30015--
IOCache700600
TargaThumbnail700400
TThreadParseContextRec3001--
NNQuantizer13001300
WuQuantizer13001000
CONVERT_TO_BYTE<Tsrc>100000
CONVERT_TYPE<Tdst,Tsrc>100000
TIFFLoadMethod------
TIFFFieldInfo0008--
tagWBMPHEADER3005--
fi_TIFFIO0003--
tagTGAHEADER30012--
YYSTYPE+Anonymous+Anonymous00-8--
psdParser8001700
tagSUNHEADER3008--
YYSTYPE+Anonymous+Anonymous00-5--
MacPoint0002--
MacRGBColour0003--
fi_ioStructure0002--
MacPattern0001--
YYSTYPE+Anonymous+Anonymous00-4--
Nodes30-6--anonymous_namespace{parsehelper.cpp}
__Globals400000anonymous_namespace{parsehelper.cpp}
tagRLEStatus3002--
TOutputTraverser300101
YYSTYPE00-2--
LibRaw_freeimage_datastream1400401
tagSGIHeader30013--
yy_buffer_state00010--
FREE_IMAGE_QUANTIZE------
zzip_error_t------
FREE_IMAGE_JPEG_OPERATION------
FREE_IMAGE_DITHER------
tagFIRGBAF0004--
DIR0005--
tagFIRGBA160004--
__Globals631462300
tagFIRGBF0003--
tagFILE_RGBA2004--
FIMEMORYHEADER0005--
tagFILE_RGB1003--
tagFILE_BGRA1004--
FIMEMORY0001--
FREE_IMAGE_FILTER------
FREE_IMAGE_TMO------
FIMETADATA0001--
FREE_IMAGE_COLOR_CHANNEL------
tagFIRGB160003--
zzip_disk_entry00016--
zzip_root_dirent00016--
zzip_file_header00010--
zzip_file_trailer0004--
zzip_disk_trailer0008--
Anonymous00-3--
_disk_trailer0006--
zzip_extra_block0002--
zzip_disk64_trailer00010--
FIMULTIBITMAP3001--
bzFile0007--
tagBITMAPINFO0002--
tagRGBTRIPLE3003--
DState00064--
__Globals333133400
EState00039--
errlistentry0002--
errnolistentry0002--
DXT_BLOCKDECODER_3500101
DXT_BLOCKDECODER_1300001
C_IStream800201
DXT_BLOCKDECODER_5600301
DXT_INFO_5+AnonymousEnum------
tagDXT1Block4001--
Button200101OIS
DXT_INFO_3+AnonymousEnum------
DXT_INFO_1+AnonymousEnum------
tagICONHEADER3003--
rgbe_error_code------
TSamplerTraverser6807--
tagICONDIRECTORYENTRY0008--
tagHeaderInfo3005--
GIFinfo4008--
C_OStream700201
StringTable13002100
PageInfo4005--
tagDDSHEADER3002--
PluginList900200
tagNamedColor0004--
tagJ2KFIO_t0003--
DeprecationMgr410100
FREEIMAGERGBMASKS0003--
TagLib1010100
tagFILE_BGR1003--
FREEIMAGEHEADER00011--
METADATAHEADER0002--
AnonymousEnum------
AnonymousEnum------
AnonymousEnum------
AnonymousEnum------
tagCUTHEADER3003--
tagBITMAPCOREHEADER0005--
eChunckType------
tagBITMAPFILEHEADER3005--
tagBITMAPINFOOS2_1X_HEADER3005--
ir_function_inlining_visitor1100201anonymous_namespace{opt_function_inlining.cpp}
ir_variable_replacement_visitor1000201
nested_if_flattener800101anonymous_namespace{opt_flatten_nested_if_blocks.cpp}
matrix_flipper700301anonymous_namespace{opt_flip_matrices.cpp}
redundant_jumps_visitor900101anonymous_namespace{opt_redundant_jumps.cpp}
__Globals000100anonymous_namespace{opt_structure_splitting.cpp}
ir_if_simplification_visitor800101anonymous_namespace{opt_if_simplification.cpp}
ir_noop_swizzle_visitor700103anonymous_namespace{opt_noop_swizzle.cpp}
ir_dead_functions_visitor700201anonymous_namespace{opt_dead_functions.cpp}
geom_array_resize_visitor700201anonymous_namespace{linker.cpp}
replace_varyings_visitor1000603anonymous_namespace{opt_dead_builtin_varyings.cpp}
is_cse_candidate_visitor700101anonymous_namespace{opt_cse.cpp}
contains_rvalue_visitor700203anonymous_namespace{opt_cse.cpp}
array_index_visit710101anonymous_namespace{opt_dead_code_local.cpp}
find_assignment_visitor900201anonymous_namespace{linker.cpp}
find_deref_visitor800201anonymous_namespace{linker.cpp}
kill_for_derefs_visitor1000101anonymous_namespace{opt_dead_code_local.cpp}
parcel_out_uniform_storage12001201
count_block_size700101anonymous_namespace{link_uniform_blocks.cpp}
s_float800103
__Globals400000linker
block0002--
s_pattern700100
interface_block_definitions600200anonymous_namespace{link_interface_blocks.cpp}
ubo_visitor1000701anonymous_namespace{link_uniform_blocks.cpp}
link_uniform_block_active_visitor800401
ralloc_header0005--
ir_swizzle_swizzle_visitor700101anonymous_namespace{opt_swizzle_swizzle.cpp}
count_uniform_size900701anonymous_namespace{link_uniforms.cpp}
ir_structure_reference_visitor1000201anonymous_namespace{opt_structure_splitting.cpp}
ir_structure_splitting_visitor800103anonymous_namespace{opt_structure_splitting.cpp}
tree_grafting_info3002--anonymous_namespace{opt_tree_grafting.cpp}
ir_vectorize_visitor1500601anonymous_namespace{opt_vectorize.cpp}
ir_tree_grafting_visitor1800301anonymous_namespace{opt_tree_grafting.cpp}
find_deref_info3002--anonymous_namespace{opt_tree_grafting.cpp}
cse_visitor1100403anonymous_namespace{opt_cse.cpp}
lower_discard_flow_visitor900201anonymous_namespace{lower_discard_flow.cpp}
lower_discard_visitor700101anonymous_namespace{lower_discard.cpp}
lower_instructions_visitor1700201anonymous_namespace{lower_instructions.cpp}
ir_if_to_cond_assign_visitor600401anonymous_namespace{lower_if_to_cond_assign.cpp}
ir_vec_index_to_cond_assign_visitor1400101anonymous_namespace{lower_vec_index_to_cond_assign.cpp}
ir_vec_index_to_swizzle_visitor1300101anonymous_namespace{lower_vec_index_to_swizzle.cpp}
variable_index_to_cond_assign_visitor1100503anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
vector_insert_visitor500403anonymous_namespace{lower_vector_insert.cpp}
ir_lower_jumps_visitor23009--anonymous_namespace{lower_jumps.cpp}
lower_noise_visitor700103
output_read_remover800201anonymous_namespace{lower_output_reads.cpp}
ir_mat_op_to_vec_visitor1400201anonymous_namespace{lower_mat_op_to_vec.cpp}
flatten_named_interface_blocks_declarations800203anonymous_namespace{lower_named_interface_blocks.cpp}
lower_packing_builtins_visitor2800403anonymous_namespace{lower_packing_builtins.cpp}
lower_ubo_reference_visitor900503anonymous_namespace{lower_ubo_reference.cpp}
lower_packed_varyings_visitor1100700anonymous_namespace{lower_packed_varyings.cpp}
lower_packed_varyings_gs_splicer600201
lower_vector_visitor700203anonymous_namespace{lower_vector.cpp}
tfeedback_candidate_generator700401
ir_copy_propagation_visitor1400501anonymous_namespace{opt_copy_propagation.cpp}
ir_constant_variable_visitor1100101anonymous_namespace{opt_constant_variable.cpp}
loop_analysis1500401anonymous_namespace{loop_analysis.cpp}
ir_copy_propagation_elements_visitor1400603anonymous_namespace{opt_copy_propagation_elements.cpp}
find_end_primitive_visitor800101anonymous_namespace{linker.cpp}
varying_matches730500anonymous_namespace{link_varyings.cpp}
array_sizing_visitor640201
examine_rhs700201
ir_array_reference_visitor1000201anonymous_namespace{opt_array_splitting.cpp}
ir_array_splitting_visitor800103
ir_algebraic_visitor900203anonymous_namespace{opt_algebraic.cpp}
lower_clip_distance_visitor1400603anonymous_namespace{lower_clip_distance.cpp}
loop_control_visitor700201anonymous_namespace{loop_controls.cpp}
ir_constant_propagation_visitor1400503anonymous_namespace{opt_constant_propagation.cpp}
ir_constant_folding_visitor700103anonymous_namespace{opt_constant_folding.cpp}
loop_unroll_visitor1000301anonymous_namespace{loop_unroll.cpp}
__Globals200000anonymous_namespace{link_interface_blocks.cpp}
ast_expression+Anonymous30-5--
ast_node+Anonymous3003--
ShBindingTable0002--
ast_type_qualifier+Anonymous30-2--
_verbose------
mesa_debug_type------
fi_type00-3--
_debug------
ast_node+Anonymous3003--
yy_trans_info0002--
builtin_variable_generator21001400anonymous_namespace{builtin_variables.cpp}
glslopt_shader_type------
yyguts_t30025--
builtin_builder14600400anonymous_namespace{builtin_functions.cpp}
prog_instruction00013--
gl_state_index_------
builtin_type_versions0003--
gl_register_file------
FITAGHEADER0007--
FIRational2000200
ast_expression_bin700002
CResizeEngine700100
BlockContinueus4002--
CONVERT_TO_COMPLEX<Tsrc>100000
MULTIBITMAPHEADER40013--
BlockReference4002--
ast_function_expression700102
ast_cs_input_layout500101
ast_gs_input_layout400101
gl_frag_attrib------
gl_geom_attrib------
ast_expression_statement800101
ast_aggregate_initializer500102
ast_jump_statement800201
ast_selection_statement800301
glslopt_options------
expansion_node0003--
import_prototype_visitor900401anonymous_namespace{ir_import_prototypes.cpp}
argument_list0002--
token_class_t------
yytokentype------
yyguts_t00025--
has_recursion_visitor800401anonymous_namespace{ir_function_detect_recursion.cpp}
ir_function_can_inline_visitor700101
ir_print_glsl_visitor34001101
__Globals300000anonymous_namespace{link_atomics.cpp}
active_atomic_buffer4004--anonymous_namespace{link_atomics.cpp}
call_link_visitor800601anonymous_namespace{link_functions.cpp}
yy_trans_info0002--
ir_decl_removal_visitor700101
ir_stats_counter_visitor13003--
gl_uniform_driver_format------
ir_validate1410201anonymous_namespace{ir_validate.cpp}
yytokentype------
yyalloc00-3--
yytokentype------
_mesa_symbol_table_iterator0002--
__Globals2101600
glslopt_ctx3003--
yytokentype------
glslopt_shader32012--
pool_allocator<T>+rebind0000--
_mesa_symbol_table0004--
Anonymous0003--
ir_expression_flattening_visitor500103
yyalloc0003--
function_status------
fixup_ir_call_visitor700101
_mesa_glsl_extension2006--
hash_table0004--
hash_node0003--

Types Metrics : Lack Of Cohesion Of Methods and Association Between Classes

Type Name Lack Of Cohesion Of MethodsLack Of Cohesion Of Methods HSAssociation Between Classes Type Namespace
__Globals111782
exec_node0.380.49
exec_list0.60.648
glsl_type0.80.8162
ir_variable0.760.8356
ir_rvalue0.850.9110
ir_visitor_status--0
ir_instruction0.9616
ir_hierarchical_visitor0.680.693
ir_constant0.640.6756
ir_node_type--0
ir_visitor001
glsl_precision--0
ir_dereference_variable0.30.3321
FreeImageIO000
ir_assignment0.470.5333
ast_node0.810.9319
glsl_struct_field000
token000
__Globals0.970.98873
ir_expression0.430.46195
TSourceLoc000
ir_variable+ir_variable_data000
ir_variable_mode--0
Object0.820.91OIS
token_node000
ComponentType--0OIS
glsl_base_type--0
ir_function_signature0.770.8371
ir_if0.530.6718
TPoolAllocator0.680.7711
ir_dereference006
_mesa_glsl_parse_state0.961.04104
TIntermNode0.860.94
TType0.870.8869
pool_allocator<T>0.680.724
__Globals111256
ir_swizzle0.380.4246
ir_call0.530.6157
ir_dereference_array0.360.448
glsl_type+Anonymous000
TIntermTyped0.060.0618
TBasicType--0
s_expression005
TOperator--0
token_list000
symbol000
YYLTYPE000
TIntermTraverser0.8912
ir_return0.430.511
YYLTYPE000
ir_function0.60.6728
ast_expression0.320.4155
ir_loop0.60.7516
TInfoSinkBase0.620.6529
ForceEffect000OIS
YYSTYPE000
ir_constant_data000
ir_dereference_record0.330.3826
ir_texture0.540.641
BlockType--0
tagDXTColBlock000
FIBITMAP000
Symbol_Rec000
ir_variable+ir_variable_data+Anonymous000
TPrecision--0
InputSrc000
Component001OIS
string_node000
TVector<T>000
ir_discard0.330.411
ir_expression_operation--0
ir_depth_layout--0
ir_variable+ir_variable_data+Anonymous000
TSymbol0.840.884
EventArg0.510OIS
ir_jump004
glsl_interface_packing--0
ir_rvalue_visitor0011
TokenStream_Rec000
tagRGBQUAD000
node000
zzip_version000
symbol_header000
TQualifier--0
gl_texture_index--0
tagColor565000
glsl_symbol_table0.670.726
ir_emit_vertex006
TInfoSink000
TIntermAggregate0.870.9316
glsl_sampler_dim--0
ir_loop_jump0.330.49
ir_end_primitive006
glsl_type+Anonymous000
ir_typedecl_statement0.50.676
MacroSymbol000
ir_swizzle_mask000
tagColor8888000
KeyEvent0.512OIS
TokenBlock_Rec000
MouseButtonID--0OIS
FREE_IMAGE_TYPE--0
JoyStickEvent0.512OIS
TTypeLine000
TParseContext0.960.98192
Type--0OIS
glsl_interp_qualifier--0
ir_precision_statement0.50.676
s_number002
TIntermOperator0.290.3346
TTypeInfo0.860.923
ir_var_declaration_type--0
Envelope002OIS
zzip_dostime000
argument_node000
string_list000
SourceLoc_Rec000
ast_type_qualifier+Anonymous+Anonymous000
zzip_file000
ir_texture+Anonymous+Anonymous000
gl_varying_slot--0
DXT_BLOCKDECODER_BASE<INFO>0.330.51
program_resource_visitor0023
gl_shader_stage--0
JoyStickState0.5118OIS
TPoolAllocator+AllocHeader000
TPoolAllocator+AllocState000
bz_stream000
Interface000OIS
tagDXTAlphaBlockExplicit000
ast_type_qualifier+Anonymous+Anonymous000
hash_entry000
ir_state_slot000
Axis0.170.332OIS
OIS_ERROR--0OIS
tagDXTAlphaBlock3BitLinear000
MouseState0.560.831OIS
TIntermConstant0.160.1716
_zzip_plugin_io+Anonymous000
zzip_plugin_io000
ast_node+Anonymous000
ast_node+Anonymous000
BlockTypeS0.510
Interface+IType--0OIS
function0.921.225anonymous_namespace{ir_function_detect_recursion.cpp}
HashEntry_Rec000
ir_variable_refcount_visitor0.750.8622
TIntermBinary0.50.5796
KeyCode--0OIS
ast_type_qualifier0.840.9439
MouseEvent0.512OIS
ast_type_specifier0.120.1534
ir_loop_jump+jump_mode--0
TIntermSelection0.380.4329
ast_type_qualifier+Anonymous+Anonymous000
TAnnotation0.750.825
ast_case_label0026
TIntermSymbol0.640.724
gl_uniform_buffer_variable000
jump_strength--0
ir_print_visitor0.880.91114
glsl_switch_state000
gl_context000
FREE_IMAGE_FORMAT--0
gl_extensions000
EAttribSemantic--0
gl_constants000
gl_sl_pragmas000
chunk000
YYSTYPE+Anonymous000
DXT_INFO_1000
tagBITMAPINFOHEADER000
ShBinding000
macro_t000
tagDDSURFACEDESC2000
TIntermNodePair000
MacRect000
YYSTYPE+Anonymous000
YYSTYPE+Anonymous000
YYSTYPE+Anonymous000
ast_type_qualifier+Anonymous+Anonymous000
gl_api--0
TParameter003
tagDDCAPS2000
tagDDPIXELFORMAT000
AnonymousEnum--0
ast_array_specifier0.250.3310
varying_matches+packing_order_enum--0anonymous_namespace{link_varyings.cpp}
gl_uniform_block000
TPublicType0.550.733
gl_shader_program000
GlslStruct0.570.6721
EGlslSymbolType--0
operand002ir_builder
__Globals0076ir_builder
GlslSymbol0.830.8830
gl_program_constants000
_zzip_plugin_io000
InputManager0.820.8844OIS
TFunction0.690.7330
EGlslQualifier--0
ir_rvalue_base_visitor0040
ast_type_qualifier+Anonymous000
TIntermDeclaration0.330.48
GlslSymbolOrStructMemberBase0.810.95
ir_texture_opcode--0
Exception0.50.673OIS
gl_builtin_uniform_element000
TIFFDisplay000
loop_variable_state0.88118
skip_type--0
loop_terminator001
Plugin000
TPrefixType--0
gl_uniform_block_packing--0
YYSTYPE000
StringTable_Rec000
yystypepp000
HashTable_Rec000
scope_level000
gl_shader000
gl_transform_feedback_varying_info000
gl_transform_feedback_output000
loop_variable0.620.942
s_int0.20.253
s_list0.6718
s_symbol0.250.334
ast_case_statement0.170.2520
ast_switch_statement0.120.1736
TLoopType--0
ast_case_statement_list0.330.58
EShType--0
ast_operators--0
symbol_table_entry0.410.468
ast_fully_specified_type0.250.3310
gl_shader_compiler_options000
parameter_list_match_t--0
ext_behavior--0
glslopt_target--0
tagFICOMPLEX000
active_atomic_counter000anonymous_namespace{link_atomics.cpp}
deref002ir_builder
EShLanguage--0
ir_texture+Anonymous000
zzip_dir000
loop_state0.60.7215
ETargetVersion--0
CWeightsTable+Contribution000
hash_table000
dd_function_table000
ast_iteration_statement0.250.3331
ast_case_label_list0.330.59
gl_constants+Anonymous000
gl_constants+Anonymous000
ir_struct_usage_visitor0.380.517
interface_block_definition009anonymous_namespace{link_interface_blocks.cpp}
dirent000
TIntermConstant+Value+Anonymous000
TIntermConstant+Value000
string_to_uint_map0.170.211
Effect+EForce--0OIS
Effect+EType--0OIS
tfeedback_candidate000
TType+ECompatibility--0
gl_opaque_uniform_index000
gl_constant_value000
ast_function0.20.342
ast_compound_statement0.170.2513
ast_struct_specifier0.170.2233
PluginNode000
MouseListener000OIS
ast_expression+Anonymous000
DXT_INFO_3000
prog_src_register000
prog_opcode--0
tagDXT3Block000
prog_dst_register000
_mesa_glsl_parse_state+Anonymous000
ast_type_qualifier+Anonymous000
_mesa_glsl_parse_state+Anonymous000
_mesa_glsl_parse_state+Anonymous000
_mesa_glsl_parse_state+Anonymous000
ast_parameter_declarator0.250.3332
ast_declarator_list0.220.33112
FIICCPROFILE000
gl_frag_result--0
ast_type_qualifier+Anonymous000
Win32InputManager0.760.8167OIS
zzip_dirent000
zzip_dir+Anonymous000
zzip_dir_hdr000
psdHeader000
gl_transform_feedback_info000
yy_buffer_state000
TIFFYCbCrToRGB000
CWeightsTable0.60.7510
yy_buffer_state000
TIFFCIELabToRGB000
glcpp_parser000
tagDXT5Block000
FREE_IMAGE_COLOR_TYPE--0
YYSTYPE000
_TIFFRGBAImage+Anonymous000
DXT_INFO_5000
GlslSymbol+WriteDeclMode--0
ir_variable_refcount_entry000
Pov002OIS
ast_declaration005
Slider002OIS
Keyboard+Modifier--0OIS
Keyboard+TextTranslationMode--0OIS
KeyListener000OIS
variable_entry005anonymous_namespace{opt_array_splitting.cpp}.opt_array_splitting
gl_uniform_driver_storage000
StructMember004
variable_entry001anonymous_namespace{opt_structure_splitting.cpp}
s_pattern+Anonymous000
glslopt_shader_input000
WuQuantizer+tagBox000
s_pattern+AnonymousEnum--0
ir_factory0.430.58ir_builder
ast_expression+Anonymous000
assignment_generator0011anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
ast_expression+Anonymous000
struct_entry001
Effect0.80.921OIS
JoyStickListener000OIS
skip_node000
active_list000
signature_entry002anonymous_namespace{opt_dead_functions.cpp}
CacheFile0.690.7537
Vector30.330.53OIS
PeriodicEffect0.202OIS
ConditionalEffect002OIS
RampEffect0.3302OIS
ConstantEffect0.502OIS
ast_iteration_statement+ast_iteration_modes--0
TGlslOutputTraverser0.770.83358
HlslLinker0.840.87210
ast_switch_body005
ast_function_definition0030
ast_interface_block0.10.285
DeprecationMgr+DeprecatedFunction000
call_node001anonymous_namespace{ir_function_detect_recursion.cpp}
gl_shader+Anonymous000
gl_shader+Anonymous000
gl_program000
gl_shader_program+Anonymous000
gl_shader_program+Anonymous000
gl_active_atomic_buffer000
gl_shader_program+Anonymous000
gl_shader_program+Anonymous000
gl_frag_depth_layout--0
writemask--0ir_builder
deref_replacer007anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
varying_matches+match000anonymous_namespace{link_varyings.cpp}
FREE_IMAGE_MDTYPE--0
FITAG000
FactoryCreator001OIS
Effect+EDirection--0OIS
__Globals000
link_uniform_block_active000
TagLib+MDMODEL--0
tagTagInfo000
FREE_IMAGE_MDMODEL--0
assignment_entry000anonymous_namespace{opt_constant_variable.cpp}
loop_unroll_count0.380.54
assignment_entry003anonymous_namespace{opt_dead_code_local.cpp}
TSymbolTableLevel0.690.7347
JoyStickInfo000OIS
tfeedback_decl0.690.7744
ForceFeedback0.880.9515OIS
YYSTYPE+Anonymous000
YYSTYPE+Anonymous000
TIntermBranch0.380.57
TIntermLoop0.540.657
TIntermUnary0025
gl_uniform_storage000
Block000
gl_vert_attrib--0
varying_info_visitor0.440.5527anonymous_namespace{opt_dead_builtin_varyings.cpp}
lower_packing_builtins_op--0
InputManager+AddOnFactories--0OIS
psdColourModeData0.380.56
psdHeaderInfo0.330.515
psdImageResource0.60.91
find_variable_index008anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
psdThumbnail0.650.789
psdICCProfile0.250.333
switch_generator0.40.5320anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
psdResolutionInfo0.330.443
psdResolutionInfo_v20.330.53
psdDisplayInfo0.330.54
YYSTYPE+Anonymous000
YYSTYPE+Anonymous000
TVectorFields000
TVariable0.650.7116
TSymbolTable0.440.4721
acp_entry002anonymous_namespace{opt_copy_propagation.cpp}
ae_entry002anonymous_namespace{opt_cse.cpp}
kill_entry002anonymous_namespace{opt_copy_propagation.cpp}
GlslFunction0.910.9447
TTranslateOptions--0
Mouse0.60.753OIS
ast_jump_statement+ast_jump_modes--0
interface_block_usage_visitor0.220.338
kill_entry001anonymous_namespace{opt_copy_propagation_elements.cpp}
acp_entry002anonymous_namespace{opt_copy_propagation_elements.cpp}
ir_control_flow_visitor001
block_record001anonymous_namespace{lower_jumps.cpp}
function_record0.40.612anonymous_namespace{lower_jumps.cpp}
loop_record0.380.5712anonymous_namespace{lower_jumps.cpp}
__Globals0032anonymous_namespace{opt_tree_grafting.cpp}
kill_entry002anonymous_namespace{opt_constant_propagation.cpp}
acp_entry002anonymous_namespace{opt_constant_propagation.cpp}
gl_builtin_uniform_desc000
per_vertex_accumulator0013anonymous_namespace{builtin_variables.cpp}
gl_system_value--0
Keyboard0.730.814OIS
Win32JoyStick0.740.81106OIS
Win32Mouse0.610.7156OIS
Win32Keyboard0.740.868OIS
__Globals0016anonymous_namespace{lower_ubo_reference.cpp}
ir_rvalue_enter_visitor0010
JoyStick0.70.814OIS
Win32ForceFeedback0.860.91149OIS
builtin_builder+image_function_flags--0anonymous_namespace{builtin_functions.cpp}
GlslSymbolSorter002
AttrSemanticMapping000
EClassifier--0
ShUniformInfo000
HlslCrossCompiler0.780.885
ga_entry002
string_buffer0.50.68
global_print_tracker0.40.86
PrintGlslMode--0
colour_t000
YYSTYPE+Anonymous+Anonymous000
YYSTYPE+Anonymous+Anonymous000
YYSTYPE+Anonymous+Anonymous000
SymbolList_Rec000
Scope_Rec000
TPropagateMutable0.20.411
MacpixMap000
YYSTYPE000
tagPCXHEADER000
OpDef000
CPPStruct_Rec000
tagErrorManager000
MemoryPool_rec000
Anonymous000
MacroInputSrc000
UngotToken000
BMHD000
StringInputSrc000
TokenInputSrc000
tagKOALA000
tagDestinationManager000
yyltype000
Anonymous000
eval_prec--0
Anonymous000
tagSourceManager000
AtomTable_Rec000
TIFFCodec000
_TIFFRGBAImage000
TBuiltIns0.80.8916
TIFFTagMethods000
tagTGAFOOTER000
tagTGAEXTENSIONAREA000
IOCache0.520.615
TargaThumbnail0.420.57
TThreadParseContextRec000
NNQuantizer0.740.829
WuQuantizer0.670.7327
CONVERT_TO_BYTE<Tsrc>0013
CONVERT_TYPE<Tdst,Tsrc>0010
TIFFLoadMethod--0
TIFFFieldInfo000
tagWBMPHEADER000
fi_TIFFIO000
tagTGAHEADER000
YYSTYPE+Anonymous+Anonymous000
psdParser0.670.7873
tagSUNHEADER000
YYSTYPE+Anonymous+Anonymous000
MacPoint000
MacRGBColour000
fi_ioStructure000
MacPattern000
YYSTYPE+Anonymous+Anonymous000
Nodes000anonymous_namespace{parsehelper.cpp}
__Globals0073anonymous_namespace{parsehelper.cpp}
tagRLEStatus000
TOutputTraverser001
YYSTYPE000
LibRaw_freeimage_datastream0.540.5918
tagSGIHeader000
yy_buffer_state000
FREE_IMAGE_QUANTIZE--0
zzip_error_t--0
FREE_IMAGE_JPEG_OPERATION--0
FREE_IMAGE_DITHER--0
tagFIRGBAF000
DIR000
tagFIRGBA16000
__Globals00139
tagFIRGBF000
tagFILE_RGBA000
FIMEMORYHEADER000
tagFILE_RGB000
tagFILE_BGRA000
FIMEMORY000
FREE_IMAGE_FILTER--0
FREE_IMAGE_TMO--0
FIMETADATA000
FREE_IMAGE_COLOR_CHANNEL--0
tagFIRGB16000
zzip_disk_entry000
zzip_root_dirent000
zzip_file_header000
zzip_file_trailer000
zzip_disk_trailer000
Anonymous000
_disk_trailer000
zzip_extra_block000
zzip_disk64_trailer000
FIMULTIBITMAP000
bzFile000
tagBITMAPINFO000
tagRGBTRIPLE000
DState000
__Globals0.950.96141
EState000
errlistentry000
errnolistentry000
DXT_BLOCKDECODER_3007
DXT_BLOCKDECODER_1000
C_IStream0.20.255
DXT_BLOCKDECODER_50.330.59
DXT_INFO_5+AnonymousEnum--0
tagDXT1Block000
Button002OIS
DXT_INFO_3+AnonymousEnum--0
DXT_INFO_1+AnonymousEnum--0
tagICONHEADER000
rgbe_error_code--0
TSamplerTraverser0.670.7576
tagICONDIRECTORYENTRY000
tagHeaderInfo000
GIFinfo0.500
C_OStream006
StringTable0.690.7610
PageInfo001
tagDDSHEADER000
PluginList0.50.5731
tagNamedColor000
tagJ2KFIO_t000
DeprecationMgr0.75114
FREEIMAGERGBMASKS000
TagLib0.730.873
tagFILE_BGR000
FREEIMAGEHEADER000
METADATAHEADER000
AnonymousEnum--0
AnonymousEnum--0
AnonymousEnum--0
AnonymousEnum--0
tagCUTHEADER000
tagBITMAPCOREHEADER000
eChunckType--0
tagBITMAPFILEHEADER000
tagBITMAPINFOOS2_1X_HEADER000
ir_function_inlining_visitor0.720.8110anonymous_namespace{opt_function_inlining.cpp}
ir_variable_replacement_visitor0.750.8616
nested_if_flattener0.330.517anonymous_namespace{opt_flatten_nested_if_blocks.cpp}
matrix_flipper0024anonymous_namespace{opt_flip_matrices.cpp}
redundant_jumps_visitor0.250.3316anonymous_namespace{opt_redundant_jumps.cpp}
__Globals000anonymous_namespace{opt_structure_splitting.cpp}
ir_if_simplification_visitor0.330.520anonymous_namespace{opt_if_simplification.cpp}
ir_noop_swizzle_visitor0011anonymous_namespace{opt_noop_swizzle.cpp}
ir_dead_functions_visitor0.60.7515anonymous_namespace{opt_dead_functions.cpp}
geom_array_resize_visitor0.60.7517anonymous_namespace{linker.cpp}
replace_varyings_visitor0.430.5449anonymous_namespace{opt_dead_builtin_varyings.cpp}
is_cse_candidate_visitor007anonymous_namespace{opt_cse.cpp}
contains_rvalue_visitor002anonymous_namespace{opt_cse.cpp}
array_index_visit0.330.56anonymous_namespace{opt_dead_code_local.cpp}
find_assignment_visitor0.120.1721anonymous_namespace{linker.cpp}
find_deref_visitor0.170.257anonymous_namespace{linker.cpp}
kill_for_derefs_visitor0.40.527anonymous_namespace{opt_dead_code_local.cpp}
parcel_out_uniform_storage0.70.8254
count_block_size003anonymous_namespace{link_uniform_blocks.cpp}
s_float003
__Globals0057linker
block000
s_pattern0019
interface_block_definitions0.120.1713anonymous_namespace{link_interface_blocks.cpp}
ubo_visitor0.510.6418anonymous_namespace{link_uniform_blocks.cpp}
link_uniform_block_active_visitor0021
ralloc_header000
ir_swizzle_swizzle_visitor0012anonymous_namespace{opt_swizzle_swizzle.cpp}
count_uniform_size0.360.4816anonymous_namespace{link_uniforms.cpp}
ir_structure_reference_visitor0.620.7130anonymous_namespace{opt_structure_splitting.cpp}
ir_structure_splitting_visitor0.670.834anonymous_namespace{opt_structure_splitting.cpp}
tree_grafting_info000anonymous_namespace{opt_tree_grafting.cpp}
ir_vectorize_visitor0.630.728anonymous_namespace{opt_vectorize.cpp}
ir_tree_grafting_visitor0.790.8656anonymous_namespace{opt_tree_grafting.cpp}
find_deref_info000anonymous_namespace{opt_tree_grafting.cpp}
cse_visitor0.640.7242anonymous_namespace{opt_cse.cpp}
lower_discard_flow_visitor0.430.520anonymous_namespace{lower_discard_flow.cpp}
lower_discard_visitor0018anonymous_namespace{lower_discard.cpp}
lower_instructions_visitor0.380.4174anonymous_namespace{lower_instructions.cpp}
ir_if_to_cond_assign_visitor0.380.530anonymous_namespace{lower_if_to_cond_assign.cpp}
ir_vec_index_to_cond_assign_visitor0.780.8837anonymous_namespace{lower_vec_index_to_cond_assign.cpp}
ir_vec_index_to_swizzle_visitor0.750.8624anonymous_namespace{lower_vec_index_to_swizzle.cpp}
variable_index_to_cond_assign_visitor0.630.7658anonymous_namespace{lower_variable_index_to_cond_assign.cpp}
vector_insert_visitor0.420.6234anonymous_namespace{lower_vector_insert.cpp}
ir_lower_jumps_visitor0.840.8884anonymous_namespace{lower_jumps.cpp}
lower_noise_visitor008
output_read_remover0.50.627anonymous_namespace{lower_output_reads.cpp}
ir_mat_op_to_vec_visitor0.390.4453anonymous_namespace{lower_mat_op_to_vec.cpp}
flatten_named_interface_blocks_declarations0.250.3357anonymous_namespace{lower_named_interface_blocks.cpp}
lower_packing_builtins_visitor0.80.8389anonymous_namespace{lower_packing_builtins.cpp}
lower_ubo_reference_visitor0.50.6772anonymous_namespace{lower_ubo_reference.cpp}
lower_packed_varyings_visitor0.590.6755anonymous_namespace{lower_packed_varyings.cpp}
lower_packed_varyings_gs_splicer008
lower_vector_visitor0033anonymous_namespace{lower_vector.cpp}
tfeedback_candidate_generator0.170.2515
ir_copy_propagation_visitor0.550.645anonymous_namespace{opt_copy_propagation.cpp}
ir_constant_variable_visitor0.20.2533anonymous_namespace{opt_constant_variable.cpp}
loop_analysis0.520.5860anonymous_namespace{loop_analysis.cpp}
ir_copy_propagation_elements_visitor0.610.6766anonymous_namespace{opt_copy_propagation_elements.cpp}
find_end_primitive_visitor003anonymous_namespace{linker.cpp}
varying_matches0.650.7432anonymous_namespace{link_varyings.cpp}
array_sizing_visitor0.560.6436
examine_rhs008
ir_array_reference_visitor0.620.7136anonymous_namespace{opt_array_splitting.cpp}
ir_array_splitting_visitor0.670.829
ir_algebraic_visitor0.50.5882anonymous_namespace{opt_algebraic.cpp}
lower_clip_distance_visitor0.70.7871anonymous_namespace{lower_clip_distance.cpp}
loop_control_visitor0013anonymous_namespace{loop_controls.cpp}
ir_constant_propagation_visitor0.550.675anonymous_namespace{opt_constant_propagation.cpp}
ir_constant_folding_visitor0.40.531anonymous_namespace{opt_constant_folding.cpp}
loop_unroll_visitor0.530.6733anonymous_namespace{loop_unroll.cpp}
__Globals007anonymous_namespace{link_interface_blocks.cpp}
ast_expression+Anonymous000
ast_node+Anonymous000
ShBindingTable000
ast_type_qualifier+Anonymous000
_verbose--0
mesa_debug_type--0
fi_type000
_debug--0
ast_node+Anonymous000
yy_trans_info000
builtin_variable_generator0.80.85178anonymous_namespace{builtin_variables.cpp}
glslopt_shader_type--0
yyguts_t000
builtin_builder0.810.81362anonymous_namespace{builtin_functions.cpp}
prog_instruction000
gl_state_index_--0
builtin_type_versions000
gl_register_file--0
FITAGHEADER000
FIRational0.40.4213
ast_expression_bin008
CResizeEngine0.40.540
BlockContinueus003
CONVERT_TO_COMPLEX<Tsrc>009
MULTIBITMAPHEADER000
BlockReference003
ast_function_expression0.250.3364
ast_cs_input_layout0032
ast_gs_input_layout0024
gl_frag_attrib--0
gl_geom_attrib--0
ast_expression_statement005
ast_aggregate_initializer0014
ast_jump_statement0045
ast_selection_statement0020
glslopt_options--0
expansion_node000
import_prototype_visitor0.310.4212anonymous_namespace{ir_import_prototypes.cpp}
argument_list000
token_class_t--0
yytokentype--0
yyguts_t000
has_recursion_visitor0.50.619anonymous_namespace{ir_function_detect_recursion.cpp}
ir_function_can_inline_visitor004
ir_print_glsl_visitor0.770.8192
__Globals0029anonymous_namespace{link_atomics.cpp}
active_atomic_buffer0.420.625anonymous_namespace{link_atomics.cpp}
call_link_visitor0.580.757anonymous_namespace{link_functions.cpp}
yy_trans_info000
ir_decl_removal_visitor006
ir_stats_counter_visitor0.580.675
gl_uniform_driver_format--0
ir_validate0.710.77174anonymous_namespace{ir_validate.cpp}
yytokentype--0
yyalloc000
yytokentype--0
_mesa_symbol_table_iterator000
__Globals0072
glslopt_ctx0.330.673
yytokentype--0
glslopt_shader0.70.9412
pool_allocator<T>+rebind000
_mesa_symbol_table000
Anonymous000
ir_expression_flattening_visitor0.330.511
yyalloc000
function_status--0
fixup_ir_call_visitor006
_mesa_glsl_extension0.581.174
hash_table000
hash_node000

Namespaces Metrics

If you wish to define thresholds on namespaces' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Namespaces # lines of code # Types # lines of comment% CommentAfferent CouplingEfferent Coupling
libbz2::GlobalNamespace448660002
FreeImage::GlobalNamespace271061490006
glsl_optimizer_lib::GlobalNamespace23469274005757
glsl_optimizer_lib::ir_builder14150081
glsl_optimizer_lib::anonymous_namespace{builtin_functions.cpp}114620013
glsl_optimizer_lib::anonymous_namespace{builtin_variables.cpp}32920013
glsl_optimizer_lib::anonymous_namespace{ir_function_detect_recursion.cpp}3230012
glsl_optimizer_lib::anonymous_namespace{ir_import_prototypes.cpp}2210011
glsl_optimizer_lib::anonymous_namespace{ir_validate.cpp}55310003
glsl_optimizer_lib::anonymous_namespace{link_atomics.cpp}4230013
glsl_optimizer_lib::anonymous_namespace{link_functions.cpp}9210012
glsl_optimizer_lib::anonymous_namespace{link_interface_blocks.cpp}5130013
glsl_optimizer_lib::anonymous_namespace{link_uniform_blocks.cpp}4320013
glsl_optimizer_lib::linker9110012
glsl_optimizer_lib::anonymous_namespace{link_uniforms.cpp}3810012
glsl_optimizer_lib::anonymous_namespace{linker.cpp}5440013
glsl_optimizer_lib::anonymous_namespace{link_varyings.cpp}7830013
glsl_optimizer_lib::anonymous_namespace{loop_analysis.cpp}18210012
glsl_optimizer_lib::anonymous_namespace{loop_controls.cpp}2510012
glsl_optimizer_lib::anonymous_namespace{loop_unroll.cpp}8410012
glsl_optimizer_lib::anonymous_namespace{lower_clip_distance.cpp}15510013
glsl_optimizer_lib::anonymous_namespace{lower_discard.cpp}2410012
glsl_optimizer_lib::anonymous_namespace{lower_discard_flow.cpp}2510012
glsl_optimizer_lib::anonymous_namespace{lower_if_to_cond_assign.cpp}4110012
glsl_optimizer_lib::anonymous_namespace{lower_instructions.cpp}17110013
glsl_optimizer_lib::anonymous_namespace{lower_jumps.cpp}30040013
glsl_optimizer_lib::anonymous_namespace{lower_mat_op_to_vec.cpp}14910013
glsl_optimizer_lib::anonymous_namespace{lower_named_interface_blocks.cpp}7910013
glsl_optimizer_lib::anonymous_namespace{lower_output_reads.cpp}2310013
glsl_optimizer_lib::anonymous_namespace{lower_packed_varyings.cpp}15710012
glsl_optimizer_lib::anonymous_namespace{lower_packing_builtins.cpp}23210013
glsl_optimizer_lib::anonymous_namespace{lower_ubo_reference.cpp}19320014
glsl_optimizer_lib::anonymous_namespace{lower_variable_index_to_cond_assign.cpp}17050012
glsl_optimizer_lib::anonymous_namespace{lower_vector_insert.cpp}3410013
glsl_optimizer_lib::anonymous_namespace{lower_vec_index_to_cond_assign.cpp}5710012
glsl_optimizer_lib::anonymous_namespace{lower_vec_index_to_swizzle.cpp}3310012
glsl_optimizer_lib::anonymous_namespace{lower_vector.cpp}10410012
glsl_optimizer_lib::anonymous_namespace{opt_algebraic.cpp}38510013
glsl_optimizer_lib::anonymous_namespace{opt_array_splitting.cpp}5110013
glsl_optimizer_lib::anonymous_namespace{opt_array_splitting.cpp}.opt_array_splitting1110022
glsl_optimizer_lib::anonymous_namespace{opt_constant_folding.cpp}4310012
glsl_optimizer_lib::anonymous_namespace{opt_constant_propagation.cpp}23730013
glsl_optimizer_lib::anonymous_namespace{opt_constant_variable.cpp}4720012
glsl_optimizer_lib::anonymous_namespace{opt_copy_propagation.cpp}10530012
glsl_optimizer_lib::anonymous_namespace{opt_copy_propagation_elements.cpp}18930013
glsl_optimizer_lib::anonymous_namespace{opt_cse.cpp}9740014
glsl_optimizer_lib::anonymous_namespace{opt_dead_builtin_varyings.cpp}20020013
glsl_optimizer_lib::anonymous_namespace{opt_dead_code_local.cpp}4430013
glsl_optimizer_lib::anonymous_namespace{opt_dead_functions.cpp}1920013
glsl_optimizer_lib::anonymous_namespace{opt_flatten_nested_if_blocks.cpp}1210013
glsl_optimizer_lib::anonymous_namespace{opt_flip_matrices.cpp}3410013
glsl_optimizer_lib::anonymous_namespace{opt_function_inlining.cpp}2110012
glsl_optimizer_lib::anonymous_namespace{opt_if_simplification.cpp}2510012
glsl_optimizer_lib::anonymous_namespace{opt_noop_swizzle.cpp}1710012
glsl_optimizer_lib::anonymous_namespace{opt_redundant_jumps.cpp}2510012
glsl_optimizer_lib::anonymous_namespace{opt_structure_splitting.cpp}9840013
glsl_optimizer_lib::anonymous_namespace{opt_swizzle_swizzle.cpp}2510013
glsl_optimizer_lib::anonymous_namespace{opt_tree_grafting.cpp}14040013
glsl_optimizer_lib::anonymous_namespace{opt_vectorize.cpp}8810012
glsl_optimizer_tests::GlobalNamespace20620003
hlslang::GlobalNamespace151281120013
hlslang::anonymous_namespace{parsehelper.cpp}7020002
OIS::GlobalNamespace020011
OIS::OIS1282490004
zziplib::GlobalNamespace1256260002

0130
Code Quality  

warningCritical    Critical Rule warning: Types too big - critical
// <Name>Types too big - critical</Name>
warnif count > 0 from t in JustMyCode.Types where 
   
t.NbLinesOfCode > 500 && !t.IsGlobal
   
orderby t.NbLinesOfCode descending
select new { t, t.NbLinesOfCode,
                
t.NbMethods, t.NbFields }

// Types where NbLinesOfCode > 500 are extremely complex 
// and should be split in a smaller group of types. 
// See the definition of the NbLinesOfCode metric here 
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode

9 types matched

types# lines of code (LOC)# Methods# FieldsFull Name
ir_expression1 937182ir_expression
TGlslOutputTraverser1 3541815TGlslOutputTraverser
builtin_builder1 1461464anonymous_namespace{builtin_functions.cpp}.builtin_builder
TParseContext1 0225015TParseContext
CResizeEngine96771CResizeEngine
ir_print_glsl_visitor6363411ir_print_glsl_visitor
HlslLinker6083310HlslLinker
ir_validate553152anonymous_namespace{ir_validate.cpp}.ir_validate
glsl_type54959236glsl_type

Statistics

Stat   # lines of code (LOC)   # Methods   # Fields
Sum:8 772380296
Average:974.6742.2232.89
Minimum:54971
Maximum:1 937146236
Standard deviation:435.8640.0372
Variance:189 9741 6025 184
warningCritical    Critical Rule warning: Methods too complex - critical
// <Name>Methods too complex - critical</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.CyclomaticComplexity > 20 && 
  
m.NestingDepth > 5
  
orderby m.CyclomaticComplexity descending,
          
m.NestingDepth descending
select new { m, m.CyclomaticComplexity, m.NestingDepth }

// Methods with CyclomaticComplexity > 20 and NestingDepth  > 5
// are really too complex and should be split 
// in smaller methods, or even types.
// See the definition of the CyclomaticComplexity metric here 
// http://www.cppdepend.com/Metrics.aspx#CC
// See the definition of the NestingDepth metric here 
// http://www.cppdepend.com/Metrics.aspx#NestingDepth

80 methods matched

methodsCyclomatic Complexity (CC)NestingDepthFull Name
yyparse(TParseContext&)61227__Globals.yyparse(TParseContext&)
_mesa_glsl_lexer_lex(unionYYSTYPE*,YYLTYPE*,void*)58533__Globals._mesa_glsl_lexer_lex(unionYYSTYPE*,YYLTYPE*,void*)
_mesa_glsl_parse(struct_mesa_glsl_parse_state*)48824__Globals._mesa_glsl_parse(struct_mesa_glsl_parse_state*)
BZ2_decompress(DState*)4107__Globals.BZ2_decompress(DState*)
constant_expression_value(structhash_table*)32753ir_expression.constant_expression_value(structhash_table*)
yylex(YYSTYPE*,TParseContext&)215146__Globals.yylex(YYSTYPE*,TParseContext&)
glcpp_parser_parse(glcpp_parser_t*)18126__Globals.glcpp_parser_parse(glcpp_parser_t*)
byte_scan(InputSrc*,yystypepp*)14725__Globals.byte_scan(InputSrc*,yystypepp*)
promote(TParseContext&)1169TIntermBinary.promote(TParseContext&)
visit_leave(ir_expression*)1097anonymous_namespace{ir_validate.cpp}.ir_validate.visit_leave (ir_expression*)
glcpp_lex(YYSTYPE*,YYLTYPE*,void*)9238__Globals.glcpp_lex(YYSTYPE*,YYLTYPE*,void*)
horizontalFilter(FIBITMAP*const,constunsignedint,constunsignedint ,constunsignedint,constunsignedint,constRGBQUAD*const,FIBITMAP*const ,constunsignedint)8811CResizeEngine.horizontalFilter(FIBITMAP*const,constunsignedint ,constunsignedint,constunsignedint,constunsignedint,constRGBQUAD*const ,FIBITMAP*const,constunsignedint)
verticalFilter(FIBITMAP*const,constunsignedint,constunsignedint ,constunsignedint,constunsignedint,constRGBQUAD*const,FIBITMAP*const ,constunsignedint)8811CResizeEngine.verticalFilter(FIBITMAP*const,constunsignedint ,constunsignedint,constunsignedint,constunsignedint,constRGBQUAD*const ,FIBITMAP*const,constunsignedint)
traverseBinary(bool,TIntermBinary*,TIntermTraverser*)866TGlslOutputTraverser.traverseBinary(bool,TIntermBinary* ,TIntermTraverser*)
Load(FreeImageIO*,fi_handle,int,int,void*)768__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
ReadImageData(FreeImageIO*,fi_handle)6715psdParser.ReadImageData(FreeImageIO*,fi_handle)
Load(FreeImageIO*,fi_handle,int,int,void*)6710__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
sendMTFValues(EState*)6510__Globals.sendMTFValues(EState*)
Load(FreeImageIO*,fi_handle,int,int,void*)619__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)619__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)557__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
J2KImageToFIBITMAP(int,constopj_image_t*,BOOL)556__Globals.J2KImageToFIBITMAP(int,constopj_image_t*,BOOL)
traverseAggregate(bool,TIntermAggregate*,TIntermTraverser*)5416TSamplerTraverser.traverseAggregate(bool,TIntermAggregate* ,TIntermTraverser*)
mng_ReadChunks(int,FreeImageIO*,fi_handle,long,int)548__Globals.mng_ReadChunks(int,FreeImageIO*,fi_handle,long,int)
Load(FreeImageIO*,fi_handle,int,int,void*)538__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)4910__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
SaveOneTIFF(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*,unsignedint ,unsignedint)4524__Globals.SaveOneTIFF(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void* ,unsignedint,unsignedint)
Load(FreeImageIO*,fi_handle,int,int,void*)446__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
tiff_read_exif_tag(TIFF*,TagLib::MDMODEL,FIBITMAP*,TagLib& ,TIFFDirectory*,uint32)4111__Globals.tiff_read_exif_tag(TIFF*,TagLib::MDMODEL,FIBITMAP*,TagLib& ,TIFFDirectory*,uint32)
Load(FreeImageIO*,fi_handle,int,int,void*)4110__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
visit(ir_if*)417anonymous_namespace{lower_jumps.cpp}.ir_lower_jumps_visitor.visit (ir_if*)
Load(FreeImageIO*,fi_handle,int,int,void*)409__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
LoadWindowsBMP(FreeImageIO*,fi_handle,int,unsignedint,int)406__Globals.LoadWindowsBMP(FreeImageIO*,fi_handle,int,unsignedint,int)
readXBMFile(FreeImageIO*,fi_handle,int*,int*,char**)3810__Globals.readXBMFile(FreeImageIO*,fi_handle,int*,int*,char**)
FreeImage_ApplyColorMapping(FIBITMAP*,RGBQUAD*,RGBQUAD*,unsignedint ,BOOL,BOOL)378__Globals.FreeImage_ApplyColorMapping(FIBITMAP*,RGBQUAD*,RGBQUAD* ,unsignedint,BOOL,BOOL)
Load(FreeImageIO*,fi_handle,int,int,void*)376__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)3612__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
zzip_file_open(ZZIP_DIR*,zzip_char_t*,int)3610__Globals.zzip_file_open(ZZIP_DIR*,zzip_char_t*,int)
scale(FIBITMAP*,unsignedint,unsignedint,unsignedint,unsignedint ,unsignedint,unsignedint)3512CResizeEngine.scale(FIBITMAP*,unsignedint,unsignedint,unsignedint ,unsignedint,unsignedint,unsignedint)
FIBITMAPToJ2KImage(int,FIBITMAP*,constopj_cparameters_t*)3510__Globals.FIBITMAPToJ2KImage(int,FIBITMAP*,constopj_cparameters_t*)
FreeImage_SetChannel(FIBITMAP*,FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)3410__Globals.FreeImage_SetChannel(FIBITMAP*,FIBITMAP* ,FREE_IMAGE_COLOR_CHANNEL)
Load(FreeImageIO*,fi_handle,int,int,void*)348__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
fallbackSort(UInt32*,UInt32*,UInt32*,Int32,Int32)347__Globals.fallbackSort(UInt32*,UInt32*,UInt32*,Int32,Int32)
ToneMappingReinhard05(FIBITMAP*,FIBITMAP*,float,float,float,float)347__Globals.ToneMappingReinhard05(FIBITMAP*,FIBITMAP*,float,float,float ,float)
FreeImage_ConvertToFloat(FIBITMAP*)3310__Globals.FreeImage_ConvertToFloat(FIBITMAP*)
FreeImage_ConvertToRGBF(FIBITMAP*)338__Globals.FreeImage_ConvertToRGBF(FIBITMAP*)
FreeImage_GetChannel(FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)337__Globals.FreeImage_GetChannel(FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)
lValueErrorCheck(constTSourceLoc&,constchar*,TIntermTyped*)336TParseContext.lValueErrorCheck(constTSourceLoc&,constchar* ,TIntermTyped*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)3210__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)328__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint,FREE_IMAGE_TYPE,int ,int,int,unsignedint,unsignedint,unsignedint)327__Globals.FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint ,FREE_IMAGE_TYPE,int,int,int,unsignedint,unsignedint,unsignedint)
FreeImage_ConvertTo32Bits(FIBITMAP*)317__Globals.FreeImage_ConvertTo32Bits(FIBITMAP*)
FreeImage_GetColorType(FIBITMAP*)307__Globals.FreeImage_GetColorType(FIBITMAP*)
Load(FreeImageIO*,fi_handle,int,int,void*)2913__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
__zzip_fetch_disk_trailer(int,zzip_off_t,struct_disk_trailer* ,zzip_plugin_io_t)2820__Globals.__zzip_fetch_disk_trailer(int,zzip_off_t ,struct_disk_trailer*,zzip_plugin_io_t)
WriteCompression(TIFF*,uint16,uint16,uint16,int)2718__Globals.WriteCompression(TIFF*,uint16,uint16,uint16,int)
LoadPixelDataRLE4(FreeImageIO*,fi_handle,int,int,FIBITMAP*)279__Globals.LoadPixelDataRLE4(FreeImageIO*,fi_handle,int,int,FIBITMAP*)
FreeImage_AdjustCurve(FIBITMAP*,BYTE*,FREE_IMAGE_COLOR_CHANNEL)277__Globals.FreeImage_AdjustCurve(FIBITMAP*,BYTE* ,FREE_IMAGE_COLOR_CHANNEL)
read_iptc_profile(FIBITMAP*,constBYTE*,unsignedint)268__Globals.read_iptc_profile(FIBITMAP*,constBYTE*,unsignedint)
fmg_mglin(FIBITMAP*,int,int)267__Globals.fmg_mglin(FIBITMAP*,int,int)
FreeImage_ConvertToRawBits(BYTE*,FIBITMAP*,int,unsignedint,unsignedint ,unsignedint,unsignedint,BOOL)266__Globals.FreeImage_ConvertToRawBits(BYTE*,FIBITMAP*,int,unsignedint ,unsignedint,unsignedint,unsignedint,BOOL)
FreeImage_Paste(FIBITMAP*,FIBITMAP*,int,int,int)2511__Globals.FreeImage_Paste(FIBITMAP*,FIBITMAP*,int,int,int)
zzip_open_shared_io(ZZIP_FILE*,zzip_char_t*,int,int,zzip_strings_t* ,zzip_plugin_io_t)259__Globals.zzip_open_shared_io(ZZIP_FILE*,zzip_char_t*,int,int ,zzip_strings_t*,zzip_plugin_io_t)
FillBackgroundBitmap(FIBITMAP*,constRGBQUAD*,int)258__Globals.FillBackgroundBitmap(FIBITMAP*,constRGBQUAD*,int)
FreeImage_ConvertTo24Bits(FIBITMAP*)256__Globals.FreeImage_ConvertTo24Bits(FIBITMAP*)
FreeImage_ConvertTo8Bits(FIBITMAP*)249__Globals.FreeImage_ConvertTo8Bits(FIBITMAP*)
fallbackQSort3(UInt32*,UInt32*,Int32,Int32)246__Globals.fallbackQSort3(UInt32*,UInt32*,Int32,Int32)
FreeImage_ConvertToUINT16(FIBITMAP*)2211__Globals.FreeImage_ConvertToUINT16(FIBITMAP*)
UnpackBits(FreeImageIO*,fi_handle,FIBITMAP*,MacRect*,WORD,int)229__Globals.UnpackBits(FreeImageIO*,fi_handle,FIBITMAP*,MacRect*,WORD ,int)
SaveStandardIcon(FreeImageIO*,FIBITMAP*,fi_handle)228__Globals.SaveStandardIcon(FreeImageIO*,FIBITMAP*,fi_handle)
FreeImage_ConvertToRGB16(FIBITMAP*)228__Globals.FreeImage_ConvertToRGB16(FIBITMAP*)
FreeImage_ApplyPaletteIndexMapping(FIBITMAP*,BYTE*,BYTE*,unsignedint ,BOOL)228__Globals.FreeImage_ApplyPaletteIndexMapping(FIBITMAP*,BYTE*,BYTE* ,unsignedint,BOOL)
Rotate90(FIBITMAP*)226__Globals.Rotate90(FIBITMAP*)
Rotate270(FIBITMAP*)226__Globals.Rotate270(FIBITMAP*)
__zzip_parse_root_directory(int,struct_disk_trailer* ,structzzip_dir_hdr**,zzip_plugin_io_t)2115__Globals.__zzip_parse_root_directory(int,struct_disk_trailer* ,structzzip_dir_hdr**,zzip_plugin_io_t)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)219__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
FreeImage_EnlargeCanvas(FIBITMAP*,int,int,int,int,constvoid*,int)218__Globals.FreeImage_EnlargeCanvas(FIBITMAP*,int,int,int,int,constvoid* ,int)
yy_get_next_buffer(yyscan_t)217__Globals.yy_get_next_buffer(yyscan_t)
yy_get_next_buffer(yyscan_t)217__Globals.yy_get_next_buffer(yyscan_t)
FreeImage_FlipHorizontal(FIBITMAP*)216__Globals.FreeImage_FlipHorizontal(FIBITMAP*)

Statistics

Stat   Cyclomatic Complexity (CC)   NestingDepth
Sum:5 8761 027
Average:73.4512.84
Minimum:216
Maximum:612146
Standard deviation:114.5616.89
Variance:13 125285.34
warningCritical    Critical Rule warning: Methods with too many parameters - critical
// <Name>Methods with too many parameters - critical</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbParameters > 8
  
orderby m.NbParameters descending
select new { m, m.NbParameters }

// Methods with more than 8 parameters might be painful to call 
// and might degrade performance. You should prefer using 
// additional properties/fields to the declaring type to 
// handle numerous states. Another alternative is to provide 
// a class or structure dedicated to handle arguments passing 
// (for example see the class System.Diagnostics.ProcessStartInfo 
//  and the method System.Diagnostics.Process.Start(ProcessStartInfo))
//  See the definition of the NbParameters metric here 
// http://www.cppdepend.com/Metrics.aspx#NbParameters

11 methods matched

methods# ParametersFull Name
FreeImage_ConvertFromRawBitsEx(BOOL,BYTE*,FREE_IMAGE_TYPE,int,int,int ,unsignedint,unsignedint,unsignedint,unsignedint,BOOL)11__Globals.FreeImage_ConvertFromRawBitsEx(BOOL,BYTE*,FREE_IMAGE_TYPE ,int,int,int,unsignedint,unsignedint,unsignedint,unsignedint,BOOL)
FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint,FREE_IMAGE_TYPE,int ,int,int,unsignedint,unsignedint,unsignedint)10__Globals.FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint ,FREE_IMAGE_TYPE,int,int,int,unsignedint,unsignedint,unsignedint)
FreeImage_AllocateExT(FREE_IMAGE_TYPE,int,int,int,constvoid*,int ,constRGBQUAD*,unsignedint,unsignedint,unsignedint)10__Globals.FreeImage_AllocateExT(FREE_IMAGE_TYPE,int,int,int,constvoid* ,int,constRGBQUAD*,unsignedint,unsignedint,unsignedint)
FreeImage_JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO* ,fi_handle,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)10__Globals.FreeImage_JPEGTransformFromHandle(FreeImageIO*,fi_handle ,FreeImageIO*,fi_handle,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int* ,BOOL)
JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO*,fi_handle ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)10__Globals.JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO* ,fi_handle,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)
FreeImage_AllocateHeaderForBits(BYTE*,unsignedint,FREE_IMAGE_TYPE,int ,int,int,unsignedint,unsignedint,unsignedint)9__Globals.FreeImage_AllocateHeaderForBits(BYTE*,unsignedint ,FREE_IMAGE_TYPE,int,int,int,unsignedint,unsignedint,unsignedint)
LoadDXT_Helper<DECODER>(FreeImageIO*,fi_handle,int,int,void*,FIBITMAP* ,int,int,int)9__Globals.LoadDXT_Helper<DECODER>(FreeImageIO*,fi_handle,int,int,void* ,FIBITMAP*,int,int,int)
FreeImage_ConvertFromRawBits(BYTE*,int,int,int,unsignedint,unsignedint ,unsignedint,unsignedint,BOOL)9__Globals.FreeImage_ConvertFromRawBits(BYTE*,int,int,int,unsignedint ,unsignedint,unsignedint,unsignedint,BOOL)
FreeImage_AllocateEx(int,int,int,constRGBQUAD*,int,constRGBQUAD* ,unsignedint,unsignedint,unsignedint)9__Globals.FreeImage_AllocateEx(int,int,int,constRGBQUAD*,int ,constRGBQUAD*,unsignedint,unsignedint,unsignedint)
Maximize(Box*,BYTE,int,int,int*,LONG,LONG,LONG,LONG)9WuQuantizer.Maximize(Box*,BYTE,int,int,int*,LONG,LONG,LONG,LONG)
ast_process_structure_or_interface_block(exec_list* ,struct_mesa_glsl_parse_state*,exec_list*,YYLTYPE&,glsl_struct_field** ,bool,bool,bool,ir_variable_mode)9__Globals.ast_process_structure_or_interface_block(exec_list* ,struct_mesa_glsl_parse_state*,exec_list*,YYLTYPE&,glsl_struct_field** ,bool,bool,bool,ir_variable_mode)

Statistics

Stat   # Parameters
Sum:105
Average:9.55
Minimum:9
Maximum:11
Standard deviation:0.66
Variance:0.43
warningCritical    Rule warning: Quick summary of methods to refactor
// <Name>Quick summary of methods to refactor</Name>
warnif count > 0 from m in JustMyCode.Methods where 
                                    
// Code Metrics' definitions
  m.NbLinesOfCode > 30 ||           // http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode
  m.MaxNestedLoop > 3 ||       // http://www.cppdepend.com/Metrics.aspx#NbILInstructions
  m.CyclomaticComplexity > 20 ||    // http://www.cppdepend.com/Metrics.aspx#CC
  m.NestingDepth > 5 ||           // http://www.cppdepend.com/Metrics.aspx#ILNestingDepth
  m.NbParameters > 5 ||             // http://www.cppdepend.com/Metrics.aspx#NbParameters
  m.NbVariables > 8 ||              // http://www.cppdepend.com/Metrics.aspx#NbVariables
  m.NbOverloads > 6                 // http://www.cppdepend.com/Metrics.aspx#NbOverloads

select new { m, m.NbLinesOfCode, m.MaxNestedLoop, m.CyclomaticComplexity, 
              
m.NestingDepth, 
             
m.NbParameters, m.NbVariables, m.NbOverloads } 

1,099 methods matched

methods# lines of code (LOC)MaxNestedLoopCyclomatic Complexity (CC)NestingDepth# Parameters# Variables# OverloadsFull Name
BZ2_blockSort(EState*)3811031101__Globals.BZ2_blockSort(EState*)
fallbackQSort3(UInt32*,UInt32*,Int32,Int32)7232464141__Globals.fallbackQSort3(UInt32*,UInt32*,Int32,Int32)
fallbackSort(UInt32*,UInt32*,UInt32*,Int32,Int32)85123475131__Globals.fallbackSort(UInt32*,UInt32*,UInt32*,Int32,Int32)
mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)1670312651__Globals.mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)
mainSimpleSort(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32,Int32*)473153861__Globals.mainSimpleSort(UInt32*,UChar*,UInt16*,Int32,Int32,Int32 ,Int32,Int32*)
mainQSort3(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32,Int32*)8532538171__Globals.mainQSort3(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32 ,Int32*)
mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)14553547211__Globals.mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)
BZ2_bzCompressInit(bz_stream*,int,int,int)660121421__Globals.BZ2_bzCompressInit(bz_stream*,int,int,int)
BZ2_bzCompress(bz_stream*,int)640214221__Globals.BZ2_bzCompress(bz_stream*,int)
BZ2_bzDecompressInit(bz_stream*,int,int)43081311__Globals.BZ2_bzDecompressInit(bz_stream*,int,int)
BZ2_bzDecompress(bz_stream*)531184131__Globals.BZ2_bzDecompress(bz_stream*)
BZ2_bzReadOpen(int*,FILE*,int,int,void*,int)741186621__Globals.BZ2_bzReadOpen(int*,FILE*,int,int,void*,int)
BZ2_bzReadGetUnused(int*,BZFILE*,void**,int*)350123411__Globals.BZ2_bzReadGetUnused(int*,BZFILE*,void**,int*)
BZ2_bzRead(int*,BZFILE*,void*,int)861304431__Globals.BZ2_bzRead(int*,BZFILE*,void*,int)
BZ2_bzWriteOpen(int*,FILE*,int,int,int)680186521__Globals.BZ2_bzWriteOpen(int*,FILE*,int,int,int)
BZ2_bzWrite(int*,BZFILE*,void*,int)701244441__Globals.BZ2_bzWrite(int*,BZFILE*,void*,int)
BZ2_bzWriteClose64(int*,BZFILE*,int,unsignedint*,unsignedint* ,unsignedint*,unsignedint*)891325741__Globals.BZ2_bzWriteClose64(int*,BZFILE*,int,unsignedint* ,unsignedint*,unsignedint*,unsignedint*)
BZ2_bzBuffToBuffCompress(char*,unsignedint*,char*,unsignedint,int,int ,int)39071721__Globals.BZ2_bzBuffToBuffCompress(char*,unsignedint*,char* ,unsignedint,int,int,int)
BZ2_bzBuffToBuffDecompress(char*,unsignedint*,char*,unsignedint,int ,int)43083621__Globals.BZ2_bzBuffToBuffDecompress(char*,unsignedint*,char* ,unsignedint,int,int)
add_pair_to_block(EState*)54163121__Globals.add_pair_to_block(EState*)
copy_input_until_stop(EState*)351112111__Globals.copy_input_until_stop(EState*)
handle_compress(bz_stream*)321103131__Globals.handle_compress(bz_stream*)
unRLE_obuf_to_output_FAST(DState*)17835041141__Globals.unRLE_obuf_to_output_FAST(DState*)
unRLE_obuf_to_output_SMALL(DState*)1363452111__Globals.unRLE_obuf_to_output_SMALL(DState*)
bzopen_or_bzdopen(constchar*,int,constchar*,int)10111854111__Globals.bzopen_or_bzdopen(constchar*,int,constchar*,int)
BZ2_compressBlock(EState*,Bool)43083201__Globals.BZ2_compressBlock(EState*,Bool)
generateMTFValues(EState*)8221551141__Globals.generateMTFValues(EState*)
sendMTFValues(EState*)562965101381__Globals.sendMTFValues(EState*)
BZ2_decompress(DState*)1 563841071851__Globals.BZ2_decompress(DState*)
BZ2_hbMakeCodeLengths(UChar*,Int32*,Int32,Int32)5951354111__Globals.BZ2_hbMakeCodeLengths(UChar*,Int32*,Int32,Int32)
BZ2_hbCreateDecodeTables(Int32*,Int32*,Int32*,UChar*,Int32,Int32,Int32 )222102741__Globals.BZ2_hbCreateDecodeTables(Int32*,Int32*,Int32*,UChar*,Int32 ,Int32,Int32)
FreeImage_Allocate(int,int,int,unsignedint,unsignedint,unsignedint)2011601__Globals.FreeImage_Allocate(int,int,int,unsignedint,unsignedint ,unsignedint)
FreeImage_AllocateT(FREE_IMAGE_TYPE,int,int,int,unsignedint ,unsignedint,unsignedint)2011701__Globals.FreeImage_AllocateT(FREE_IMAGE_TYPE,int,int,int,unsignedint ,unsignedint,unsignedint)
FreeImage_Clone(FIBITMAP*)4621171231__Globals.FreeImage_Clone(FIBITMAP*)
FreeImage_GetColorType(FIBITMAP*)652307191__Globals.FreeImage_GetColorType(FIBITMAP*)
FreeImage_IsTransparent(FIBITMAP*)20096111__Globals.FreeImage_IsTransparent(FIBITMAP*)
FreeImage_GetBackgroundColor(FIBITMAP*,RGBQUAD*)18188231__Globals.FreeImage_GetBackgroundColor(FIBITMAP*,RGBQUAD*)
FreeImage_SetMetadata(FREE_IMAGE_MDMODEL,FIBITMAP*,constchar*,FITAG*)9511554101__Globals.FreeImage_SetMetadata(FREE_IMAGE_MDMODEL,FIBITMAP* ,constchar*,FITAG*)
FreeImage_CloneMetadata(FIBITMAP*,FIBITMAP*)25297291__Globals.FreeImage_CloneMetadata(FIBITMAP*,FIBITMAP*)
FreeImage_AllocateHeaderT(BOOL,FREE_IMAGE_TYPE,int,int,int,unsignedint ,unsignedint,unsignedint)2011801__Globals.FreeImage_AllocateHeaderT(BOOL,FREE_IMAGE_TYPE,int,int,int ,unsignedint,unsignedint,unsignedint)
FreeImage_AllocateHeader(BOOL,int,int,int,unsignedint,unsignedint ,unsignedint)2011701__Globals.FreeImage_AllocateHeader(BOOL,int,int,int,unsignedint ,unsignedint,unsignedint)
FreeImage_AllocateHeaderForBits(BYTE*,unsignedint,FREE_IMAGE_TYPE,int ,int,int,unsignedint,unsignedint,unsignedint)2011901__Globals.FreeImage_AllocateHeaderForBits(BYTE*,unsignedint ,FREE_IMAGE_TYPE,int,int,int,unsignedint,unsignedint,unsignedint)
AssignPixel(BYTE*,constBYTE*,unsignedint)350102301__Globals.AssignPixel(BYTE*,constBYTE*,unsignedint)
FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint,FREE_IMAGE_TYPE,int ,int,int,unsignedint,unsignedint,unsignedint)26913271091__Globals.FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint ,FREE_IMAGE_TYPE,int,int,int,unsignedint,unsignedint,unsignedint)
FreeImage_OutputMessageProc(int,constchar*)6711462101__Globals.FreeImage_OutputMessageProc(int,constchar*)
FreeImage_GetPixelColor(FIBITMAP*,unsignedint,unsignedint,RGBQUAD*)46084421__Globals.FreeImage_GetPixelColor(FIBITMAP*,unsignedint,unsignedint ,RGBQUAD*)
FreeImage_SetPixelColor(FIBITMAP*,unsignedint,unsignedint,RGBQUAD*)39085421__Globals.FreeImage_SetPixelColor(FIBITMAP*,unsignedint,unsignedint ,RGBQUAD*)
J2KImageToFIBITMAP(int,constopj_image_t*,BOOL)16925563551__Globals.J2KImageToFIBITMAP(int,constopj_image_t*,BOOL)
FIBITMAPToJ2KImage(int,FIBITMAP*,constopj_cparameters_t*)222235103181__Globals.FIBITMAPToJ2KImage(int,FIBITMAP*,constopj_cparameters_t*)
mng_GetChunckType(constBYTE*)330172101__Globals.mng_GetChunckType(constBYTE*)
mng_CountPNGChunks(FreeImageIO*,fi_handle,long,unsignedint*)441114451__Globals.mng_CountPNGChunks(FreeImageIO*,fi_handle,long,unsignedint*)
mng_FindChunk(FIMEMORY*,BYTE*,long,DWORD*,DWORD*)33175551__Globals.mng_FindChunk(FIMEMORY*,BYTE*,long,DWORD*,DWORD*)
mng_CopyInsertChunks(FIMEMORY*,BYTE*,BYTE*,DWORD,DWORD,DWORD)27044661__Globals.mng_CopyInsertChunks(FIMEMORY*,BYTE*,BYTE*,DWORD,DWORD,DWORD )
mng_WritePNGStream(DWORD,DWORD,BYTE,BYTE*,DWORD,FIMEMORY*)17011611__Globals.mng_WritePNGStream(DWORD,DWORD,BYTE,BYTE*,DWORD,FIMEMORY*)
mng_ReadChunks(int,FreeImageIO*,fi_handle,long,int)32415485511__Globals.mng_ReadChunks(int,FreeImageIO*,fi_handle,long,int)
mng_WriteJNG(int,FreeImageIO*,FIBITMAP*,fi_handle,int)205116125301__Globals.mng_WriteJNG(int,FreeImageIO*,FIBITMAP*,fi_handle,int)
FreeImage_Initialise(BOOL)8511281101__Globals.FreeImage_Initialise(BOOL)
LoadPixelData(FreeImageIO*,fi_handle,FIBITMAP*,int,unsignedint ,unsignedint)15156631__Globals.LoadPixelData(FreeImageIO*,fi_handle,FIBITMAP*,int ,unsignedint,unsignedint)
LoadPixelDataRLE4(FreeImageIO*,fi_handle,int,int,FIBITMAP*)9722795171__Globals.LoadPixelDataRLE4(FreeImageIO*,fi_handle,int,int,FIBITMAP*)
LoadPixelDataRLE8(FreeImageIO*,fi_handle,int,int,FIBITMAP*)59219155111__Globals.LoadPixelDataRLE8(FreeImageIO*,fi_handle,int,int,FIBITMAP*)
LoadWindowsBMP(FreeImageIO*,fi_handle,int,unsignedint,int)17704065131__Globals.LoadWindowsBMP(FreeImageIO*,fi_handle,int,unsignedint,int)
LoadOS22XBMP(FreeImageIO*,fi_handle,int,unsignedint)19313154161__Globals.LoadOS22XBMP(FreeImageIO*,fi_handle,int,unsignedint)
LoadOS21XBMP(FreeImageIO*,fi_handle,int,unsignedint)7111744111__Globals.LoadOS21XBMP(FreeImageIO*,fi_handle,int,unsignedint)
Format()10110031__Globals.Format()
Description()10110031__Globals.Description()
Extension()10110031__Globals.Extension()
RegExpr()10110029__Globals.RegExpr()
MimeType()10110031__Globals.MimeType()
Validate(FreeImageIO*,fi_handle)120312328__Globals.Validate(FreeImageIO*,fi_handle)
SupportsExportDepth(int)10111031__Globals.SupportsExportDepth(int)
SupportsExportType(FREE_IMAGE_TYPE)20211030__Globals.SupportsExportType(FREE_IMAGE_TYPE)
SupportsNoPixels()20110020__Globals.SupportsNoPixels()
Load(FreeImageIO*,fi_handle,int,int,void*)3401135331__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
RLEEncodeLine(BYTE*,BYTE*,int)1052186371__Globals.RLEEncodeLine(BYTE*,BYTE*,int)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)76219861117__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Format()10110031__Globals.Format()
Description()10110031__Globals.Description()
Extension()10110031__Globals.Extension()
RegExpr()20110029__Globals.RegExpr()
MimeType()10110031__Globals.MimeType()
Validate(FreeImageIO*,fi_handle)20112028__Globals.Validate(FreeImageIO*,fi_handle)
SupportsExportDepth(int)20111031__Globals.SupportsExportDepth(int)
SupportsExportType(FREE_IMAGE_TYPE)20111030__Globals.SupportsExportType(FREE_IMAGE_TYPE)
SupportsNoPixels()20110020__Globals.SupportsNoPixels()
Load(FreeImageIO*,fi_handle,int,int,void*)59118751231__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
LoadRGB(DDSURFACEDESC2&,FreeImageIO*,fi_handle,int,int,void*)211626101__Globals.LoadRGB(DDSURFACEDESC2&,FreeImageIO*,fi_handle,int,int,void* )
LoadDXT_Helper<DECODER>(FreeImageIO*,fi_handle,int,int,void*,FIBITMAP* ,int,int,int)3221159131__Globals.LoadDXT_Helper<DECODER>(FreeImageIO*,fi_handle,int,int,void* ,FIBITMAP*,int,int,int)
LoadDXT(int,DDSURFACEDESC2&,FreeImageIO*,fi_handle,int,int,void*)23052761__Globals.LoadDXT(int,DDSURFACEDESC2&,FreeImageIO*,fi_handle,int,int ,void*)
Format()10110031__Globals.Format()
Description()10110031__Globals.Description()
Extension()10110031__Globals.Extension()
RegExpr()20110029__Globals.RegExpr()
MimeType()10110031__Globals.MimeType()
Validate(FreeImageIO*,fi_handle)120312128__Globals.Validate(FreeImageIO*,fi_handle)
SupportsExportDepth(int)20111031__Globals.SupportsExportDepth(int)
SupportsExportType(FREE_IMAGE_TYPE)20111030__Globals.SupportsExportType(FREE_IMAGE_TYPE)
Open(FreeImageIO*,fi_handle,BOOL)2011309__Globals.Open(FreeImageIO*,fi_handle,BOOL)
Close(FreeImageIO*,fi_handle,void*)0011309__Globals.Close(FreeImageIO*,fi_handle,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)190635231__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()10110031__Globals.Format()

Statistics

Stat   # lines of code (LOC)   MaxNestedLoop   Cyclomatic Complexity (CC)   NestingDepth   # Parameters   # Variables   # Overloads
Sum:58 96869314 4973 5572 6037 43412 562
Average:53.660.6313.193.242.376.7611.43
Minimum:0010001
Maximum:3 806246121461126131
Standard deviation:188.51.2837.765.612.2416.2312.37
Variance:35 5321.651 42531.485.02263.36152.95
warningCritical    Rule warning: Methods too big
// <Name>Methods too big</Name>
warnif count > 0 from m in JustMyCode.Methods where 
   
m.NbLinesOfCode > 30 
   
orderby m.NbLinesOfCode descending
           
select new { m, m.NbLinesOfCode}

// Methods where NbLinesOfCode > 30 
// are extremely complex and should be split in smaller methods.
// See the definition of the NbLinesOfCode metric here 
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode

485 methods matched

methods# lines of code (LOC)Full Name
yyparse(TParseContext&)3 806__Globals.yyparse(TParseContext&)
_mesa_glsl_lexer_lex(unionYYSTYPE*,YYLTYPE*,void*)2 611__Globals._mesa_glsl_lexer_lex(unionYYSTYPE*,YYLTYPE*,void*)
_mesa_glsl_parse(struct_mesa_glsl_parse_state*)2 441__Globals._mesa_glsl_parse(struct_mesa_glsl_parse_state*)
constant_expression_value(structhash_table*)1 666ir_expression.constant_expression_value(structhash_table*)
BZ2_decompress(DState*)1 563__Globals.BZ2_decompress(DState*)
ConvertExifTag(FITAG*)1 292__Globals.ConvertExifTag(FITAG*)
yylex(YYSTYPE*,TParseContext&)1 063__Globals.yylex(YYSTYPE*,TParseContext&)
glcpp_parser_parse(glcpp_parser_t*)788__Globals.glcpp_parser_parse(glcpp_parser_t*)
sendMTFValues(EState*)562__Globals.sendMTFValues(EState*)
promote(TParseContext&)478TIntermBinary.promote(TParseContext&)
Load(FreeImageIO*,fi_handle,int,int,void*)477__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
verticalFilter(FIBITMAP*const,constunsignedint,constunsignedint ,constunsignedint,constunsignedint,constRGBQUAD*const,FIBITMAP*const ,constunsignedint)448CResizeEngine.verticalFilter(FIBITMAP*const,constunsignedint ,constunsignedint,constunsignedint,constunsignedint,constRGBQUAD*const ,FIBITMAP*const,constunsignedint)
glcpp_lex(YYSTYPE*,YYLTYPE*,void*)417__Globals.glcpp_lex(YYSTYPE*,YYLTYPE*,void*)
traverseBinary(bool,TIntermBinary*,TIntermTraverser*)415TGlslOutputTraverser.traverseBinary(bool,TIntermBinary* ,TIntermTraverser*)
byte_scan(InputSrc*,yystypepp*)412__Globals.byte_scan(InputSrc*,yystypepp*)
visit_leave(ir_expression*)402anonymous_namespace{ir_validate.cpp}.ir_validate.visit_leave (ir_expression*)
initialize()397TBuiltIns.initialize()
FreeImage_ConvertToType(FIBITMAP*,FREE_IMAGE_TYPE,BOOL)384__Globals.FreeImage_ConvertToType(FIBITMAP*,FREE_IMAGE_TYPE,BOOL)
horizontalFilter(FIBITMAP*const,constunsignedint,constunsignedint ,constunsignedint,constunsignedint,constRGBQUAD*const,FIBITMAP*const ,constunsignedint)382CResizeEngine.horizontalFilter(FIBITMAP*const,constunsignedint ,constunsignedint,constunsignedint,constunsignedint,constRGBQUAD*const ,FIBITMAP*const,constunsignedint)
hir(exec_list*,struct_mesa_glsl_parse_state*)358ast_declarator_list.hir(exec_list*,struct_mesa_glsl_parse_state*)
handle_expression(ir_expression*)341anonymous_namespace{opt_algebraic.cpp}.ir_algebraic_visitor .handle_expression(ir_expression*)
traverseAggregate(bool,TIntermAggregate*,TIntermTraverser*)340TGlslOutputTraverser.traverseAggregate(bool,TIntermAggregate* ,TIntermTraverser*)
hir(exec_list*,struct_mesa_glsl_parse_state*)329ast_expression.hir(exec_list*,struct_mesa_glsl_parse_state*)
mng_ReadChunks(int,FreeImageIO*,fi_handle,long,int)324__Globals.mng_ReadChunks(int,FreeImageIO*,fi_handle,long,int)
tiff_read_exif_tag(TIFF*,TagLib::MDMODEL,FIBITMAP*,TagLib& ,TIFFDirectory*,uint32)312__Globals.tiff_read_exif_tag(TIFF*,TagLib::MDMODEL,FIBITMAP*,TagLib& ,TIFFDirectory*,uint32)
Load(FreeImageIO*,fi_handle,int,int,void*)304__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)292__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)285__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint,FREE_IMAGE_TYPE,int ,int,int,unsignedint,unsignedint,unsignedint)269__Globals.FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint ,FREE_IMAGE_TYPE,int,int,int,unsignedint,unsignedint,unsignedint)
OutputAggregate(bool,TIntermAggregate*,TIntermTraverser*)262__Globals.OutputAggregate(bool,TIntermAggregate*,TIntermTraverser*)
Load(FreeImageIO*,fi_handle,int,int,void*)251__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
traverseUnary(bool,TIntermUnary*,TIntermTraverser*)248TGlslOutputTraverser.traverseUnary(bool,TIntermUnary* ,TIntermTraverser*)
create_builtins()241anonymous_namespace{builtin_functions.cpp}.builtin_builder .create_builtins()
link_shaders(structgl_context*,structgl_shader_program*)230__Globals.link_shaders(structgl_context*,structgl_shader_program*)
FreeImage_GetChannel(FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)226__Globals.FreeImage_GetChannel(FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)223__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
FIBITMAPToJ2KImage(int,FIBITMAP*,constopj_cparameters_t*)222__Globals.FIBITMAPToJ2KImage(int,FIBITMAP*,constopj_cparameters_t*)
ReadImageData(FreeImageIO*,fi_handle)219psdParser.ReadImageData(FreeImageIO*,fi_handle)
SaveOneTIFF(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*,unsignedint ,unsignedint)212__Globals.SaveOneTIFF(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void* ,unsignedint,unsignedint)
mng_WriteJNG(int,FreeImageIO*,FIBITMAP*,fi_handle,int)205__Globals.mng_WriteJNG(int,FreeImageIO*,FIBITMAP*,fi_handle,int)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)198__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)196__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
LoadOS22XBMP(FreeImageIO*,fi_handle,int,unsignedint)193__Globals.LoadOS22XBMP(FreeImageIO*,fi_handle,int,unsignedint)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)192__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO*,fi_handle ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)182__Globals.JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO* ,fi_handle,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)
unRLE_obuf_to_output_FAST(DState*)178__Globals.unRLE_obuf_to_output_FAST(DState*)
ir_add_conversion(TOperator,constTType&,TIntermTyped*,TInfoSink&)178__Globals.ir_add_conversion(TOperator,constTType&,TIntermTyped* ,TInfoSink&)
LoadWindowsBMP(FreeImageIO*,fi_handle,int,unsignedint,int)177__Globals.LoadWindowsBMP(FreeImageIO*,fi_handle,int,unsignedint,int)
Load(FreeImageIO*,fi_handle,int,int,void*)176__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)175__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
jpeg_read_exif_dir(FIBITMAP*,constBYTE*,unsignedlong,unsignedint,BOOL ,TagLib::MDMODEL)170__Globals.jpeg_read_exif_dir(FIBITMAP*,constBYTE*,unsignedlong ,unsignedint,BOOL,TagLib::MDMODEL)
J2KImageToFIBITMAP(int,constopj_image_t*,BOOL)169__Globals.J2KImageToFIBITMAP(int,constopj_image_t*,BOOL)
mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)167__Globals.mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)164__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
FreeImage_ConvertToRGBF(FIBITMAP*)162__Globals.FreeImage_ConvertToRGBF(FIBITMAP*)
Load(FreeImageIO*,fi_handle,int,int,void*)160__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
apply_type_qualifier_to_variable(conststructast_type_qualifier* ,ir_variable*,struct_mesa_glsl_parse_state*,YYLTYPE*,bool)159__Globals.apply_type_qualifier_to_variable (conststructast_type_qualifier*,ir_variable* ,struct_mesa_glsl_parse_state*,YYLTYPE*,bool)
FreeImage_SetChannel(FIBITMAP*,FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)158__Globals.FreeImage_SetChannel(FIBITMAP*,FIBITMAP* ,FREE_IMAGE_COLOR_CHANNEL)
hir(exec_list*,struct_mesa_glsl_parse_state*)157ast_interface_block.hir(exec_list*,struct_mesa_glsl_parse_state*)
Load(FreeImageIO*,fi_handle,int,int,void*)154__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
lValueErrorCheck(constTSourceLoc&,constchar*,TIntermTyped*)154TParseContext.lValueErrorCheck(constTSourceLoc&,constchar* ,TIntermTyped*)
OutputUnary(bool,TIntermUnary*,TIntermTraverser*)152__Globals.OutputUnary(bool,TIntermUnary*,TIntermTraverser*)
OutputBinary(bool,TIntermBinary*,TIntermTraverser*)151__Globals.OutputBinary(bool,TIntermBinary*,TIntermTraverser*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)148__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
FreeImage_Paste(FIBITMAP*,FIBITMAP*,int,int,int)148__Globals.FreeImage_Paste(FIBITMAP*,FIBITMAP*,int,int,int)
mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)145__Globals.mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)
ConvertAnyTag(FITAG*)143__Globals.ConvertAnyTag(FITAG*)
Load(FreeImageIO*,fi_handle,int,int,void*)142__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
visit_leave(ir_loop*)139anonymous_namespace{loop_analysis.cpp}.loop_analysis.visit_leave (ir_loop*)
emit_inline_vector_constructor(constglsl_type*,unsignedint,exec_list* ,exec_list*,void*)137__Globals.emit_inline_vector_constructor(constglsl_type*,unsignedint ,exec_list*,exec_list*,void*)
unRLE_obuf_to_output_SMALL(DState*)136__Globals.unRLE_obuf_to_output_SMALL(DState*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)136__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
scale(FIBITMAP*,unsignedint,unsignedint,unsignedint,unsignedint ,unsignedint,unsignedint)136CResizeEngine.scale(FIBITMAP*,unsignedint,unsignedint,unsignedint ,unsignedint,unsignedint,unsignedint)
readXBMFile(FreeImageIO*,fi_handle,int*,int*,char**)134__Globals.readXBMFile(FreeImageIO*,fi_handle,int*,int*,char**)
read_iptc_profile(FIBITMAP*,constBYTE*,unsignedint)134__Globals.read_iptc_profile(FIBITMAP*,constBYTE*,unsignedint)
emit_canonical_for(ir_loop*)134ir_print_glsl_visitor.emit_canonical_for(ir_loop*)
getConstructorOp(constTType&)133TParseContext.getConstructorOp(constTType&)
Load(FreeImageIO*,fi_handle,int,int,void*)132__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
visit(ir_if*)131anonymous_namespace{lower_jumps.cpp}.ir_lower_jumps_visitor.visit (ir_if*)
constructBuiltIn(constTType*,TOperator,TIntermNode*,TSourceLoc,bool)130TParseContext.constructBuiltIn(constTType*,TOperator,TIntermNode* ,TSourceLoc,bool)
FreeImage_ConvertToFloat(FIBITMAP*)129__Globals.FreeImage_ConvertToFloat(FIBITMAP*)
link(HlslCrossCompiler*,constchar*,ETargetVersion,unsignedint)129HlslLinker.link(HlslCrossCompiler*,constchar*,ETargetVersion ,unsignedint)
Load(FreeImageIO*,fi_handle,int,int,void*)128__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
do_optimization_passes(exec_list*,bool,unsignedint ,_mesa_glsl_parse_state*,void*)128__Globals.do_optimization_passes(exec_list*,bool,unsignedint ,_mesa_glsl_parse_state*,void*)
handle_rvalue(ir_rvalue**)127anonymous_namespace{lower_ubo_reference.cpp} .lower_ubo_reference_visitor.handle_rvalue(ir_rvalue**)
traverseAggregate(bool,TIntermAggregate*,TIntermTraverser*)125TSamplerTraverser.traverseAggregate(bool,TIntermAggregate* ,TIntermTraverser*)
InterpolatedValue(double*,long,long,double,double,long)124__Globals.InterpolatedValue(double*,long,long,double,double,long)
_addEffectSupport(LPCDIEFFECTINFO)124OIS.Win32ForceFeedback._addEffectSupport(LPCDIEFFECTINFO)
capture()122OIS.Win32Mouse.capture()
__zzip_fetch_disk_trailer(int,zzip_off_t,struct_disk_trailer* ,zzip_plugin_io_t)120__Globals.__zzip_fetch_disk_trailer(int,zzip_off_t ,struct_disk_trailer*,zzip_plugin_io_t)
zzip_file_open(ZZIP_DIR*,zzip_char_t*,int)118__Globals.zzip_file_open(ZZIP_DIR*,zzip_char_t*,int)
_token_paste(glcpp_parser_t*,token_t*,token_t*)116__Globals._token_paste(glcpp_parser_t*,token_t*,token_t*)
Rotate8Bit(FIBITMAP*,double,double,double,double,double,long,BOOL)115__Globals.Rotate8Bit(FIBITMAP*,double,double,double,double,double,long ,BOOL)
handle_rvalue(ir_rvalue**)113anonymous_namespace{opt_constant_propagation.cpp} .ir_constant_propagation_visitor.handle_rvalue(ir_rvalue**)
ir_add_binary_math(TOperator,TIntermTyped*,TIntermTyped*,TSourceLoc ,TParseContext&)113__Globals.ir_add_binary_math(TOperator,TIntermTyped*,TIntermTyped* ,TSourceLoc,TParseContext&)
processCanonMakerNoteTag(FIBITMAP*,FITAG*)112__Globals.processCanonMakerNoteTag(FIBITMAP*,FITAG*)
_mesa_glsl_parse_state(structgl_context*,gl_shader_stage,void*)112_mesa_glsl_parse_state._mesa_glsl_parse_state(structgl_context* ,gl_shader_stage,void*)
emit_inline_matrix_constructor(constglsl_type*,int,exec_list* ,exec_list*,void*)111__Globals.emit_inline_matrix_constructor(constglsl_type*,int ,exec_list*,exec_list*,void*)
capture()110OIS.Win32JoyStick.capture()
getArgumentData2(constGlslSymbolOrStructMemberBase*,EClassifier ,std::string&,std::string&,int&,int)109HlslLinker.getArgumentData2(constGlslSymbolOrStructMemberBase* ,EClassifier,std::string&,std::string&,int&,int)

Statistics

Stat   # lines of code (LOC)
Sum:55 082
Average:113.57
Minimum:31
Maximum:3 806
Standard deviation:272.03
Variance:73 997
warningCritical    Rule warning: Methods too complex
// <Name>Methods too complex</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.CyclomaticComplexity > 20 ||
  
m.MaxNestedLoop > 3 ||
  
m.NestingDepth > 5
  
orderby m.CyclomaticComplexity descending,
          
m.MaxNestedLoop descending,
          
m.NestingDepth descending
select new { m, m.CyclomaticComplexity, 
                
m.MaxNestedLoop,
                
m.NestingDepth  }

// Methods where CyclomaticComplexity > 20 
// or MaxNestedLoop > 40
// or NestingDepth > 4
// are hard to understand and maintain
// and should be split in smaller methods.
// See the definition of the complexity metrics here:
// http://www.cppdepend.com/Metrics.aspx#CC
// http://www.cppdepend.com/Metrics.aspx#ILCC
// http://www.cppdepend.com/Metrics.aspx#ILNestingDepth

250 methods matched

methodsCyclomatic Complexity (CC)MaxNestedLoopNestingDepthFull Name
yyparse(TParseContext&)612327__Globals.yyparse(TParseContext&)
_mesa_glsl_lexer_lex(unionYYSTYPE*,YYLTYPE*,void*)585233__Globals._mesa_glsl_lexer_lex(unionYYSTYPE*,YYLTYPE*,void*)
_mesa_glsl_parse(struct_mesa_glsl_parse_state*)488124__Globals._mesa_glsl_parse(struct_mesa_glsl_parse_state*)
BZ2_decompress(DState*)41087__Globals.BZ2_decompress(DState*)
constant_expression_value(structhash_table*)3272453ir_expression.constant_expression_value(structhash_table*)
yylex(YYSTYPE*,TParseContext&)2152146__Globals.yylex(YYSTYPE*,TParseContext&)
ConvertExifTag(FITAG*)20814__Globals.ConvertExifTag(FITAG*)
glcpp_parser_parse(glcpp_parser_t*)181126__Globals.glcpp_parser_parse(glcpp_parser_t*)
FreeImage_ConvertToType(FIBITMAP*,FREE_IMAGE_TYPE,BOOL)15303__Globals.FreeImage_ConvertToType(FIBITMAP*,FREE_IMAGE_TYPE,BOOL)
byte_scan(InputSrc*,yystypepp*)147225__Globals.byte_scan(InputSrc*,yystypepp*)
Load(FreeImageIO*,fi_handle,int,int,void*)13045__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
handle_expression(ir_expression*)12435anonymous_namespace{opt_algebraic.cpp}.ir_algebraic_visitor .handle_expression(ir_expression*)
promote(TParseContext&)11609TIntermBinary.promote(TParseContext&)
visit_leave(ir_expression*)10907anonymous_namespace{ir_validate.cpp}.ir_validate.visit_leave (ir_expression*)
link_shaders(structgl_context*,structgl_shader_program*)9942__Globals.link_shaders(structgl_context*,structgl_shader_program*)
traverseAggregate(bool,TIntermAggregate*,TIntermTraverser*)9914TGlslOutputTraverser.traverseAggregate(bool,TIntermAggregate* ,TIntermTraverser*)
glcpp_lex(YYSTYPE*,YYLTYPE*,void*)92238__Globals.glcpp_lex(YYSTYPE*,YYLTYPE*,void*)
horizontalFilter(FIBITMAP*const,constunsignedint,constunsignedint ,constunsignedint,constunsignedint,constRGBQUAD*const,FIBITMAP*const ,constunsignedint)88411CResizeEngine.horizontalFilter(FIBITMAP*const,constunsignedint ,constunsignedint,constunsignedint,constunsignedint,constRGBQUAD*const ,FIBITMAP*const,constunsignedint)
verticalFilter(FIBITMAP*const,constunsignedint,constunsignedint ,constunsignedint,constunsignedint,constRGBQUAD*const,FIBITMAP*const ,constunsignedint)88411CResizeEngine.verticalFilter(FIBITMAP*const,constunsignedint ,constunsignedint,constunsignedint,constunsignedint,constRGBQUAD*const ,FIBITMAP*const,constunsignedint)
traverseBinary(bool,TIntermBinary*,TIntermTraverser*)8616TGlslOutputTraverser.traverseBinary(bool,TIntermBinary* ,TIntermTraverser*)
OutputAggregate(bool,TIntermAggregate*,TIntermTraverser*)8402__Globals.OutputAggregate(bool,TIntermAggregate*,TIntermTraverser*)
Load(FreeImageIO*,fi_handle,int,int,void*)7638__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
hir(exec_list*,struct_mesa_glsl_parse_state*)7502ast_declarator_list.hir(exec_list*,struct_mesa_glsl_parse_state*)
hir(exec_list*,struct_mesa_glsl_parse_state*)7105ast_expression.hir(exec_list*,struct_mesa_glsl_parse_state*)
ReadImageData(FreeImageIO*,fi_handle)67415psdParser.ReadImageData(FreeImageIO*,fi_handle)
Load(FreeImageIO*,fi_handle,int,int,void*)67210__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
sendMTFValues(EState*)65910__Globals.sendMTFValues(EState*)
Load(FreeImageIO*,fi_handle,int,int,void*)6129__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)6129__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
ir_expression(int,ir_rvalue*)5802ir_expression.ir_expression(int,ir_rvalue*)
traverseUnary(bool,TIntermUnary*,TIntermTraverser*)5603TGlslOutputTraverser.traverseUnary(bool,TIntermUnary* ,TIntermTraverser*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)5527__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
J2KImageToFIBITMAP(int,constopj_image_t*,BOOL)5526__Globals.J2KImageToFIBITMAP(int,constopj_image_t*,BOOL)
apply_type_qualifier_to_variable(conststructast_type_qualifier* ,ir_variable*,struct_mesa_glsl_parse_state*,YYLTYPE*,bool)5503__Globals.apply_type_qualifier_to_variable (conststructast_type_qualifier*,ir_variable* ,struct_mesa_glsl_parse_state*,YYLTYPE*,bool)
traverseAggregate(bool,TIntermAggregate*,TIntermTraverser*)54116TSamplerTraverser.traverseAggregate(bool,TIntermAggregate* ,TIntermTraverser*)
mng_ReadChunks(int,FreeImageIO*,fi_handle,long,int)5418__Globals.mng_ReadChunks(int,FreeImageIO*,fi_handle,long,int)
Load(FreeImageIO*,fi_handle,int,int,void*)5318__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
unRLE_obuf_to_output_FAST(DState*)5034__Globals.unRLE_obuf_to_output_FAST(DState*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)49210__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
isConst(TOperator)4802anonymous_namespace{parsehelper.cpp}.__Globals.isConst(TOperator)
_addEffectSupport(LPCDIEFFECTINFO)4702OIS.Win32ForceFeedback._addEffectSupport(LPCDIEFFECTINFO)
OutputUnary(bool,TIntermUnary*,TIntermTraverser*)4602__Globals.OutputUnary(bool,TIntermUnary*,TIntermTraverser*)
SaveOneTIFF(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*,unsignedint ,unsignedint)45324__Globals.SaveOneTIFF(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void* ,unsignedint,unsignedint)
unRLE_obuf_to_output_SMALL(DState*)4532__Globals.unRLE_obuf_to_output_SMALL(DState*)
ir_add_binary_math(TOperator,TIntermTyped*,TIntermTyped*,TSourceLoc ,TParseContext&)4505__Globals.ir_add_binary_math(TOperator,TIntermTyped*,TIntermTyped* ,TSourceLoc,TParseContext&)
OutputBinary(bool,TIntermBinary*,TIntermTraverser*)4502__Globals.OutputBinary(bool,TIntermBinary*,TIntermTraverser*)
Load(FreeImageIO*,fi_handle,int,int,void*)4426__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
constructBuiltIn(constTType*,TOperator,TIntermNode*,TSourceLoc,bool)4405TParseContext.constructBuiltIn(constTType*,TOperator,TIntermNode* ,TSourceLoc,bool)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)4225__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)41310__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
visit(ir_if*)4127anonymous_namespace{lower_jumps.cpp}.ir_lower_jumps_visitor.visit (ir_if*)
tiff_read_exif_tag(TIFF*,TagLib::MDMODEL,FIBITMAP*,TagLib& ,TIFFDirectory*,uint32)41111__Globals.tiff_read_exif_tag(TIFF*,TagLib::MDMODEL,FIBITMAP*,TagLib& ,TIFFDirectory*,uint32)
Load(FreeImageIO*,fi_handle,int,int,void*)4049__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
LoadWindowsBMP(FreeImageIO*,fi_handle,int,unsignedint,int)4006__Globals.LoadWindowsBMP(FreeImageIO*,fi_handle,int,unsignedint,int)
hir(exec_list*,struct_mesa_glsl_parse_state*)3915ast_interface_block.hir(exec_list*,struct_mesa_glsl_parse_state*)
Load(FreeImageIO*,fi_handle,int,int,void*)3845__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
readXBMFile(FreeImageIO*,fi_handle,int*,int*,char**)38310__Globals.readXBMFile(FreeImageIO*,fi_handle,int*,int*,char**)
ReadImageType(TIFF*,uint16,uint16)3804__Globals.ReadImageType(TIFF*,uint16,uint16)
ir_expression(int,ir_rvalue*,ir_rvalue*)3803ir_expression.ir_expression(int,ir_rvalue*,ir_rvalue*)
FreeImage_ApplyColorMapping(FIBITMAP*,RGBQUAD*,RGBQUAD*,unsignedint ,BOOL,BOOL)3758__Globals.FreeImage_ApplyColorMapping(FIBITMAP*,RGBQUAD*,RGBQUAD* ,unsignedint,BOOL,BOOL)
Load(FreeImageIO*,fi_handle,int,int,void*)3736__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
getConstructorOp(constTType&)3705TParseContext.getConstructorOp(constTType&)
ConvertExifGPSTag(FITAG*)3704__Globals.ConvertExifGPSTag(FITAG*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)36212__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
zzip_file_open(ZZIP_DIR*,zzip_char_t*,int)36110__Globals.zzip_file_open(ZZIP_DIR*,zzip_char_t*,int)
ConvertAnyTag(FITAG*)3614__Globals.ConvertAnyTag(FITAG*)
print()3603ast_expression.print()
_glcpp_parser_handle_version_declaration(glcpp_parser_t*,intmax_t ,constchar*,bool)3602__Globals._glcpp_parser_handle_version_declaration(glcpp_parser_t* ,intmax_t,constchar*,bool)
writeType(std::stringstream&,EGlslSymbolType,GlslStruct*,TPrecision)3602__Globals.writeType(std::stringstream&,EGlslSymbolType,GlslStruct* ,TPrecision)
mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)3554__Globals.mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)
FIBITMAPToJ2KImage(int,FIBITMAP*,constopj_cparameters_t*)35210__Globals.FIBITMAPToJ2KImage(int,FIBITMAP*,constopj_cparameters_t*)
zzip_freopen(zzip_char_t*,zzip_char_t*,ZZIP_FILE*)3513__Globals.zzip_freopen(zzip_char_t*,zzip_char_t*,ZZIP_FILE*)
scale(FIBITMAP*,unsignedint,unsignedint,unsignedint,unsignedint ,unsignedint,unsignedint)35012CResizeEngine.scale(FIBITMAP*,unsignedint,unsignedint,unsignedint ,unsignedint,unsignedint,unsignedint)
do_optimization_passes(exec_list*,bool,unsignedint ,_mesa_glsl_parse_state*,void*)3504__Globals.do_optimization_passes(exec_list*,bool,unsignedint ,_mesa_glsl_parse_state*,void*)
fallbackSort(UInt32*,UInt32*,UInt32*,Int32,Int32)34127__Globals.fallbackSort(UInt32*,UInt32*,UInt32*,Int32,Int32)
ToneMappingReinhard05(FIBITMAP*,FIBITMAP*,float,float,float,float)3437__Globals.ToneMappingReinhard05(FIBITMAP*,FIBITMAP*,float,float,float ,float)
FreeImage_SetChannel(FIBITMAP*,FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)34210__Globals.FreeImage_SetChannel(FIBITMAP*,FIBITMAP* ,FREE_IMAGE_COLOR_CHANNEL)
Load(FreeImageIO*,fi_handle,int,int,void*)3428__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
jpeg_read_exif_dir(FIBITMAP*,constBYTE*,unsignedlong,unsignedint,BOOL ,TagLib::MDMODEL)3415__Globals.jpeg_read_exif_dir(FIBITMAP*,constBYTE*,unsignedlong ,unsignedint,BOOL,TagLib::MDMODEL)
capture()3415OIS.Win32JoyStick.capture()
ir_add_conversion(TOperator,constTType&,TIntermTyped*,TInfoSink&)3404__Globals.ir_add_conversion(TOperator,constTType&,TIntermTyped* ,TInfoSink&)
accept(ir_hierarchical_visitor*)3402ir_texture.accept(ir_hierarchical_visitor*)
FreeImage_ConvertToFloat(FIBITMAP*)33410__Globals.FreeImage_ConvertToFloat(FIBITMAP*)
FreeImage_ConvertToRGBF(FIBITMAP*)3328__Globals.FreeImage_ConvertToRGBF(FIBITMAP*)
FreeImage_GetChannel(FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)3327__Globals.FreeImage_GetChannel(FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)
lValueErrorCheck(constTSourceLoc&,constchar*,TIntermTyped*)3316TParseContext.lValueErrorCheck(constTSourceLoc&,constchar* ,TIntermTyped*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)32310__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)3238__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint,FREE_IMAGE_TYPE,int ,int,int,unsignedint,unsignedint,unsignedint)3217__Globals.FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint ,FREE_IMAGE_TYPE,int,int,int,unsignedint,unsignedint,unsignedint)
BZ2_bzWriteClose64(int*,BZFILE*,int,unsignedint*,unsignedint* ,unsignedint*,unsignedint*)3215__Globals.BZ2_bzWriteClose64(int*,BZFILE*,int,unsignedint* ,unsignedint*,unsignedint*,unsignedint*)
capture()3213OIS.Win32Mouse.capture()
getArgumentData2(constGlslSymbolOrStructMemberBase*,EClassifier ,std::string&,std::string&,int&,int)3205HlslLinker.getArgumentData2(constGlslSymbolOrStructMemberBase* ,EClassifier,std::string&,std::string&,int&,int)
FreeImage_ConvertTo32Bits(FIBITMAP*)3127__Globals.FreeImage_ConvertTo32Bits(FIBITMAP*)
LoadOS22XBMP(FreeImageIO*,fi_handle,int,unsignedint)3115__Globals.LoadOS22XBMP(FreeImageIO*,fi_handle,int,unsignedint)
cross_validate_globals(structgl_shader_program*,structgl_shader** ,unsignedint,bool)3115__Globals.cross_validate_globals(structgl_shader_program* ,structgl_shader**,unsignedint,bool)
JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO*,fi_handle ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)3104__Globals.JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO* ,fi_handle,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)
_token_paste(glcpp_parser_t*,token_t*,token_t*)3103__Globals._token_paste(glcpp_parser_t*,token_t*,token_t*)
mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)3102__Globals.mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)
visit_leave(ir_loop*)3102anonymous_namespace{loop_analysis.cpp}.loop_analysis.visit_leave (ir_loop*)
FreeImage_GetColorType(FIBITMAP*)3027__Globals.FreeImage_GetColorType(FIBITMAP*)

Statistics

Stat   Cyclomatic Complexity (CC)   MaxNestedLoop   NestingDepth
Sum:10 3643931 904
Average:41.461.577.62
Minimum:402
Maximum:61224146
Standard deviation:71.692.1110.36
Variance:5 1384.44107.23
warningCritical    Rule warning: Methods potentially poorly commented
// <Name>Methods potentially poorly commented</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.PercentageComment < 20 && 
  
m.NbLinesOfCode > 20  
  
orderby m.PercentageComment ascending
select new { m, m.PercentageComment, m.NbLinesOfCode, m.NbLinesOfComment }

// Methods where %Comment < 20 and that have 
// at least 20 lines of code might need to be more commented.
// See the definition of the Comments metric here 
// http://www.cppdepend.com/Metrics.aspx#PercentageComment
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfComment 

429 methods matched

methodsPercentage Comment# lines of code (LOC)# lines of commentFull Name
mainQSort3(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32,Int32*)0850__Globals.mainQSort3(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32 ,Int32*)
BZ2_bzWriteClose64(int*,BZFILE*,int,unsignedint*,unsignedint* ,unsignedint*,unsignedint*)0890__Globals.BZ2_bzWriteClose64(int*,BZFILE*,int,unsignedint* ,unsignedint*,unsignedint*,unsignedint*)
FreeImage_GetPixelIndex(FIBITMAP*,unsignedint,unsignedint,BYTE*)0240__Globals.FreeImage_GetPixelIndex(FIBITMAP*,unsignedint,unsignedint ,BYTE*)
FreeImage_SetPixelIndex(FIBITMAP*,unsignedint,unsignedint,BYTE*)0250__Globals.FreeImage_SetPixelIndex(FIBITMAP*,unsignedint,unsignedint ,BYTE*)
Validate(FreeImageIO*,fi_handle)0280__Globals.Validate(FreeImageIO*,fi_handle)
get_rlechar(FreeImageIO*,fi_handle,RLEStatus*)0300__Globals.get_rlechar(FreeImageIO*,fi_handle,RLEStatus*)
FreeImage_DeletePage(FIMULTIBITMAP*,int)0220__Globals.FreeImage_DeletePage(FIMULTIBITMAP*,int)
FreeImage_ZLibGUnzip(BYTE*,DWORD,BYTE*,DWORD)0220__Globals.FreeImage_ZLibGUnzip(BYTE*,DWORD,BYTE*,DWORD)
openStdIO(constchar*,constchar*,FreeImageIO*,fi_handle*,fi_handle*)0360__Globals.openStdIO(constchar*,constchar*,FreeImageIO*,fi_handle* ,fi_handle*)
openStdIOU(constwchar_t*,constwchar_t*,FreeImageIO*,fi_handle* ,fi_handle*)0360__Globals.openStdIOU(constwchar_t*,constwchar_t*,FreeImageIO* ,fi_handle*,fi_handle*)
scanf_one(constchar*,void*)0280LibRaw_freeimage_datastream.scanf_one(constchar*,void*)
ir_variable(conststructglsl_type*,constchar*,ir_variable_mode ,glsl_precision)0420ir_variable.ir_variable(conststructglsl_type*,constchar* ,ir_variable_mode,glsl_precision)
clone(void*,structhash_table*)0330ir_texture.clone(void*,structhash_table*)
accept(ir_hierarchical_visitor*)0510ir_texture.accept(ir_hierarchical_visitor*)
equals(ir_instruction*,enumir_node_type)0440ir_texture.equals(ir_instruction*,enumir_node_type)
constant_expression_value(structhash_table*)0340ir_swizzle.constant_expression_value(structhash_table*)
clone(void*,structhash_table*)0340ir_constant.clone(void*,structhash_table*)
process_record_constructor(exec_list*,constglsl_type*,YYLTYPE* ,exec_list*,struct_mesa_glsl_parse_state*)0220__Globals.process_record_constructor(exec_list*,constglsl_type* ,YYLTYPE*,exec_list*,struct_mesa_glsl_parse_state*)
apply_image_qualifier_to_variable(conststructast_type_qualifier* ,ir_variable*,struct_mesa_glsl_parse_state*,YYLTYPE*)0210__Globals.apply_image_qualifier_to_variable (conststructast_type_qualifier*,ir_variable* ,struct_mesa_glsl_parse_state*,YYLTYPE*)
_mesa_ast_type_qualifier_print(conststructast_type_qualifier*)0270__Globals._mesa_ast_type_qualifier_print (conststructast_type_qualifier*)
__read_expression(void*,constchar*&,char*&)0230__Globals.__read_expression(void*,constchar*&,char*&)
glcpp_parser_create(conststructgl_extensions*,gl_api)0330__Globals.glcpp_parser_create(conststructgl_extensions*,gl_api)
_token_list_equal_ignoring_space(token_list_t*,token_list_t*)0420__Globals._token_list_equal_ignoring_space(token_list_t*,token_list_t* )
_mesa_hash_table_create(void*,bool(*)(constvoid*,constvoid*))0240__Globals._mesa_hash_table_create(void*,bool(*)(constvoid*,constvoid*) )
_mesa_hash_table_rehash(structhash_table*,int)0210__Globals._mesa_hash_table_rehash(structhash_table*,int)
print()0960ast_expression.print()
print()0290ast_iteration_statement.print()
visit(ir_function_signature*)0290ir_print_visitor.visit(ir_function_signature*)
visit(ir_texture*)0460ir_print_visitor.visit(ir_texture*)
visit(ir_if*)0260ir_print_visitor.visit(ir_if*)
add_interface(constglsl_type*,enumir_variable_mode)0260symbol_table_entry.add_interface(constglsl_type*,enumir_variable_mode)
rvalue_visit(ir_texture*)0270ir_rvalue_base_visitor.rvalue_visit(ir_texture*)
visit(ir_constant*)0480ir_print_glsl_visitor.visit(ir_constant*)
visit(ir_if*)0250ir_print_glsl_visitor.visit(ir_if*)
try_print_array_assignment(ir_dereference*,ir_rvalue*)0230ir_print_glsl_visitor.try_print_array_assignment(ir_dereference* ,ir_rvalue*)
fixup_unnamed_interface_type(constvoid*,void*,void*)0210array_sizing_visitor.fixup_unnamed_interface_type(constvoid*,void* ,void*)
_determinant_mat4()0490anonymous_namespace{builtin_functions.cpp}.builtin_builder ._determinant_mat4()
_inverse_mat3()0220anonymous_namespace{builtin_functions.cpp}.builtin_builder ._inverse_mat3()
_inverse_mat4()0620anonymous_namespace{builtin_functions.cpp}.builtin_builder ._inverse_mat4()
_noise3(constglsl_type*)0250anonymous_namespace{builtin_functions.cpp}.builtin_builder._noise3 (constglsl_type*)
_noise4(constglsl_type*)0310anonymous_namespace{builtin_functions.cpp}.builtin_builder._noise4 (constglsl_type*)
add_uniform(constglsl_type*,constchar*,glsl_precision)0240anonymous_namespace{builtin_variables.cpp}.builtin_variable_generator .add_uniform(constglsl_type*,constchar*,glsl_precision)
visit_enter(ir_call*)0380anonymous_namespace{ir_validate.cpp}.ir_validate.visit_enter(ir_call*)
set_uniform_initializer(void*,gl_shader_program*,constchar* ,constglsl_type*,ir_constant*)0380linker.__Globals.set_uniform_initializer(void*,gl_shader_program* ,constchar*,constglsl_type*,ir_constant*)
visit_leave(ir_if*)0230anonymous_namespace{lower_discard.cpp}.lower_discard_visitor .visit_leave(ir_if*)
visit_leave(ir_expression*)0430anonymous_namespace{lower_instructions.cpp}.lower_instructions_visitor .visit_leave(ir_expression*)
handle_rvalue(ir_rvalue**)0570anonymous_namespace{lower_packing_builtins.cpp} .lower_packing_builtins_visitor.handle_rvalue(ir_rvalue**)
handle_rvalue(ir_rvalue**)01130anonymous_namespace{opt_constant_propagation.cpp} .ir_constant_propagation_visitor.handle_rvalue(ir_rvalue**)
visit_enter(ir_expression*)0220anonymous_namespace{opt_flip_matrices.cpp}.matrix_flipper.visit_enter (ir_expression*)
visit_leave(ir_assignment*)0290anonymous_namespace{opt_structure_splitting.cpp} .ir_structure_splitting_visitor.visit_leave(ir_assignment*)
visit_enter(classir_texture*)0310anonymous_namespace{opt_tree_grafting.cpp}.ir_tree_grafting_visitor .visit_enter(classir_texture*)
ir_promote_constant(TBasicType,TIntermConstant*,TInfoSink&)0740__Globals.ir_promote_constant(TBasicType,TIntermConstant*,TInfoSink&)
ir_get_constructor_op_float(constTPublicType&,TParseContext&)0700__Globals.ir_get_constructor_op_float(constTPublicType&,TParseContext& )
ir_get_constructor_op(constTPublicType&,TParseContext&,bool)0450__Globals.ir_get_constructor_op(constTPublicType&,TParseContext&,bool)
OutputBinary(bool,TIntermBinary*,TIntermTraverser*)01510__Globals.OutputBinary(bool,TIntermBinary*,TIntermTraverser*)
OutputUnary(bool,TIntermUnary*,TIntermTraverser*)01520__Globals.OutputUnary(bool,TIntermUnary*,TIntermTraverser*)
OutputAggregate(bool,TIntermAggregate*,TIntermTraverser*)02620__Globals.OutputAggregate(bool,TIntermAggregate*,TIntermTraverser*)
OutputSelection(bool,TIntermSelection*,TIntermTraverser*)0210__Globals.OutputSelection(bool,TIntermSelection*,TIntermTraverser*)
OutputConstant(TIntermConstant*,TIntermTraverser*)0270__Globals.OutputConstant(TIntermConstant*,TIntermTraverser*)
OutputLoop(bool,TIntermLoop*,TIntermTraverser*)0260__Globals.OutputLoop(bool,TIntermLoop*,TIntermTraverser*)
OutputBranch(bool,TIntermBranch*,TIntermTraverser*)0410__Globals.OutputBranch(bool,TIntermBranch*,TIntermTraverser*)
eval(int,int,int*,int*,yystypepp*)0630__Globals.eval(int,int,int*,int*,yystypepp*)
PrescanMacroArg(TokenStream*,yystypepp*)0210__Globals.PrescanMacroArg(TokenStream*,yystypepp*)
mem_CreatePool(size_t,unsignedint)0210__Globals.mem_CreatePool(size_t,unsignedint)
ReadToken(TokenStream*,yystypepp*)0650__Globals.ReadToken(TokenStream*,yystypepp*)
writeFuncCall(constTString&,TIntermAggregate*,TGlslOutputTraverser* ,bool,bool)0210__Globals.writeFuncCall(constTString&,TIntermAggregate* ,TGlslOutputTraverser*,bool,bool)
TType(constTPublicType&)0220TType.TType(constTPublicType&)
getConstructorOp(constTType&)01331TParseContext.getConstructorOp(constTType&)
writeDecl(std::stringstream&,GlslSymbol::WriteDeclMode)0280GlslSymbol.writeDecl(std::stringstream&,GlslSymbol::WriteDeclMode)
traverseUnary(bool,TIntermUnary*,TIntermTraverser*)02481TGlslOutputTraverser.traverseUnary(bool,TIntermUnary* ,TIntermTraverser*)
traverseAggregate(bool,TIntermAggregate*,TIntermTraverser*)03403TGlslOutputTraverser.traverseAggregate(bool,TIntermAggregate* ,TIntermTraverser*)
traverseBranch(bool,TIntermBranch*,TIntermTraverser*)0270TGlslOutputTraverser.traverseBranch(bool,TIntermBranch* ,TIntermTraverser*)
traverseArrayDeclarationWithInit(TIntermDeclaration*)0720TGlslOutputTraverser.traverseArrayDeclarationWithInit (TIntermDeclaration*)
isConst(TOperator)0500anonymous_namespace{parsehelper.cpp}.__Globals.isConst(TOperator)
BZ2_bzReadOpen(int*,FILE*,int,int,void*,int)1741__Globals.BZ2_bzReadOpen(int*,FILE*,int,int,void*,int)
BZ2_bzWriteOpen(int*,FILE*,int,int,int)1681__Globals.BZ2_bzWriteOpen(int*,FILE*,int,int,int)
BZ2_bzWrite(int*,BZFILE*,void*,int)1701__Globals.BZ2_bzWrite(int*,BZFILE*,void*,int)
add_pair_to_block(EState*)1541__Globals.add_pair_to_block(EState*)
FreeImage_ConvertToType(FIBITMAP*,FREE_IMAGE_TYPE,BOOL)13845__Globals.FreeImage_ConvertToType(FIBITMAP*,FREE_IMAGE_TYPE,BOOL)
ConvertExifTag(FITAG*)11 29217__Globals.ConvertExifTag(FITAG*)
Cut(Box*,Box*)1501WuQuantizer.Cut(Box*,Box*)
initialize_mesa_context(structgl_context*,glslopt_target)1511__Globals.initialize_mesa_context(structgl_context*,glslopt_target)
_token_print(char**,size_t*,token_t*)1501__Globals._token_print(char**,size_t*,token_t*)
readCPPline(yystypepp*)1581__Globals.readCPPline(yystypepp*)
translateType(constTType*)1921__Globals.translateType(constTType*)
BZ2_bzCompressInit(bz_stream*,int,int,int)2662__Globals.BZ2_bzCompressInit(bz_stream*,int,int,int)
BZ2_bzReadGetUnused(int*,BZFILE*,void**,int*)2351__Globals.BZ2_bzReadGetUnused(int*,BZFILE*,void**,int*)
BZ2_bzRead(int*,BZFILE*,void*,int)2862__Globals.BZ2_bzRead(int*,BZFILE*,void*,int)
BZ2_decompress(DState*)21 56337__Globals.BZ2_decompress(DState*)
constant_expression_value(structhash_table*)21 66644ir_expression.constant_expression_value(structhash_table*)
visit(ir_constant*)2401ir_print_visitor.visit(ir_constant*)
visit(ir_function_signature*)2411ir_print_glsl_visitor.visit(ir_function_signature*)
emit_assignment_part(ir_dereference*,ir_rvalue*,unsignedint,ir_rvalue* )2381ir_print_glsl_visitor.emit_assignment_part(ir_dereference*,ir_rvalue* ,unsignedint,ir_rvalue*)
getMatrixConstructOp(constTIntermTyped&,TParseContext&)2421__Globals.getMatrixConstructOp(constTIntermTyped&,TParseContext&)
CPPdefine(yystypepp*)2772__Globals.CPPdefine(yystypepp*)
byte_scan(InputSrc*,yystypepp*)241211__Globals.byte_scan(InputSrc*,yystypepp*)
getElements(EGlslSymbolType)2371__Globals.getElements(EGlslSymbolType)
traverseBinary(bool,TIntermBinary*,TIntermTraverser*)241511TGlslOutputTraverser.traverseBinary(bool,TIntermBinary* ,TIntermTraverser*)
BZ2_bzCompress(bz_stream*,int)3642__Globals.BZ2_bzCompress(bz_stream*,int)
BZ2_bzDecompress(bz_stream*)3532__Globals.BZ2_bzDecompress(bz_stream*)

Statistics

Stat   Percentage Comment   # lines of code (LOC)   # lines of comment
Sum:3 86944 0334 039
Average:9.02102.649.41
Minimum:0210
Maximum:193 806217
Standard deviation:6.22288.3518.79
Variance:38.6483 145352.91
warningCritical    Rule warning: Methods with too many parameters
// <Name>Methods with too many parameters</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbParameters > 5 
  
orderby m.NbParameters descending
select new { m, m.NbParameters }

// Methods where NbParameters > 5 might be painful to call 
// and might degrade performance. You should prefer using 
// additional properties/fields to the declaring type to 
// handle numerous states. Another alternative is to provide 
// a class or structure dedicated to handle arguments passing 
// (for example see the class System.Diagnostics.ProcessStartInfo 
// and the method System.Diagnostics.Process.Start(ProcessStartInfo))
// See the definition of the NbParameters metric here 
// http://www.cppdepend.com/Metrics.aspx#NbParameters

134 methods matched

methods# ParametersFull Name
FreeImage_ConvertFromRawBitsEx(BOOL,BYTE*,FREE_IMAGE_TYPE,int,int,int ,unsignedint,unsignedint,unsignedint,unsignedint,BOOL)11__Globals.FreeImage_ConvertFromRawBitsEx(BOOL,BYTE*,FREE_IMAGE_TYPE ,int,int,int,unsignedint,unsignedint,unsignedint,unsignedint,BOOL)
FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint,FREE_IMAGE_TYPE,int ,int,int,unsignedint,unsignedint,unsignedint)10__Globals.FreeImage_AllocateBitmap(BOOL,BYTE*,unsignedint ,FREE_IMAGE_TYPE,int,int,int,unsignedint,unsignedint,unsignedint)
FreeImage_AllocateExT(FREE_IMAGE_TYPE,int,int,int,constvoid*,int ,constRGBQUAD*,unsignedint,unsignedint,unsignedint)10__Globals.FreeImage_AllocateExT(FREE_IMAGE_TYPE,int,int,int,constvoid* ,int,constRGBQUAD*,unsignedint,unsignedint,unsignedint)
FreeImage_JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO* ,fi_handle,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)10__Globals.FreeImage_JPEGTransformFromHandle(FreeImageIO*,fi_handle ,FreeImageIO*,fi_handle,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int* ,BOOL)
JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO*,fi_handle ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)10__Globals.JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO* ,fi_handle,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)
FreeImage_AllocateHeaderForBits(BYTE*,unsignedint,FREE_IMAGE_TYPE,int ,int,int,unsignedint,unsignedint,unsignedint)9__Globals.FreeImage_AllocateHeaderForBits(BYTE*,unsignedint ,FREE_IMAGE_TYPE,int,int,int,unsignedint,unsignedint,unsignedint)
LoadDXT_Helper<DECODER>(FreeImageIO*,fi_handle,int,int,void*,FIBITMAP* ,int,int,int)9__Globals.LoadDXT_Helper<DECODER>(FreeImageIO*,fi_handle,int,int,void* ,FIBITMAP*,int,int,int)
FreeImage_ConvertFromRawBits(BYTE*,int,int,int,unsignedint,unsignedint ,unsignedint,unsignedint,BOOL)9__Globals.FreeImage_ConvertFromRawBits(BYTE*,int,int,int,unsignedint ,unsignedint,unsignedint,unsignedint,BOOL)
FreeImage_AllocateEx(int,int,int,constRGBQUAD*,int,constRGBQUAD* ,unsignedint,unsignedint,unsignedint)9__Globals.FreeImage_AllocateEx(int,int,int,constRGBQUAD*,int ,constRGBQUAD*,unsignedint,unsignedint,unsignedint)
Maximize(Box*,BYTE,int,int,int*,LONG,LONG,LONG,LONG)9WuQuantizer.Maximize(Box*,BYTE,int,int,int*,LONG,LONG,LONG,LONG)
ast_process_structure_or_interface_block(exec_list* ,struct_mesa_glsl_parse_state*,exec_list*,YYLTYPE&,glsl_struct_field** ,bool,bool,bool,ir_variable_mode)9__Globals.ast_process_structure_or_interface_block(exec_list* ,struct_mesa_glsl_parse_state*,exec_list*,YYLTYPE&,glsl_struct_field** ,bool,bool,bool,ir_variable_mode)
mainSimpleSort(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32,Int32*)8__Globals.mainSimpleSort(UInt32*,UChar*,UInt16*,Int32,Int32,Int32 ,Int32,Int32*)
mainQSort3(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32,Int32*)8__Globals.mainQSort3(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32 ,Int32*)
FreeImage_AllocateHeaderT(BOOL,FREE_IMAGE_TYPE,int,int,int,unsignedint ,unsignedint,unsignedint)8__Globals.FreeImage_AllocateHeaderT(BOOL,FREE_IMAGE_TYPE,int,int,int ,unsignedint,unsignedint,unsignedint)
FreeImage_SetMetadataEx(FREE_IMAGE_MDMODEL,FIBITMAP*,constchar*,WORD ,FREE_IMAGE_MDTYPE,DWORD,DWORD,constvoid*)8__Globals.FreeImage_SetMetadataEx(FREE_IMAGE_MDMODEL,FIBITMAP* ,constchar*,WORD,FREE_IMAGE_MDTYPE,DWORD,DWORD,constvoid*)
SaveOneTIFF(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*,unsignedint ,unsignedint)8__Globals.SaveOneTIFF(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void* ,unsignedint,unsignedint)
FreeImage_ConvertToRawBits(BYTE*,FIBITMAP*,int,unsignedint,unsignedint ,unsignedint,unsignedint,BOOL)8__Globals.FreeImage_ConvertToRawBits(BYTE*,FIBITMAP*,int,unsignedint ,unsignedint,unsignedint,unsignedint,BOOL)
Rotate8Bit(FIBITMAP*,double,double,double,double,double,long,BOOL)8__Globals.Rotate8Bit(FIBITMAP*,double,double,double,double,double,long ,BOOL)
FreeImage_JPEGTransformCombined(constchar*,constchar* ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)8__Globals.FreeImage_JPEGTransformCombined(constchar*,constchar* ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)
FreeImage_JPEGTransformCombinedU(constwchar_t*,constwchar_t* ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)8__Globals.FreeImage_JPEGTransformCombinedU(constwchar_t*,constwchar_t* ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)
FreeImage_JPEGTransformCombinedFromMemory(FIMEMORY*,FIMEMORY* ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)8__Globals.FreeImage_JPEGTransformCombinedFromMemory(FIMEMORY* ,FIMEMORY*,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)
horizontalFilter(FIBITMAP*const,constunsignedint,constunsignedint ,constunsignedint,constunsignedint,constRGBQUAD*const,FIBITMAP*const ,constunsignedint)8CResizeEngine.horizontalFilter(FIBITMAP*const,constunsignedint ,constunsignedint,constunsignedint,constunsignedint,constRGBQUAD*const ,FIBITMAP*const,constunsignedint)
verticalFilter(FIBITMAP*const,constunsignedint,constunsignedint ,constunsignedint,constunsignedint,constRGBQUAD*const,FIBITMAP*const ,constunsignedint)8CResizeEngine.verticalFilter(FIBITMAP*const,constunsignedint ,constunsignedint,constunsignedint,constunsignedint,constRGBQUAD*const ,FIBITMAP*const,constunsignedint)
assign_varying_locations(structgl_context*,void* ,structgl_shader_program*,gl_shader*,gl_shader*,unsignedint ,tfeedback_decl*,unsignedint)8__Globals.assign_varying_locations(structgl_context*,void* ,structgl_shader_program*,gl_shader*,gl_shader*,unsignedint ,tfeedback_decl*,unsignedint)
prepare_array(exec_list*,classir_variable**,int,unsignedint,constchar* ,constchar*,unsignedint,unsignedint)8anonymous_namespace{opt_dead_builtin_varyings.cpp} .replace_varyings_visitor.prepare_array(exec_list*,classir_variable** ,int,unsignedint,constchar*,constchar*,unsignedint,unsignedint)
TestFile(glslopt_ctx*,bool,conststd::string&,conststd::string& ,conststd::string&,conststd::string&,bool,bool)8__Globals.TestFile(glslopt_ctx*,bool,conststd::string& ,conststd::string&,conststd::string&,conststd::string&,bool,bool)
emitSingleInputVariable(EShLanguage,ETargetVersion,conststd::string& ,conststd::string&,EGlslSymbolType,TPrecision,std::stringstream& ,std::stringstream&)8__Globals.emitSingleInputVariable(EShLanguage,ETargetVersion ,conststd::string&,conststd::string&,EGlslSymbolType,TPrecision ,std::stringstream&,std::stringstream&)
StructMember(conststd::string&,conststd::string&,EGlslSymbolType ,EGlslQualifier,TPrecision,int,GlslStruct*,conststd::string&)8StructMember.StructMember(conststd::string&,conststd::string& ,EGlslSymbolType,EGlslQualifier,TPrecision,int,GlslStruct* ,conststd::string&)
emitInputNonStructParam(GlslSymbol*,EShLanguage,bool,EAttribSemantic ,std::stringstream&,std::stringstream&,std::stringstream& ,std::stringstream&)8HlslLinker.emitInputNonStructParam(GlslSymbol*,EShLanguage,bool ,EAttribSemantic,std::stringstream&,std::stringstream& ,std::stringstream&,std::stringstream&)
emitOutputNonStructParam(GlslSymbol*,EShLanguage,bool,EAttribSemantic ,std::stringstream&,std::stringstream&,std::stringstream& ,std::stringstream&)8HlslLinker.emitOutputNonStructParam(GlslSymbol*,EShLanguage,bool ,EAttribSemantic,std::stringstream&,std::stringstream& ,std::stringstream&,std::stringstream&)
emitOutputStructParam(GlslSymbol*,EShLanguage,bool,EAttribSemantic ,std::stringstream&,std::stringstream&,std::stringstream& ,std::stringstream&)8HlslLinker.emitOutputStructParam(GlslSymbol*,EShLanguage,bool ,EAttribSemantic,std::stringstream&,std::stringstream& ,std::stringstream&,std::stringstream&)
_setCommonProperties(DIEFFECT*,DWORD*,LONG*,DIENVELOPE*,DWORD,LPVOID ,constOIS::Effect*,constOIS::Envelope*)8OIS.Win32ForceFeedback._setCommonProperties(DIEFFECT*,DWORD*,LONG* ,DIENVELOPE*,DWORD,LPVOID,constOIS::Effect*,constOIS::Envelope*)
mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)7__Globals.mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)
BZ2_bzWriteClose64(int*,BZFILE*,int,unsignedint*,unsignedint* ,unsignedint*,unsignedint*)7__Globals.BZ2_bzWriteClose64(int*,BZFILE*,int,unsignedint* ,unsignedint*,unsignedint*,unsignedint*)
BZ2_bzBuffToBuffCompress(char*,unsignedint*,char*,unsignedint,int,int ,int)7__Globals.BZ2_bzBuffToBuffCompress(char*,unsignedint*,char* ,unsignedint,int,int,int)
BZ2_hbCreateDecodeTables(Int32*,Int32*,Int32*,UChar*,Int32,Int32,Int32 )7__Globals.BZ2_hbCreateDecodeTables(Int32*,Int32*,Int32*,UChar*,Int32 ,Int32,Int32)
FreeImage_AllocateT(FREE_IMAGE_TYPE,int,int,int,unsignedint ,unsignedint,unsignedint)7__Globals.FreeImage_AllocateT(FREE_IMAGE_TYPE,int,int,int,unsignedint ,unsignedint,unsignedint)
FreeImage_AllocateHeader(BOOL,int,int,int,unsignedint,unsignedint ,unsignedint)7__Globals.FreeImage_AllocateHeader(BOOL,int,int,int,unsignedint ,unsignedint,unsignedint)
LoadDXT(int,DDSURFACEDESC2&,FreeImageIO*,fi_handle,int,int,void*)7__Globals.LoadDXT(int,DDSURFACEDESC2&,FreeImageIO*,fi_handle,int,int ,void*)
readline(FreeImageIO&,fi_handle,BYTE*,unsignedint,BOOL,BYTE*,int*)7__Globals.readline(FreeImageIO&,fi_handle,BYTE*,unsignedint,BOOL,BYTE* ,int*)
loadTrueColor(FIBITMAP*,int,int,int,FreeImageIO*,fi_handle,BOOL)7__Globals.loadTrueColor(FIBITMAP*,int,int,int,FreeImageIO*,fi_handle ,BOOL)
loadRLE<bPP>(FIBITMAP*,int,int,FreeImageIO*,fi_handle,long,BOOL)7__Globals.loadRLE<bPP>(FIBITMAP*,int,int,FreeImageIO*,fi_handle,long ,BOOL)
FreeImage_EnlargeCanvas(FIBITMAP*,int,int,int,int,constvoid*,int)7__Globals.FreeImage_EnlargeCanvas(FIBITMAP*,int,int,int,int,constvoid* ,int)
FreeImage_RotateEx(FIBITMAP*,double,double,double,double,double,BOOL)7__Globals.FreeImage_RotateEx(FIBITMAP*,double,double,double,double ,double,BOOL)
getCropString(char*,int*,int*,int*,int*,int,int)7__Globals.getCropString(char*,int*,int*,int*,int*,int,int)
Hist3D(LONG*,LONG*,LONG*,LONG*,float*,int,RGBQUAD*)7WuQuantizer.Hist3D(LONG*,LONG*,LONG*,LONG*,float*,int,RGBQUAD*)
scale(FIBITMAP*,unsignedint,unsignedint,unsignedint,unsignedint ,unsignedint,unsignedint)7CResizeEngine.scale(FIBITMAP*,unsignedint,unsignedint,unsignedint ,unsignedint,unsignedint,unsignedint)
fix_parameter(void*,ir_rvalue*,constglsl_type*,exec_list*,exec_list* ,bool,glsl_precision)7__Globals.fix_parameter(void*,ir_rvalue*,constglsl_type*,exec_list* ,exec_list*,bool,glsl_precision)
assign_to_matrix_column(ir_variable*,unsignedint,unsignedint ,ir_rvalue*,unsignedint,unsignedint,void*)7__Globals.assign_to_matrix_column(ir_variable*,unsignedint,unsignedint ,ir_rvalue*,unsignedint,unsignedint,void*)
do_assignment(exec_list*,struct_mesa_glsl_parse_state*,constchar* ,ir_rvalue*,ir_rvalue*,bool,YYLTYPE)7__Globals.do_assignment(exec_list*,struct_mesa_glsl_parse_state* ,constchar*,ir_rvalue*,ir_rvalue*,bool,YYLTYPE)
glsl_type(GLenum,glsl_base_type,enumglsl_sampler_dim,bool,bool ,unsignedint,constchar*)7glsl_type.glsl_type(GLenum,glsl_base_type,enumglsl_sampler_dim,bool ,bool,unsignedint,constchar*)
lower_arraylike(ir_rvalue*,unsignedint,unsignedint,ir_variable* ,constchar*,bool,unsignedint)7anonymous_namespace{lower_packed_varyings.cpp} .lower_packed_varyings_visitor.lower_arraylike(ir_rvalue*,unsignedint ,unsignedint,ir_variable*,constchar*,bool,unsignedint)
TType(TBasicType,TPrecision,TQualifier,int,int,bool,bool)7TType.TType(TBasicType,TPrecision,TQualifier,int,int,bool,bool)
executeInitializer(TSourceLoc,TString&,constTTypeInfo*,TPublicType& ,TIntermTyped*&,TIntermSymbol*&,TVariable*)7TParseContext.executeInitializer(TSourceLoc,TString&,constTTypeInfo* ,TPublicType&,TIntermTyped*&,TIntermSymbol*&,TVariable*)
GlslSymbolOrStructMemberBase(conststd::string&,conststd::string& ,EGlslSymbolType,EGlslQualifier,TPrecision,int,conststd::string&)7GlslSymbolOrStructMemberBase.GlslSymbolOrStructMemberBase (conststd::string&,conststd::string&,EGlslSymbolType,EGlslQualifier ,TPrecision,int,conststd::string&)
GlslSymbol(conststd::string&,conststd::string&,int,EGlslSymbolType ,TPrecision,EGlslQualifier,int)7GlslSymbol.GlslSymbol(conststd::string&,conststd::string&,int ,EGlslSymbolType,TPrecision,EGlslQualifier,int)
buildFunctionLists(HlslCrossCompiler*,EShLanguage,conststd::string& ,GlslFunction*&,std::vector<GlslFunction*>&,FunctionSet& ,GlslFunction*&)7HlslLinker.buildFunctionLists(HlslCrossCompiler*,EShLanguage ,conststd::string&,GlslFunction*&,std::vector<GlslFunction*>& ,FunctionSet&,GlslFunction*&)
emitMainStart(constHlslCrossCompiler*,constEGlslSymbolType ,GlslFunction*,unsignedint,bool,std::stringstream&,conststd::vector <GlslSymbol*>&)7HlslLinker.emitMainStart(constHlslCrossCompiler*,constEGlslSymbolType ,GlslFunction*,unsignedint,bool,std::stringstream&,conststd::vector <GlslSymbol*>&)
TGlslOutputTraverser(TInfoSink&,std::vector<GlslFunction*>& ,std::vector<GlslStruct*>&,std::stringstream&,std::stringstream& ,ETargetVersion,unsignedint)7TGlslOutputTraverser.TGlslOutputTraverser(TInfoSink&,std::vector <GlslFunction*>&,std::vector<GlslStruct*>&,std::stringstream& ,std::stringstream&,ETargetVersion,unsignedint)
mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)6__Globals.mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)
BZ2_bzReadOpen(int*,FILE*,int,int,void*,int)6__Globals.BZ2_bzReadOpen(int*,FILE*,int,int,void*,int)
BZ2_bzBuffToBuffDecompress(char*,unsignedint*,char*,unsignedint,int ,int)6__Globals.BZ2_bzBuffToBuffDecompress(char*,unsignedint*,char* ,unsignedint,int,int)
FreeImage_Allocate(int,int,int,unsignedint,unsignedint,unsignedint)6__Globals.FreeImage_Allocate(int,int,int,unsignedint,unsignedint ,unsignedint)
mng_CopyInsertChunks(FIMEMORY*,BYTE*,BYTE*,DWORD,DWORD,DWORD)6__Globals.mng_CopyInsertChunks(FIMEMORY*,BYTE*,BYTE*,DWORD,DWORD,DWORD )
mng_WritePNGStream(DWORD,DWORD,BYTE,BYTE*,DWORD,FIMEMORY*)6__Globals.mng_WritePNGStream(DWORD,DWORD,BYTE,BYTE*,DWORD,FIMEMORY*)
LoadPixelData(FreeImageIO*,fi_handle,FIBITMAP*,int,unsignedint ,unsignedint)6__Globals.LoadPixelData(FreeImageIO*,fi_handle,FIBITMAP*,int ,unsignedint,unsignedint)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
LoadRGB(DDSURFACEDESC2&,FreeImageIO*,fi_handle,int,int,void*)6__Globals.LoadRGB(DDSURFACEDESC2&,FreeImageIO*,fi_handle,int,int,void* )
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
copyFaxFile(FreeImageIO*,fi_handle,TIFF*,uint32,int,FIMEMORY*)6__Globals.copyFaxFile(FreeImageIO*,fi_handle,TIFF*,uint32,int ,FIMEMORY*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
YUV2RGB(int,int,int,int&,int&,int&)6__Globals.YUV2RGB(int,int,int,int&,int&,int&)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
UnpackPictRow(FreeImageIO*,fi_handle,BYTE*,int,int,int)6__Globals.UnpackPictRow(FreeImageIO*,fi_handle,BYTE*,int,int,int)
Unpack32Bits(FreeImageIO*,fi_handle,FIBITMAP*,MacRect*,WORD,int)6__Globals.Unpack32Bits(FreeImageIO*,fi_handle,FIBITMAP*,MacRect*,WORD ,int)
UnpackBits(FreeImageIO*,fi_handle,FIBITMAP*,MacRect*,WORD,int)6__Globals.UnpackBits(FreeImageIO*,fi_handle,FIBITMAP*,MacRect*,WORD ,int)
DecodeBitmap(FreeImageIO*,fi_handle,FIBITMAP*,BOOL,MacRect*,WORD)6__Globals.DecodeBitmap(FreeImageIO*,fi_handle,FIBITMAP*,BOOL,MacRect* ,WORD)
DecodePixmap(FreeImageIO*,fi_handle,FIBITMAP*,BOOL,MacpixMap*,WORD)6__Globals.DecodePixmap(FreeImageIO*,fi_handle,FIBITMAP*,BOOL ,MacpixMap*,WORD)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
flushPacket(BYTE*&,unsignedint,BYTE*,BYTE*&,BYTE&,BOOL&)6__Globals.flushPacket(BYTE*&,unsignedint,BYTE*,BYTE*&,BYTE&,BOOL&)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
CreateImageType(BOOL,FREE_IMAGE_TYPE,int,int,uint16,uint16)6__Globals.CreateImageType(BOOL,FREE_IMAGE_TYPE,int,int,uint16,uint16)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)6__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
CIELabToXYZ(float,float,float,float*,float*,float*)6__Globals.CIELabToXYZ(float,float,float,float*,float*,float*)
XYZToRGB(float,float,float,float*,float*,float*)6__Globals.XYZToRGB(float,float,float,float*,float*,float*)
FreeImage_ConvertLine1To32MapTransparency(BYTE*,BYTE*,int,RGBQUAD* ,BYTE*,int)6__Globals.FreeImage_ConvertLine1To32MapTransparency(BYTE*,BYTE*,int ,RGBQUAD*,BYTE*,int)
FreeImage_ConvertLine4To32MapTransparency(BYTE*,BYTE*,int,RGBQUAD* ,BYTE*,int)6__Globals.FreeImage_ConvertLine4To32MapTransparency(BYTE*,BYTE*,int ,RGBQUAD*,BYTE*,int)
FreeImage_ConvertLine8To32MapTransparency(BYTE*,BYTE*,int,RGBQUAD* ,BYTE*,int)6__Globals.FreeImage_ConvertLine8To32MapTransparency(BYTE*,BYTE*,int ,RGBQUAD*,BYTE*,int)
ToneMappingReinhard05(FIBITMAP*,FIBITMAP*,float,float,float,float)6__Globals.ToneMappingReinhard05(FIBITMAP*,FIBITMAP*,float,float,float ,float)
FreeImage_OpenMultiBitmap(FREE_IMAGE_FORMAT,constchar*,BOOL,BOOL,BOOL ,int)6__Globals.FreeImage_OpenMultiBitmap(FREE_IMAGE_FORMAT,constchar*,BOOL ,BOOL,BOOL,int)

Statistics

Stat   # Parameters
Sum:912
Average:6.81
Minimum:6
Maximum:11
Standard deviation:1.12
Variance:1.25
warningCritical    Rule warning: Methods with too many local variables
// <Name>Methods with too many local variables</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbVariables > 15 
  
orderby m.NbVariables descending
select new { m, m.NbVariables }

// Methods where NbVariables > 8 are hard to understand and maintain.
// Methods where NbVariables > 15 are extremely complex 
// and should be split in smaller methods.
// See the definition of the Nbvariables metric here 
// http://www.cppdepend.com/Metrics.aspx#Nbvariables

126 methods matched

methods# VariablesFull Name
verticalFilter(FIBITMAP*const,constunsignedint,constunsignedint ,constunsignedint,constunsignedint,constRGBQUAD*const,FIBITMAP*const ,constunsignedint)261CResizeEngine.verticalFilter(FIBITMAP*const,constunsignedint ,constunsignedint,constunsignedint,constunsignedint,constRGBQUAD*const ,FIBITMAP*const,constunsignedint)
horizontalFilter(FIBITMAP*const,constunsignedint,constunsignedint ,constunsignedint,constunsignedint,constRGBQUAD*const,FIBITMAP*const ,constunsignedint)227CResizeEngine.horizontalFilter(FIBITMAP*const,constunsignedint ,constunsignedint,constunsignedint,constunsignedint,constRGBQUAD*const ,FIBITMAP*const,constunsignedint)
yyparse(TParseContext&)166__Globals.yyparse(TParseContext&)
Load(FreeImageIO*,fi_handle,int,int,void*)153__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
_mesa_glsl_parse(struct_mesa_glsl_parse_state*)147__Globals._mesa_glsl_parse(struct_mesa_glsl_parse_state*)
constant_expression_value(structhash_table*)138ir_expression.constant_expression_value(structhash_table*)
BZ2_decompress(DState*)85__Globals.BZ2_decompress(DState*)
Load(FreeImageIO*,fi_handle,int,int,void*)63__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
J2KImageToFIBITMAP(int,constopj_image_t*,BOOL)55__Globals.J2KImageToFIBITMAP(int,constopj_image_t*,BOOL)
Load(FreeImageIO*,fi_handle,int,int,void*)54__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
ConvertExifTag(FITAG*)54__Globals.ConvertExifTag(FITAG*)
emit_inline_matrix_constructor(constglsl_type*,int,exec_list* ,exec_list*,void*)53__Globals.emit_inline_matrix_constructor(constglsl_type*,int ,exec_list*,exec_list*,void*)
mng_ReadChunks(int,FreeImageIO*,fi_handle,long,int)51__Globals.mng_ReadChunks(int,FreeImageIO*,fi_handle,long,int)
Load(FreeImageIO*,fi_handle,int,int,void*)51__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
FreeImage_ConvertToRGBF(FIBITMAP*)47__Globals.FreeImage_ConvertToRGBF(FIBITMAP*)
Load(FreeImageIO*,fi_handle,int,int,void*)46__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
ReadImageData(FreeImageIO*,fi_handle)44psdParser.ReadImageData(FreeImageIO*,fi_handle)
hir(exec_list*,struct_mesa_glsl_parse_state*)43ast_expression.hir(exec_list*,struct_mesa_glsl_parse_state*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)40__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)40__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
traverseBinary(bool,TIntermBinary*,TIntermTraverser*)40TGlslOutputTraverser.traverseBinary(bool,TIntermBinary* ,TIntermTraverser*)
Load(FreeImageIO*,fi_handle,int,int,void*)39__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
SaveOneTIFF(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*,unsignedint ,unsignedint)39__Globals.SaveOneTIFF(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void* ,unsignedint,unsignedint)
Rotate270(FIBITMAP*)39__Globals.Rotate270(FIBITMAP*)
FreeImage_ApplyColorMapping(FIBITMAP*,RGBQUAD*,RGBQUAD*,unsignedint ,BOOL,BOOL)39__Globals.FreeImage_ApplyColorMapping(FIBITMAP*,RGBQUAD*,RGBQUAD* ,unsignedint,BOOL,BOOL)
sendMTFValues(EState*)38__Globals.sendMTFValues(EState*)
Rotate90(FIBITMAP*)38__Globals.Rotate90(FIBITMAP*)
jpeg_read_exif_dir(FIBITMAP*,constBYTE*,unsignedlong,unsignedint,BOOL ,TagLib::MDMODEL)37__Globals.jpeg_read_exif_dir(FIBITMAP*,constBYTE*,unsignedlong ,unsignedint,BOOL,TagLib::MDMODEL)
SaveStandardIcon(FreeImageIO*,FIBITMAP*,fi_handle)34__Globals.SaveStandardIcon(FreeImageIO*,FIBITMAP*,fi_handle)
Load(FreeImageIO*,fi_handle,int,int,void*)33__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
FreeImage_ConvertToFloat(FIBITMAP*)33__Globals.FreeImage_ConvertToFloat(FIBITMAP*)
glcpp_parser_parse(glcpp_parser_t*)33__Globals.glcpp_parser_parse(glcpp_parser_t*)
FreeImage_ConvertTo32Bits(FIBITMAP*)32__Globals.FreeImage_ConvertTo32Bits(FIBITMAP*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)31__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
FreeImage_GetChannel(FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)31__Globals.FreeImage_GetChannel(FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)
link_shaders(structgl_context*,structgl_shader_program*)31__Globals.link_shaders(structgl_context*,structgl_shader_program*)
mng_WriteJNG(int,FreeImageIO*,FIBITMAP*,fi_handle,int)30__Globals.mng_WriteJNG(int,FreeImageIO*,FIBITMAP*,fi_handle,int)
FreeImage_SetChannel(FIBITMAP*,FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL)30__Globals.FreeImage_SetChannel(FIBITMAP*,FIBITMAP* ,FREE_IMAGE_COLOR_CHANNEL)
Load(FreeImageIO*,fi_handle,int,int,void*)29__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
ToneMappingReinhard05(FIBITMAP*,FIBITMAP*,float,float,float,float)29__Globals.ToneMappingReinhard05(FIBITMAP*,FIBITMAP*,float,float,float ,float)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)28__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
FreeImage_ConvertTo24Bits(FIBITMAP*)28__Globals.FreeImage_ConvertTo24Bits(FIBITMAP*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)27__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)27__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
FreeImage_Copy(FIBITMAP*,int,int,int,int)27__Globals.FreeImage_Copy(FIBITMAP*,int,int,int,int)
emit_inline_vector_constructor(constglsl_type*,unsignedint,exec_list* ,exec_list*,void*)27__Globals.emit_inline_vector_constructor(constglsl_type*,unsignedint ,exec_list*,exec_list*,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)26__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
hir(exec_list*,struct_mesa_glsl_parse_state*)26ast_function_expression.hir(exec_list*,struct_mesa_glsl_parse_state*)
hir(exec_list*,struct_mesa_glsl_parse_state*)26ast_interface_block.hir(exec_list*,struct_mesa_glsl_parse_state*)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)25__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
lower_rvalue(ir_rvalue*,unsignedint,ir_variable*,constchar*,bool ,unsignedint)25anonymous_namespace{lower_packed_varyings.cpp} .lower_packed_varyings_visitor.lower_rvalue(ir_rvalue*,unsignedint ,ir_variable*,constchar*,bool,unsignedint)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)24__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
main(int,constchar**)24__Globals.main(int,constchar**)
FreeImage_Clone(FIBITMAP*)23__Globals.FreeImage_Clone(FIBITMAP*)
Load(FreeImageIO*,fi_handle,int,int,void*)23__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Load(FreeImageIO*,fi_handle,int,int,void*)23__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
FillBackgroundBitmap(FIBITMAP*,constRGBQUAD*,int)23__Globals.FillBackgroundBitmap(FIBITMAP*,constRGBQUAD*,int)
Rotate8Bit(FIBITMAP*,double,double,double,double,double,long,BOOL)23__Globals.Rotate8Bit(FIBITMAP*,double,double,double,double,double,long ,BOOL)
Rotate45(FIBITMAP*,double,constvoid*)23__Globals.Rotate45(FIBITMAP*,double,constvoid*)
FreeImage_Composite(FIBITMAP*,BOOL,RGBQUAD*,FIBITMAP*)23__Globals.FreeImage_Composite(FIBITMAP*,BOOL,RGBQUAD*,FIBITMAP*)
link(HlslCrossCompiler*,constchar*,ETargetVersion,unsignedint)23HlslLinker.link(HlslCrossCompiler*,constchar*,ETargetVersion ,unsignedint)
Load(FreeImageIO*,fi_handle,int,int,void*)22__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
FreeImage_ConvertTo8Bits(FIBITMAP*)22__Globals.FreeImage_ConvertTo8Bits(FIBITMAP*)
Divergence(FIBITMAP*,FIBITMAP*)22__Globals.Divergence(FIBITMAP*,FIBITMAP*)
FreeImage_FlipHorizontal(FIBITMAP*)22__Globals.FreeImage_FlipHorizontal(FIBITMAP*)
link_intrastage_shaders(void*,structgl_context* ,structgl_shader_program*,structgl_shader**,unsignedint)22__Globals.link_intrastage_shaders(void*,structgl_context* ,structgl_shader_program*,structgl_shader**,unsignedint)
hir(exec_list*,struct_mesa_glsl_parse_state*)22ast_declarator_list.hir(exec_list*,struct_mesa_glsl_parse_state*)
_inverse_mat4()22anonymous_namespace{builtin_functions.cpp}.builtin_builder ._inverse_mat4()
visit(ir_if*)22anonymous_namespace{lower_jumps.cpp}.ir_lower_jumps_visitor.visit (ir_if*)
mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)21__Globals.mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)
DecodeImage(WebPData*,int)21__Globals.DecodeImage(WebPData*,int)
FreeImage_ConvertToGreyscale(FIBITMAP*)21__Globals.FreeImage_ConvertToGreyscale(FIBITMAP*)
ConvertAnyTag(FITAG*)21__Globals.ConvertAnyTag(FITAG*)
JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO*,fi_handle ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)21__Globals.JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO* ,fi_handle,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)
_determinant_mat4()21anonymous_namespace{builtin_functions.cpp}.builtin_builder ._determinant_mat4()
handle_rvalue(ir_rvalue**)21anonymous_namespace{lower_ubo_reference.cpp} .lower_ubo_reference_visitor.handle_rvalue(ir_rvalue**)
Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)20__Globals.Save(FreeImageIO*,FIBITMAP*,fi_handle,int,int,void*)
FreeImage_TmoFattal02(FIBITMAP*,double,double)20__Globals.FreeImage_TmoFattal02(FIBITMAP*,double,double)
tiff_read_exif_tag(TIFF*,TagLib::MDMODEL,FIBITMAP*,TagLib& ,TIFFDirectory*,uint32)20__Globals.tiff_read_exif_tag(TIFF*,TagLib::MDMODEL,FIBITMAP*,TagLib& ,TIFFDirectory*,uint32)
VerticalSkewT<T>(FIBITMAP*,FIBITMAP*,int,int,double,constvoid*)20__Globals.VerticalSkewT<T>(FIBITMAP*,FIBITMAP*,int,int,double ,constvoid*)
FreeImage_ApplyPaletteIndexMapping(FIBITMAP*,BYTE*,BYTE*,unsignedint ,BOOL)20__Globals.FreeImage_ApplyPaletteIndexMapping(FIBITMAP*,BYTE*,BYTE* ,unsignedint,BOOL)
yysyntax_error(char*,int,int)20__Globals.yysyntax_error(char*,int,int)
assign_attribute_or_color_locations(gl_shader_program*,unsignedint ,unsignedint)20__Globals.assign_attribute_or_color_locations(gl_shader_program* ,unsignedint,unsignedint)
yysyntax_error(char*,int,int)20__Globals.yysyntax_error(char*,int,int)
traverseAggregate(bool,TIntermAggregate*,TIntermTraverser*)20TSamplerTraverser.traverseAggregate(bool,TIntermAggregate* ,TIntermTraverser*)
FreeImage_EnlargeCanvas(FIBITMAP*,int,int,int,int,constvoid*,int)19__Globals.FreeImage_EnlargeCanvas(FIBITMAP*,int,int,int,int,constvoid* ,int)
fmg_restrict(FIBITMAP*,FIBITMAP*,int)19__Globals.fmg_restrict(FIBITMAP*,FIBITMAP*,int)
fmg_residual(FIBITMAP*,FIBITMAP*,FIBITMAP*,int)19__Globals.fmg_residual(FIBITMAP*,FIBITMAP*,FIBITMAP*,int)
hir(exec_list*,struct_mesa_glsl_parse_state*)19ast_function.hir(exec_list*,struct_mesa_glsl_parse_state*)
handle_expression(ir_expression*)19anonymous_namespace{opt_algebraic.cpp}.ir_algebraic_visitor .handle_expression(ir_expression*)
FIBITMAPToJ2KImage(int,FIBITMAP*,constopj_cparameters_t*)18__Globals.FIBITMAPToJ2KImage(int,FIBITMAP*,constopj_cparameters_t*)
Load(FreeImageIO*,fi_handle,int,int,void*)18__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
loadRLE<bPP>(FIBITMAP*,int,int,FreeImageIO*,fi_handle,long,BOOL)18__Globals.loadRLE<bPP>(FIBITMAP*,int,int,FreeImageIO*,fi_handle,long ,BOOL)
FreeImage_ConvertToRGB16(FIBITMAP*)18__Globals.FreeImage_ConvertToRGB16(FIBITMAP*)
PhiMatrix(FIBITMAP**,float*,int,float,float)18__Globals.PhiMatrix(FIBITMAP**,float*,int,float,float)
read_iptc_profile(FIBITMAP*,constBYTE*,unsignedint)18__Globals.read_iptc_profile(FIBITMAP*,constBYTE*,unsignedint)
Rotate180(FIBITMAP*)18__Globals.Rotate180(FIBITMAP*)
convert(FIBITMAP*,BOOL)18CONVERT_TO_BYTE<Tsrc>.convert(FIBITMAP*,BOOL)
generate_inline(ir_instruction*)18ir_call.generate_inline(ir_instruction*)

Statistics

Stat   # Variables
Sum:4 254
Average:33.76
Minimum:16
Maximum:261
Standard deviation:36.46
Variance:1 329
warningCritical    Rule warning: Methods with too many overloads
// <Name>Methods with too many overloads</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbOverloads > 6 && 
  
!m.IsOperator // Don't report operator overload
  orderby m.NbOverloads descending
select new { m, m.NbOverloads }

// Methods where NbOverloads > 6 might 
// be a problem to maintain and provoke higher coupling 
// than necessary. 
// This might also reveal a potential misused of the 
// C# and VB.NET language that since C#3 and VB9 support 
// object initialization. This feature helps reducing the number 
// of constructors of a class.
// See the definition of the NbOverloads metric here 
// http://www.cppdepend.com/Metrics.aspx#NbOverloads

532 methods matched

methods# OverloadsFull Name
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()
SupportsExportDepth(int)31__Globals.SupportsExportDepth(int)
Load(FreeImageIO*,fi_handle,int,int,void*)31__Globals.Load(FreeImageIO*,fi_handle,int,int,void*)
Format()31__Globals.Format()
Description()31__Globals.Description()
Extension()31__Globals.Extension()
MimeType()31__Globals.MimeType()

Statistics

Stat   # Overloads
Sum:11 892
Average:22.35
Minimum:7
Maximum:31
Standard deviation:9.16
Variance:83.99
warningCritical    Rule warning: Types with too many methods
// <Name>Types with too many methods</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.Methods.Count() > 20 && !t.IsGlobal
  
orderby t.Methods.Count() descending
select new { t, t.InstanceMethods, t.StaticMethods }

// Types where Methods.Count() > 20 might be hard to 
// understand and maintain 
// but there might be cases where it is relevant 
// to have a high number of methods. 
// For example, the System.Windows.Forms.DataGridView 
// standard class has more than 1000 methods.

18 types matched

typesInstanceMethodsStaticMethodsFull Name
builtin_builder144 methods0 methodanonymous_namespace{builtin_functions.cpp}.builtin_builder
TType52 methods9 methodsTType
glsl_type40 methods12 methodsglsl_type
TParseContext47 methods0 methodTParseContext
ir_hierarchical_visitor39 methods0 methodir_hierarchical_visitor
GlslFunction38 methods0 methodGlslFunction
ir_print_glsl_visitor32 methods0 methodir_print_glsl_visitor
HlslLinker31 methods0 methodHlslLinker
ir_print_visitor26 methods0 methodir_print_visitor
lower_packing_builtins_visitor26 methods0 methodanonymous_namespace{lower_packing_builtins.cpp} .lower_packing_builtins_visitor
ir_instruction25 methods0 methodir_instruction
ir_visitor24 methods0 methodir_visitor
TInfoSinkBase24 methods0 methodTInfoSinkBase
ir_constant22 methods1 methodir_constant
TSymbol14 methods8 methodsTSymbol
ir_lower_jumps_visitor21 methods0 methodanonymous_namespace{lower_jumps.cpp}.ir_lower_jumps_visitor
TIntermNode13 methods8 methodsTIntermNode
GlslSymbol21 methods0 methodGlslSymbol

Statistics

Stat   InstanceMethods   StaticMethods
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with too many fields
// <Name>Types with too many fields</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.Fields.Count() > 20 && 
  
!t.IsEnumeration && !t.IsGlobal
  
orderby t.Fields.Count() descending
select new { t, t.InstanceFields, t.StaticFields}

// Types where Fields.Count() > 20 and not IsEnumeration 
// might be hard to understand and maintain 
// but there might be cases where it is relevant 
// to have a high number of fields. 
// For example, the System.Windows.Forms.Control 
// standard class has more than 200 fields.

24 types matched

typesInstanceFieldsStaticFieldsFull Name
glsl_type12 fields224 fieldsglsl_type
gl_extensions146 fields0 fieldgl_extensions
_mesa_glsl_parse_state110 fields0 field_mesa_glsl_parse_state
gl_constants95 fields0 fieldgl_constants
DState64 fields0 fieldDState
EState39 fields0 fieldEState
ast_type_qualifier+Anonymous+Anonymous37 fields0 fieldast_type_qualifier+Anonymous+Anonymous
ast_type_qualifier+Anonymous+Anonymous37 fields0 fieldast_type_qualifier+Anonymous+Anonymous
ast_type_qualifier+Anonymous+Anonymous37 fields0 fieldast_type_qualifier+Anonymous+Anonymous
ast_type_qualifier+Anonymous+Anonymous37 fields0 fieldast_type_qualifier+Anonymous+Anonymous
gl_shader_program35 fields0 fieldgl_shader_program
_mesa_glsl_parse_state+Anonymous35 fields0 field_mesa_glsl_parse_state+Anonymous
_mesa_glsl_parse_state+Anonymous35 fields0 field_mesa_glsl_parse_state+Anonymous
gl_shader31 fields0 fieldgl_shader
gl_program_constants28 fields0 fieldgl_program_constants
ir_variable+ir_variable_data27 fields0 fieldir_variable+ir_variable_data
_TIFFRGBAImage25 fields0 field_TIFFRGBAImage
yyguts_t25 fields0 fieldyyguts_t
glcpp_parser25 fields0 fieldglcpp_parser
yyguts_t25 fields0 fieldyyguts_t
gl_program24 fields0 fieldgl_program
YYSTYPE24 fields0 fieldYYSTYPE
YYSTYPE24 fields0 fieldYYSTYPE
StringTable21 fields0 fieldStringTable

Statistics

Stat   InstanceFields   StaticFields
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with poor cohesion
// <Name>Types with poor cohesion</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
(t.LCOM > 0.8 || t.LCOMHS > 0.95) && 
  
t.NbFields > 10 && 
  
t.NbMethods >10 && !t.IsGlobal
  
orderby t.LCOM descending, t.LCOMHS descending
select new { t, t.LCOM, t.LCOMHS, 
                
t.NbMethods, t.NbFields }

// Types where LCOM > 0.8 and NbFields > 10 
// and NbMethods >10 might be problematic. 
// However, it is very hard to avoid such 
// non-cohesive types. The LCOMHS metric
// is often considered as more efficient to 
// detect non-cohesive types.
// See the definition of the LCOM metric here 
// http://www.cppdepend.com/Metrics.aspx#LCOM

7 types matched

typesLack of Cohesion Of Methods (LCOM)LCOM Henderson-Sellers (LCOMHS)# Methods# FieldsFull Name
_mesa_glsl_parse_state0.961.0416110_mesa_glsl_parse_state
TParseContext0.960.985015TParseContext
GlslFunction0.910.944016GlslFunction
TType0.870.886617TType
ast_type_qualifier0.840.941511ast_type_qualifier
builtin_variable_generator0.80.852114anonymous_namespace{builtin_variables.cpp}.builtin_variable_generator
Effect0.80.91111OIS.Effect

Statistics

Stat   Lack of Cohesion Of Methods (LCOM)   LCOM Henderson-Sellers (LCOMHS)   # Methods   # Fields
Sum:6.146.53219194
Average:0.880.9331.2927.71
Minimum:0.80.851111
Maximum:0.961.0466110
Standard deviation:0.0640.0619.4533.66
Variance:0.00410.0037378.21 133

150
Object Oriented Design  

warningCritical    Rule warning: Base class should not use derivatives
// <Name>Base class should not use derivatives</Name>
warnif count > 0 
from baseClass in JustMyCode.Types
where baseClass.IsClass && baseClass.NbChildren > 0 // <-- for optimization!
let derivedClassesUsed = baseClass.DerivedTypes.UsedBy(baseClass)
where derivedClassesUsed.Count() > 0
select new { baseClass, derivedClassesUsed }

4 types matched

typesderivedClassesUsedFull Name
ir_instruction18 typesir_instruction
ir_rvalue2 typesir_rvalue
TIntermNode8 typesTIntermNode
InputManager1 typeOIS.InputManager

Statistics

Stat   derivedClassesUsed
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Class shouldn't be too deep in inheritance tree
// <Name>Class shouldn't be too deep in inheritance tree</Name>
warnif count > 0 from t in JustMyCode.Types 
where t.IsClass
let baseClasses = t.BaseClasses.ExceptThirdParty()

// Warn for classes with 3 or more base classes.
// Notice that we don't count third-party classes 
// because this rule concerns your code design,
// not third-party libraries consumed design.
where baseClasses.Count() >= 3

select new { t, baseClasses, 
                
// The metric value DepthOfInheritance takes account
                // of third-party base classes
                t.DepthOfInheritance } 

// Branches too long in the derivation should be avoided.
// See the definition of the DepthOfInheritance metric here 
// http://www.cppdepend.com/Metrics.aspx#DIT

36 types matched

typesbaseClassesDepth of inheritanceFull Name
ir_expression3 types3ir_expression
ir_return3 types3ir_return
ir_loop_jump3 types3ir_loop_jump
ir_discard3 types3ir_discard
ir_texture3 types3ir_texture
ir_swizzle3 types3ir_swizzle
ir_dereference3 types3ir_dereference
ir_dereference_variable4 types4ir_dereference_variable
ir_dereference_array4 types4ir_dereference_array
ir_dereference_record4 types4ir_dereference_record
ir_constant3 types3ir_constant
ir_expression_flattening_visitor3 types3ir_expression_flattening_visitor
lower_noise_visitor3 types3lower_noise_visitor
ir_array_splitting_visitor3 types3ir_array_splitting_visitor
s_int3 types3s_int
s_float3 types3s_float
lower_clip_distance_visitor3 types3anonymous_namespace{lower_clip_distance.cpp} .lower_clip_distance_visitor
flatten_named_interface_blocks_declarations3 types3anonymous_namespace{lower_named_interface_blocks.cpp} .flatten_named_interface_blocks_declarations
lower_packing_builtins_visitor3 types3anonymous_namespace{lower_packing_builtins.cpp} .lower_packing_builtins_visitor
lower_ubo_reference_visitor3 types3anonymous_namespace{lower_ubo_reference.cpp} .lower_ubo_reference_visitor
deref_replacer3 types3anonymous_namespace{lower_variable_index_to_cond_assign.cpp} .deref_replacer
variable_index_to_cond_assign_visitor3 types3anonymous_namespace{lower_variable_index_to_cond_assign.cpp} .variable_index_to_cond_assign_visitor
vector_insert_visitor3 types3anonymous_namespace{lower_vector_insert.cpp}.vector_insert_visitor
lower_vector_visitor3 types3anonymous_namespace{lower_vector.cpp}.lower_vector_visitor
ir_algebraic_visitor3 types3anonymous_namespace{opt_algebraic.cpp}.ir_algebraic_visitor
ir_constant_folding_visitor3 types3anonymous_namespace{opt_constant_folding.cpp} .ir_constant_folding_visitor
ir_constant_propagation_visitor3 types3anonymous_namespace{opt_constant_propagation.cpp} .ir_constant_propagation_visitor
ir_copy_propagation_elements_visitor3 types3anonymous_namespace{opt_copy_propagation_elements.cpp} .ir_copy_propagation_elements_visitor
cse_visitor3 types3anonymous_namespace{opt_cse.cpp}.cse_visitor
contains_rvalue_visitor3 types3anonymous_namespace{opt_cse.cpp}.contains_rvalue_visitor
replace_varyings_visitor3 types3anonymous_namespace{opt_dead_builtin_varyings.cpp} .replace_varyings_visitor
ir_noop_swizzle_visitor3 types3anonymous_namespace{opt_noop_swizzle.cpp}.ir_noop_swizzle_visitor
ir_structure_splitting_visitor3 types3anonymous_namespace{opt_structure_splitting.cpp} .ir_structure_splitting_visitor
TIntermBinary3 types3TIntermBinary
TIntermUnary3 types3TIntermUnary
TIntermAggregate3 types3TIntermAggregate

Statistics

Stat   baseClasses   Depth of inheritance
Sum:0111
Average:03.08
Minimum:03
Maximum:04
Standard deviation:00.28
Variance:00.076
warningCritical    Rule warning: Constructor should not call a virtual methods
// <Name>Constructor should not call a virtual methods</Name>

// Returns constructor of a non-sealed type calling virtual methods.
// In such a situation, if a derived class overrides the method,
// then the override method will be called before the derived constructor.
// This makes the class fragile to derive from.
//
// Violations reported can be solved by re-designing object initialisation
// or by marking the parent class as sealed, if possible.

warnif count > 0
from t in Application.Types where 
   
t.IsClass &&
  
!t.IsGeneratedByCompiler

from ctor in t.Constructors 
let virtualMethodsCalled = from mCalled in ctor.MethodsCalled
                           
where mCalled.IsVirtual &&
                                
(mCalled.ParentType == t ||
                                 
t.DeriveFrom(mCalled.ParentType))
                           
select mCalled
where virtualMethodsCalled.Count() > 0

select new { ctor , 
             
virtualMethodsCalled, 
             
// If there is no derived type, it might be 
             // an opportunity to mark t as sealed.
             t.DerivedTypes }

2 methods matched

methodsvirtualMethodsCalledDerivedTypesFull Name
CWeightsTable(CGenericFilter*,unsignedint,unsignedint)1 method0 typeCWeightsTable.CWeightsTable(CGenericFilter*,unsignedint,unsignedint)
matrix_flipper(exec_list*)1 method0 typeanonymous_namespace{opt_flip_matrices.cpp}.matrix_flipper .matrix_flipper(exec_list*)

Statistics

Stat   virtualMethodsCalled   DerivedTypes
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Don't assign static fields from instance methods
// <Name>Don't assign static fields from instance methods</Name>
// Assigning static fields from instance methods leads to
// poorly maintainable and non thread-safe code.
// It is advised to assign static fields inline or from class constructor.
warnif count > 0
from f in Application.Fields where 
  
f.IsStatic &&
 
!f.IsGeneratedByCompiler && !f.IsGlobal
 
let assignedBy = f.MethodsAssigningMe.Where(m => !m.IsStatic)
where assignedBy .Count() > 0
select new { f, assignedBy }

8 fields matched

fieldsassignedByFull Name
error_type3 methodsglsl_type.error_type
int_type2 methodsglsl_type.int_type
ivec4_type1 methodglsl_type.ivec4_type
vec4_type2 methodsglsl_type.vec4_type
mem_ctx1 methodglsl_type.mem_ctx
array_types1 methodglsl_type.array_types
record_types1 methodglsl_type.record_types
NullSemantic1 methodTParameter.NullSemantic

Statistics

Stat   assignedBy
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid Abstract Classes with too many methods
// <Name>Avoid Abstract Classes with too many methods</Name>
// An abstract class  should abstract a clear and well-defined concept.
// Such concept shoudln't be represented with too many methods and property getter.
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsAbstract
let methodsAndGetters = t.Methods
where methodsAndGetters.Count() > 10
select new { t, methodsAndGetters }

8 types matched

typesmethodsAndGettersFull Name
ir_visitor24 methodsir_visitor
ir_instruction25 methodsir_instruction
ir_rvalue_base_visitor13 methodsir_rvalue_base_visitor
TIntermNode21 methodsTIntermNode
TSymbol22 methodsTSymbol
ForceFeedback14 methodsOIS.ForceFeedback
InputManager16 methodsOIS.InputManager
Object11 methodsOIS.Object

Statistics

Stat   methodsAndGetters
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

030
Design  

warningCritical    Rule warning: Type should not have too many responsibilities
// <Name>Type should not have too many responsibilities</Name>
// Types using more than 8 different application namespaces 
// are considered as having too many responsabilities.
warnif count > 0 

from t in JustMyCode.Types 
let applicationTypesUsed = t.TypesUsed.ExceptThirdParty().ToList()
let applicationNamespacesUsed = applicationTypesUsed.ParentNamespaces().ToList()
where applicationNamespacesUsed.Count > 8

// Use an empiric formula to sort by degree of responsabilities
let responsabilitiesMetric = (10 * applicationNamespacesUsed.Count + applicationTypesUsed.Count)/10
orderby responsabilitiesMetric descending

select new { t, applicationNamespacesUsed, applicationTypesUsed, responsabilitiesMetric } 


1 types matched

typeapplicationNamespacesUsedapplicationTypesUsedresponsabilitiesMetricFull Name
__Globals55 namespaces268 types81__Globals

Statistics

Stat   applicationNamespacesUsed   applicationTypesUsed   responsabilitiesMetric
Sum:0081
Average:0081
Minimum:0081
Maximum:0081
Standard deviation:000
Variance:000
warningCritical    Rule warning: Avoid namespaces with few types
// <Name>Avoid namespaces with few types</Name>
warnif count > 0 from n in JustMyCode.Namespaces 
let types = n.ChildTypes.Where(t => !t.IsGeneratedByCompiler)
where 
  
types.Count() < 5 
  
orderby types.Count() ascending
select new { n, types } 

// Make sure that there is a logical organization 
// to each of your namespaces, and that there is a 
// valid reason for putting types in a sparsely 
// populated namespace. Namespaces should contain 
// types that are used together in most scenarios. 
// When their applications are mutually exclusive, 
// types should be located in separate namespaces

57 namespaces matched

namespacestypesFull Name
anonymous_namespace{ir_import_prototypes.cpp}1 typeanonymous_namespace{ir_import_prototypes.cpp}
anonymous_namespace{ir_validate.cpp}1 typeanonymous_namespace{ir_validate.cpp}
anonymous_namespace{link_functions.cpp}1 typeanonymous_namespace{link_functions.cpp}
linker1 typelinker
anonymous_namespace{link_uniforms.cpp}1 typeanonymous_namespace{link_uniforms.cpp}
anonymous_namespace{loop_analysis.cpp}1 typeanonymous_namespace{loop_analysis.cpp}
anonymous_namespace{loop_controls.cpp}1 typeanonymous_namespace{loop_controls.cpp}
anonymous_namespace{loop_unroll.cpp}1 typeanonymous_namespace{loop_unroll.cpp}
anonymous_namespace{lower_clip_distance.cpp}1 typeanonymous_namespace{lower_clip_distance.cpp}
anonymous_namespace{lower_discard.cpp}1 typeanonymous_namespace{lower_discard.cpp}
anonymous_namespace{lower_discard_flow.cpp}1 typeanonymous_namespace{lower_discard_flow.cpp}
anonymous_namespace{lower_if_to_cond_assign.cpp}1 typeanonymous_namespace{lower_if_to_cond_assign.cpp}
anonymous_namespace{lower_instructions.cpp}1 typeanonymous_namespace{lower_instructions.cpp}
anonymous_namespace{lower_mat_op_to_vec.cpp}1 typeanonymous_namespace{lower_mat_op_to_vec.cpp}
anonymous_namespace{lower_named_interface_blocks.cpp}1 typeanonymous_namespace{lower_named_interface_blocks.cpp}
anonymous_namespace{lower_output_reads.cpp}1 typeanonymous_namespace{lower_output_reads.cpp}
anonymous_namespace{lower_packed_varyings.cpp}1 typeanonymous_namespace{lower_packed_varyings.cpp}
anonymous_namespace{lower_packing_builtins.cpp}1 typeanonymous_namespace{lower_packing_builtins.cpp}
anonymous_namespace{lower_vector_insert.cpp}1 typeanonymous_namespace{lower_vector_insert.cpp}
anonymous_namespace{lower_vec_index_to_cond_assign.cpp}1 typeanonymous_namespace{lower_vec_index_to_cond_assign.cpp}
anonymous_namespace{lower_vec_index_to_swizzle.cpp}1 typeanonymous_namespace{lower_vec_index_to_swizzle.cpp}
anonymous_namespace{lower_vector.cpp}1 typeanonymous_namespace{lower_vector.cpp}
anonymous_namespace{opt_algebraic.cpp}1 typeanonymous_namespace{opt_algebraic.cpp}
anonymous_namespace{opt_array_splitting.cpp}1 typeanonymous_namespace{opt_array_splitting.cpp}
anonymous_namespace{opt_array_splitting.cpp}.opt_array_splitting1 typeanonymous_namespace{opt_array_splitting.cpp}.opt_array_splitting
anonymous_namespace{opt_constant_folding.cpp}1 typeanonymous_namespace{opt_constant_folding.cpp}
anonymous_namespace{opt_flatten_nested_if_blocks.cpp}1 typeanonymous_namespace{opt_flatten_nested_if_blocks.cpp}
anonymous_namespace{opt_flip_matrices.cpp}1 typeanonymous_namespace{opt_flip_matrices.cpp}
anonymous_namespace{opt_function_inlining.cpp}1 typeanonymous_namespace{opt_function_inlining.cpp}
anonymous_namespace{opt_if_simplification.cpp}1 typeanonymous_namespace{opt_if_simplification.cpp}
anonymous_namespace{opt_noop_swizzle.cpp}1 typeanonymous_namespace{opt_noop_swizzle.cpp}
anonymous_namespace{opt_redundant_jumps.cpp}1 typeanonymous_namespace{opt_redundant_jumps.cpp}
anonymous_namespace{opt_swizzle_swizzle.cpp}1 typeanonymous_namespace{opt_swizzle_swizzle.cpp}
anonymous_namespace{opt_vectorize.cpp}1 typeanonymous_namespace{opt_vectorize.cpp}
1 type
1 type
anonymous_namespace{builtin_functions.cpp}2 typesanonymous_namespace{builtin_functions.cpp}
anonymous_namespace{builtin_variables.cpp}2 typesanonymous_namespace{builtin_variables.cpp}
anonymous_namespace{link_uniform_blocks.cpp}2 typesanonymous_namespace{link_uniform_blocks.cpp}
anonymous_namespace{lower_ubo_reference.cpp}2 typesanonymous_namespace{lower_ubo_reference.cpp}
anonymous_namespace{opt_constant_variable.cpp}2 typesanonymous_namespace{opt_constant_variable.cpp}
anonymous_namespace{opt_dead_builtin_varyings.cpp}2 typesanonymous_namespace{opt_dead_builtin_varyings.cpp}
anonymous_namespace{opt_dead_functions.cpp}2 typesanonymous_namespace{opt_dead_functions.cpp}
anonymous_namespace{parsehelper.cpp}2 typesanonymous_namespace{parsehelper.cpp}
anonymous_namespace{ir_function_detect_recursion.cpp}3 typesanonymous_namespace{ir_function_detect_recursion.cpp}
anonymous_namespace{link_atomics.cpp}3 typesanonymous_namespace{link_atomics.cpp}
anonymous_namespace{link_interface_blocks.cpp}3 typesanonymous_namespace{link_interface_blocks.cpp}
anonymous_namespace{link_varyings.cpp}3 typesanonymous_namespace{link_varyings.cpp}
anonymous_namespace{opt_constant_propagation.cpp}3 typesanonymous_namespace{opt_constant_propagation.cpp}
anonymous_namespace{opt_copy_propagation.cpp}3 typesanonymous_namespace{opt_copy_propagation.cpp}
anonymous_namespace{opt_copy_propagation_elements.cpp}3 typesanonymous_namespace{opt_copy_propagation_elements.cpp}
anonymous_namespace{opt_dead_code_local.cpp}3 typesanonymous_namespace{opt_dead_code_local.cpp}
anonymous_namespace{linker.cpp}4 typesanonymous_namespace{linker.cpp}
anonymous_namespace{lower_jumps.cpp}4 typesanonymous_namespace{lower_jumps.cpp}
anonymous_namespace{opt_cse.cpp}4 typesanonymous_namespace{opt_cse.cpp}
anonymous_namespace{opt_structure_splitting.cpp}4 typesanonymous_namespace{opt_structure_splitting.cpp}
anonymous_namespace{opt_tree_grafting.cpp}4 typesanonymous_namespace{opt_tree_grafting.cpp}

Statistics

Stat   types
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Nested types should not be visible
// <Name>Nested types should not be visible</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsNested && 
 
!t.IsGeneratedByCompiler &&
 
!t.IsPrivate 
select new { t, t.NbLinesOfCode, t.Visibility } 


// A nested type is a type declared within the 
// scope of another type. Nested types are useful 
// for encapsulating private implementation details 
// of the containing type. Used for this purpose, 
// nested types should not be externally visible. 
// Do not use externally visible nested types for 
// logical grouping or to avoid name collisions; 
// instead, use namespaces.

72 types matched

types# lines of code (LOC)VisibilityFull Name
TagLib+MDMODELN/APublicTagLib+MDMODEL
DXT_INFO_1+AnonymousEnumN/APublicDXT_INFO_1+AnonymousEnum
DXT_INFO_3+AnonymousEnumN/APublicDXT_INFO_3+AnonymousEnum
DXT_INFO_5+AnonymousEnumN/APublicDXT_INFO_5+AnonymousEnum
_TIFFRGBAImage+Anonymous0Public_TIFFRGBAImage+Anonymous
WuQuantizer+tagBox0PublicWuQuantizer+tagBox
ir_variable+ir_variable_data0Publicir_variable+ir_variable_data
ir_variable+ir_variable_data+Anonymous0Publicir_variable+ir_variable_data+Anonymous
ir_variable+ir_variable_data+Anonymous0Publicir_variable+ir_variable_data+Anonymous
ir_loop_jump+jump_modeN/APublicir_loop_jump+jump_mode
ir_texture+Anonymous0Publicir_texture+Anonymous
ir_texture+Anonymous+Anonymous0Publicir_texture+Anonymous+Anonymous
ast_node+Anonymous0Publicast_node+Anonymous
ast_expression+Anonymous0Publicast_expression+Anonymous
ast_type_qualifier+Anonymous0Publicast_type_qualifier+Anonymous
ast_type_qualifier+Anonymous+Anonymous0Publicast_type_qualifier+Anonymous+Anonymous
ast_iteration_statement+ast_iteration_modesN/APublicast_iteration_statement+ast_iteration_modes
ast_jump_statement+ast_jump_modesN/APublicast_jump_statement+ast_jump_modes
gl_shader+Anonymous0Publicgl_shader+Anonymous
gl_shader+Anonymous0Publicgl_shader+Anonymous
gl_shader_program+Anonymous0Publicgl_shader_program+Anonymous
gl_shader_program+Anonymous0Publicgl_shader_program+Anonymous
gl_shader_program+Anonymous0Publicgl_shader_program+Anonymous
gl_shader_program+Anonymous0Publicgl_shader_program+Anonymous
gl_constants+Anonymous0Publicgl_constants+Anonymous
gl_constants+Anonymous0Publicgl_constants+Anonymous
glsl_type+Anonymous0Publicglsl_type+Anonymous
_mesa_glsl_parse_state+Anonymous0Public_mesa_glsl_parse_state+Anonymous
_mesa_glsl_parse_state+Anonymous0Public_mesa_glsl_parse_state+Anonymous
ast_node+Anonymous0Publicast_node+Anonymous
ast_expression+Anonymous0Publicast_expression+Anonymous
ast_type_qualifier+Anonymous0Publicast_type_qualifier+Anonymous
ast_type_qualifier+Anonymous+Anonymous0Publicast_type_qualifier+Anonymous+Anonymous
ast_node+Anonymous0Publicast_node+Anonymous
ast_expression+Anonymous0Publicast_expression+Anonymous
ast_type_qualifier+Anonymous0Publicast_type_qualifier+Anonymous
ast_type_qualifier+Anonymous+Anonymous0Publicast_type_qualifier+Anonymous+Anonymous
glsl_type+Anonymous0Publicglsl_type+Anonymous
_mesa_glsl_parse_state+Anonymous0Public_mesa_glsl_parse_state+Anonymous
_mesa_glsl_parse_state+Anonymous0Public_mesa_glsl_parse_state+Anonymous
YYSTYPE+Anonymous0PublicYYSTYPE+Anonymous
YYSTYPE+Anonymous0PublicYYSTYPE+Anonymous
YYSTYPE+Anonymous0PublicYYSTYPE+Anonymous
YYSTYPE+Anonymous0PublicYYSTYPE+Anonymous
ast_node+Anonymous0Publicast_node+Anonymous
ast_expression+Anonymous0Publicast_expression+Anonymous
ast_type_qualifier+Anonymous0Publicast_type_qualifier+Anonymous
ast_type_qualifier+Anonymous+Anonymous0Publicast_type_qualifier+Anonymous+Anonymous
pool_allocator<T>+rebind0Publicpool_allocator<T>+rebind
TType+ECompatibilityN/APublicTType+ECompatibility
TIntermConstant+Value0PublicTIntermConstant+Value
TIntermConstant+Value+Anonymous0PublicTIntermConstant+Value+Anonymous
GlslSymbol+WriteDeclModeN/APublicGlslSymbol+WriteDeclMode
YYSTYPE+Anonymous0PublicYYSTYPE+Anonymous
YYSTYPE+Anonymous+Anonymous0PublicYYSTYPE+Anonymous+Anonymous
YYSTYPE+Anonymous0PublicYYSTYPE+Anonymous
YYSTYPE+Anonymous+Anonymous0PublicYYSTYPE+Anonymous+Anonymous
YYSTYPE+Anonymous+Anonymous0PublicYYSTYPE+Anonymous+Anonymous
YYSTYPE+Anonymous0PublicYYSTYPE+Anonymous
YYSTYPE+Anonymous+Anonymous0PublicYYSTYPE+Anonymous+Anonymous
YYSTYPE+Anonymous0PublicYYSTYPE+Anonymous
YYSTYPE+Anonymous+Anonymous0PublicYYSTYPE+Anonymous+Anonymous
YYSTYPE+Anonymous+Anonymous0PublicYYSTYPE+Anonymous+Anonymous
Effect+EForceN/APublicOIS.Effect+EForce
Effect+ETypeN/APublicOIS.Effect+EType
Effect+EDirectionN/APublicOIS.Effect+EDirection
Interface+ITypeN/APublicOIS.Interface+IType
InputManager+AddOnFactoriesN/APublicOIS.InputManager+AddOnFactories
Keyboard+TextTranslationModeN/APublicOIS.Keyboard+TextTranslationMode
Keyboard+ModifierN/APublicOIS.Keyboard+Modifier
_zzip_plugin_io+Anonymous0Public_zzip_plugin_io+Anonymous
zzip_dir+Anonymous0Publiczzip_dir+Anonymous

Statistics

Stat   # lines of code (LOC)   Visibility
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

330
Architecture and Layering  

warningCritical    Rule warning: Avoid namespaces mutually dependent
// <Name>Avoid namespaces mutually dependent</Name>
warnif count > 0
// Foreach pair of namespace mutually dependent, this rule lists pairs.
// The pair { first, second } is formatted to show that first namespace shouldn't use the second namespace.
// The first/second order is inferred from the number of types used by each other.
// The first namespace is using less types of the second.
// It means that the first namespace is certainly at a lower level in the architecture, than the second.
// To explore the coupling between the two namespaces, you can export:
//  - typesOfFirstUsedBySecond to the vertical header of the dependency matrix
//  - typesOfSecondUsedByFirst to the horizontal header of the dependency matrix
//
// Following these advices is useful to avoid namespaces dependency cycles.
// More on this in our white books relative to partitionning code.
// http://www.cppdepend.com/WhiteBooks.aspx


// Optimization: restreint application Projects set
// If some namespaces are mutually dependent
//  - They must be declared in the same project
//  - The parent project must ContainsNamespaceDependencyCycle
from project in Application.Projects.Where(a => a.ContainsNamespaceDependencyCycle != null && a.ContainsNamespaceDependencyCycle.Value)

// hashset is used to avoid reporting both A <-> B and B <-> A
let hashset = new HashSet<INamespace>()

// Optimization: restreint namespaces set
// If a namespace doesn't have a Level value, it must be in a dependency cycle
// or it must be using directly or indirectly a dependency cycle.
let namespacesSuspect = project.ChildNamespaces.Where(n => n.Level == null)

from nA in namespacesSuspect

// Select namespaces mutually dependent with nA
let unused = hashset.Add(nA) // Populate hashset
let namespacesMutuallyDependentWith_nA = nA.NamespacesUsed.Using(nA)
          
.Except(hashset) // <-- avoid reporting both A <-> B and B <-> A 
where namespacesMutuallyDependentWith_nA.Count() > 0

from nB in namespacesMutuallyDependentWith_nA

// nA and nB are mutually dependent
// Select first the one that shouldn't use the other.
// The first namespace is inferred from the fact that it is using less types of the second.
let typesOfBUsedByA = nB.ChildTypes.UsedBy(nA)
let typesOfAUsedByB = nA.ChildTypes.UsedBy(nB)
let first = (typesOfBUsedByA.Count() > typesOfAUsedByB.Count()) ? nB : nA
let second = (first == nA) ? nB : nA
let typesOfFirstUsedBySecond = (first == nA) ? typesOfAUsedByB : typesOfBUsedByA
let typesOfSecondUsedByFirst = (first == nA) ? typesOfBUsedByA : typesOfAUsedByB
select new { first, shouldntUse = second, typesOfFirstUsedBySecond, typesOfSecondUsedByFirst }

54 namespaces matched

namespacesshouldntUsetypesOfFirstUsedBySecondtypesOfSecondUsedByFirstFull Name
anonymous_namespace{builtin_functions.cpp}30 types0 type
anonymous_namespace{builtin_variables.cpp}26 types0 type
anonymous_namespace{ir_function_detect_recursion.cpp}6 types0 type
anonymous_namespace{ir_import_prototypes.cpp}6 types0 type
anonymous_namespace{link_atomics.cpp}1 type0 type
anonymous_namespace{link_functions.cpp}16 types0 type
anonymous_namespace{link_interface_blocks.cpp}4 types0 type
anonymous_namespace{link_uniform_blocks.cpp}4 types0 type
linker0 type0 type
anonymous_namespace{link_uniforms.cpp}4 types0 type
anonymous_namespace{linker.cpp}17 types0 type
anonymous_namespace{link_varyings.cpp}6 types0 type
anonymous_namespace{loop_analysis.cpp}20 types0 type
anonymous_namespace{loop_controls.cpp}8 types0 type
anonymous_namespace{loop_unroll.cpp}13 types0 type
anonymous_namespace{lower_clip_distance.cpp}24 types0 type
anonymous_namespace{lower_discard.cpp}12 types0 type
anonymous_namespace{lower_discard_flow.cpp}17 types0 type
anonymous_namespace{lower_if_to_cond_assign.cpp}15 types0 type
anonymous_namespace{lower_instructions.cpp}15 types0 type
anonymous_namespace{lower_jumps.cpp}24 types0 type
anonymous_namespace{lower_mat_op_to_vec.cpp}18 types0 type
anonymous_namespace{lower_named_interface_blocks.cpp}17 types0 type
anonymous_namespace{lower_output_reads.cpp}11 types0 type
anonymous_namespace{lower_packed_varyings.cpp}22 types0 type
anonymous_namespace{lower_packing_builtins.cpp}12 types0 type
anonymous_namespace{lower_ubo_reference.cpp}24 types0 type
anonymous_namespace{lower_variable_index_to_cond_assign.cpp}21 types0 type
anonymous_namespace{lower_vector_insert.cpp}14 types0 type
anonymous_namespace{lower_vec_index_to_cond_assign.cpp}19 types0 type
anonymous_namespace{lower_vec_index_to_swizzle.cpp}16 types0 type
anonymous_namespace{lower_vector.cpp}17 types0 type
anonymous_namespace{opt_algebraic.cpp}10 types0 type
anonymous_namespace{opt_array_splitting.cpp}12 types0 type
anonymous_namespace{opt_array_splitting.cpp}.opt_array_splitting3 types1 type
anonymous_namespace{opt_constant_folding.cpp}16 types0 type
anonymous_namespace{opt_constant_propagation.cpp}24 types0 type
anonymous_namespace{opt_constant_variable.cpp}14 types0 type
anonymous_namespace{opt_copy_propagation.cpp}18 types0 type
anonymous_namespace{opt_copy_propagation_elements.cpp}21 types0 type
anonymous_namespace{opt_cse.cpp}16 types0 type
anonymous_namespace{opt_dead_builtin_varyings.cpp}19 types0 type
anonymous_namespace{opt_dead_code_local.cpp}16 types0 type
anonymous_namespace{opt_dead_functions.cpp}6 types0 type
anonymous_namespace{opt_flatten_nested_if_blocks.cpp}7 types0 type
anonymous_namespace{opt_flip_matrices.cpp}13 types0 type
anonymous_namespace{opt_function_inlining.cpp}9 types0 type
anonymous_namespace{opt_if_simplification.cpp}12 types0 type
anonymous_namespace{opt_noop_swizzle.cpp}6 types0 type
anonymous_namespace{opt_redundant_jumps.cpp}11 types0 type
anonymous_namespace{opt_structure_splitting.cpp}19 types0 type
anonymous_namespace{opt_swizzle_swizzle.cpp}5 types0 type
anonymous_namespace{opt_tree_grafting.cpp}23 types0 type
anonymous_namespace{opt_vectorize.cpp}15 types0 type

Statistics

Stat   shouldntUse   typesOfFirstUsedBySecond   typesOfSecondUsedByFirst
Sum:000
Average:000
Minimum:000
Maximum:000
Standard deviation:000
Variance:000
warningCritical    Rule warning: Avoid namespaces dependency cycles
// <Name>Avoid namespaces dependency cycles</Name>
warnif count > 0
// This query lists all application namespaces dependency cyles.
// Each row shows a different cycle, prefixed with a namespace entangled in the cycle.
//
// To browse a cycle on the dependency graph or the dependency matrix, just right click
// a cycle cell and export namespaces matched to the dependency graph or matrix!
//
// In the matrix, dependency cycles are represented with red squares and black cells.
// To browse easily dependency cycles, the Matrix comes with the option:
//   --> Display Direct and Indirect Dependencies
//
// Read our white books relative to partitionning code, 
// to know more about namespaces dependency cycles, and why avoiding them 
// is a simple but efficient solution to architecture well your code base.
// http://www.cppdepend.com/WhiteBooks.aspx


// Optimization: restreint application Projects set
// If some namespaces are mutually dependent
//  - They must be declared in the same project
//  - The parent project must ContainsNamespaceDependencyCycle
from project in Application.Projects
                 
.Where(a => a.ContainsNamespaceDependencyCycle != null && 
                             
a.ContainsNamespaceDependencyCycle.Value)

// Optimization: restreint namespaces set
// A namespace involved in a cycle necessarily have a null Level.
let namespacesSuspect = project.ChildNamespaces.Where(n => n.Level == null)

// hashset is used to avoid iterating again on namespaces already caught in a cycle.
let hashset = new HashSet<INamespace>()


from suspect in namespacesSuspect
   
// By commenting this line, the query matches all namespaces involved in a cycle.
   where !hashset.Contains(suspect)

   
// Define 2 code metrics
   // - Namespaces depth of is using indirectly the suspect namespace.
   // - Namespaces depth of is used by the suspect namespace indirectly.
   // Note: for direct usage the depth is equal to 1.
   let namespacesUserDepth = namespacesSuspect.DepthOfIsUsing(suspect)
   
let namespacesUsedDepth = namespacesSuspect.DepthOfIsUsedBy(suspect)

   
// Select namespaces that are both using and used by namespaceSuspect
   let usersAndUsed = from n in namespacesSuspect where 
                         
namespacesUserDepth[n] > 0 && 
                         
namespacesUsedDepth[n] > 0 
                      
select n

   
where usersAndUsed.Count() > 0

   
// Here we've found namespace(s) both using and used by the suspect namespace.
   // A cycle involving the suspect namespace is found!
   let cycle = usersAndUsed.Concat(new[] { suspect  })

   
// Fill hashset with namespaces in the cycle.
   // .ToArray() is needed to force the iterating process.
   let unused1 = (from n in cycle let unused2 = hashset.Add(n) select n).ToArray()

select new { suspect, cycle }

1 namespaces matched

namespacecycleFull Name
56 namespaces

Statistics

Stat   cycle
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Projects with poor cohesion (RelationalCohesion)
// <Name>Projects with poor cohesion (RelationalCohesion)</Name>
warnif count > 0 from a in Application.Projects where 
  
a.NbTypes > 20 && // Relational Cohesion metrics is relevant only if there are several types 
  (a.RelationalCohesion < 1.5 || 
   
a.RelationalCohesion > 4.0)
select new { a, a.NbTypes, a.RelationalCohesion }

// As classes inside an project should be strongly related, 
// the cohesion should be high. On the other hand, a value 
// which is too high may indicate over-coupling. A good range 
// for RelationalCohesion is 1.5 to 4.0.
// See the definition of the RelationalCohesion metric here 
// http://www.cppdepend.com/Metrics.aspx#RelationalCohesion

3 projects matched

projects# TypesRelational cohesionFull Name
glsl_optimizer_lib3767.01glsl_optimizer_lib
hlslang1144.46hlslang
zziplib261.42zziplib

Statistics

Stat   # Types   Relational cohesion
Sum:51612.89
Average:1724.3
Minimum:261.42
Maximum:3767.01
Standard deviation:148.662.28
Variance:22 0985.22

120
Best Practices  

warningCritical    Rule warning: Use reinterpret_cast carrefully

        
// <Name>Use reinterpret_cast carrefully</Name> 
        warnif count >0 (from m in Methods where m.IsUsing ("Keywords.reinterpret_cast")
        
select new { m, m.NbLinesOfCode }).Take(10)
        

10 methods matched

methods# lines of code (LOC)Full Name
AssignPixel(BYTE*,constBYTE*,unsignedint)35__Globals.AssignPixel(BYTE*,constBYTE*,unsignedint)
FreeImage_OutputMessageProc(int,constchar*)67__Globals.FreeImage_OutputMessageProc(int,constchar*)
_assignPixel(BYTE*,BYTE*,BOOL)9__Globals._assignPixel(BYTE*,BYTE*,BOOL)
_assignPixel(BYTE*,BYTE*,BOOL)5__Globals._assignPixel(BYTE*,BYTE*,BOOL)
writeToPacket(BYTE*,BYTE*,unsignedint)18__Globals.writeToPacket(BYTE*,BYTE*,unsignedint)
convert(FIBITMAP*,FREE_IMAGE_TYPE)15CONVERT_TYPE<Tdst,Tsrc>.convert(FIBITMAP*,FREE_IMAGE_TYPE)
convert(FIBITMAP*,BOOL)42CONVERT_TO_BYTE<Tsrc>.convert(FIBITMAP*,BOOL)
convert(FIBITMAP*)15CONVERT_TO_COMPLEX<Tsrc>.convert(FIBITMAP*)
_mesa_glsl_error(YYLTYPE*,_mesa_glsl_parse_state*,constchar*)5__Globals._mesa_glsl_error(YYLTYPE*,_mesa_glsl_parse_state*,constchar* )
_mesa_glsl_warning(constYYLTYPE*,_mesa_glsl_parse_state*,constchar*)4__Globals._mesa_glsl_warning(constYYLTYPE*,_mesa_glsl_parse_state* ,constchar*)

Statistics

Stat   # lines of code (LOC)
Sum:215
Average:21.5
Minimum:4
Maximum:67
Standard deviation:19.43
Variance:377.65
warningCritical    Rule warning: Avoid using goto keyword

        
// <Name>Avoid using goto keyword</Name>
        warnif count >0 (from m in Methods where m.IsUsing ("Keywords.goto")
        
select new { m, m.NbLinesOfCode }).Take(10)
        

10 methods matched

methods# lines of code (LOC)Full Name
mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)145__Globals.mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)
BZ2_bzCompress(bz_stream*,int)64__Globals.BZ2_bzCompress(bz_stream*,int)
BZ2_bzBuffToBuffCompress(char*,unsignedint*,char*,unsignedint,int,int ,int)39__Globals.BZ2_bzBuffToBuffCompress(char*,unsignedint*,char* ,unsignedint,int,int,int)
BZ2_bzBuffToBuffDecompress(char*,unsignedint*,char*,unsignedint,int ,int)43__Globals.BZ2_bzBuffToBuffDecompress(char*,unsignedint*,char* ,unsignedint,int,int)
unRLE_obuf_to_output_FAST(DState*)178__Globals.unRLE_obuf_to_output_FAST(DState*)
BZ2_decompress(DState*)1 563__Globals.BZ2_decompress(DState*)
accept(ir_hierarchical_visitor*)17ir_expression.accept(ir_hierarchical_visitor*)
match_function_by_name(constchar*,exec_list* ,struct_mesa_glsl_parse_state*)33__Globals.match_function_by_name(constchar*,exec_list* ,struct_mesa_glsl_parse_state*)
_mesa_glsl_lexer_lex(unionYYSTYPE*,YYLTYPE*,void*)2 611__Globals._mesa_glsl_lexer_lex(unionYYSTYPE*,YYLTYPE*,void*)
_mesa_glsl_parse(struct_mesa_glsl_parse_state*)2 441__Globals._mesa_glsl_parse(struct_mesa_glsl_parse_state*)

Statistics

Stat   # lines of code (LOC)
Sum:7 134
Average:713.4
Minimum:17
Maximum:2 611
Standard deviation:1 009
Variance:1 019 092

110
Constness  

  • 1 validated Rule(s)
  • 1 Rule(s) violated
  • 0 Rules or Queries with Error (syntax error, exception thrown, time-out)
warningCritical    Rule warning: Use const_cast carrefully

          
// <Name>Use const_cast carrefully</Name>
          warnif count >0 (from m in Methods where m.IsUsing ("Keywords.const_cast")
          
select new { m, m.NbLinesOfCode }).Take(10)
          

9 methods matched

methods# lines of code (LOC)Full Name
jpeg_read_jfxx(FIBITMAP*,constBYTE*,unsignedint)24__Globals.jpeg_read_jfxx(FIBITMAP*,constBYTE*,unsignedint)
jpeg_read_exif_dir(FIBITMAP*,constBYTE*,unsignedlong,unsignedint,BOOL ,TagLib::MDMODEL)170__Globals.jpeg_read_exif_dir(FIBITMAP*,constBYTE*,unsignedlong ,unsignedint,BOOL,TagLib::MDMODEL)
print()3ir_instruction.print()
clone(void*,structhash_table*)21ir_variable.clone(void*,structhash_table*)
clone(void*,structhash_table*)9ir_function.clone(void*,structhash_table*)
import_prototypes(constexec_list*,exec_list*,structglsl_symbol_table* ,void*)2__Globals.import_prototypes(constexec_list*,exec_list* ,structglsl_symbol_table*,void*)
Hlsl2Glsl_Parse(constShHandle,constchar*,ETargetVersion,unsignedint)44__Globals.Hlsl2Glsl_Parse(constShHandle,constchar*,ETargetVersion ,unsignedint)
InitializeSymbolTable(TBuiltInStrings*,EShLanguage,TInfoSink& ,TSymbolTable*,bool)23__Globals.InitializeSymbolTable(TBuiltInStrings*,EShLanguage ,TInfoSink&,TSymbolTable*,bool)
appendDuplicatedInSemantics(GlslSymbolOrStructMemberBase* ,EAttribSemantic,std::vector<GlslSymbolOrStructMemberBase*>&)7HlslLinker.appendDuplicatedInSemantics(GlslSymbolOrStructMemberBase* ,EAttribSemantic,std::vector<GlslSymbolOrStructMemberBase*>&)

Statistics

Stat   # lines of code (LOC)
Sum:303
Average:33.67
Minimum:2
Maximum:170
Standard deviation:49.8
Variance:2 480

110
Exception  

warningCritical    Rule warning: Avoid using Generic Catch(...)

          
// <Name>Avoid using Generic Catch(...)</Name>
          warnif count >0 (from m in Methods where m.IsUsing ("Keywords.generic_catch")
          
select new { m, m.NbLinesOfCode }).Take(10)
        

5 methods matched

methods# lines of code (LOC)Full Name
Unpack32Bits(FreeImageIO*,fi_handle,FIBITMAP*,MacRect*,WORD,int)35__Globals.Unpack32Bits(FreeImageIO*,fi_handle,FIBITMAP*,MacRect*,WORD ,int)
JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO*,fi_handle ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)182__Globals.JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO* ,fi_handle,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)
Quantize(int,int,RGBQUAD*)64WuQuantizer.Quantize(int,int,RGBQUAD*)
createInputSystem(ParamList&)8OIS.InputManager.createInputSystem(ParamList&)
createInputObject(OIS::Type,bool,conststd::string&)15OIS.InputManager.createInputObject(OIS::Type,bool,conststd::string&)

Statistics

Stat   # lines of code (LOC)
Sum:304
Average:60.8
Minimum:8
Maximum:182
Standard deviation:63.64
Variance:4 050

030
Dead Code  

warningCritical    Rule warning: Potentially dead Types
// <Name>Potentially dead Types</Name>
warnif count > 0

let tt=Types.UsedByAny(Application.Methods).ToHashSet()
// Select types unused
let typesUnused = 
   
from t in JustMyCode.Types where
   
t.NbTypesUsingMe == 0 && !t.IsGlobal  select t



from t in typesUnused  where !tt.Contains(t)
select new { t }
        
        

44 types matched

typesFull Name
tagBITMAPINFOtagBITMAPINFO
tagBITMAPCOREHEADERtagBITMAPCOREHEADER
AnonymousEnumAnonymousEnum
AnonymousEnumAnonymousEnum
tagDXT1BlocktagDXT1Block
DXT_INFO_1+AnonymousEnumDXT_INFO_1+AnonymousEnum
DXT_INFO_3+AnonymousEnumDXT_INFO_3+AnonymousEnum
DXT_INFO_5+AnonymousEnumDXT_INFO_5+AnonymousEnum
DXT_BLOCKDECODER_1DXT_BLOCKDECODER_1
MacRGBColourMacRGBColour
MacPointMacPoint
MacPatternMacPattern
_TIFFRGBAImage_TIFFRGBAImage
TIFFCodecTIFFCodec
TIFFTagMethodsTIFFTagMethods
gl_geom_attribgl_geom_attrib
gl_frag_attribgl_frag_attrib
gl_register_filegl_register_file
_verbose_verbose
_debug_debug
ast_node+Anonymousast_node+Anonymous
ast_expression+Anonymousast_expression+Anonymous
ast_type_qualifier+Anonymousast_type_qualifier+Anonymous
ast_node+Anonymousast_node+Anonymous
prog_instructionprog_instruction
yy_trans_infoyy_trans_info
yytokentypeyytokentype
yytokentypeyytokentype
gl_uniform_driver_formatgl_uniform_driver_format
blockblock
yy_trans_infoyy_trans_info
token_class_ttoken_class_t
expansion_nodeexpansion_node
yytokentypeyytokentype
yytokentypeyytokentype
pool_allocator<T>+rebindpool_allocator<T>+rebind
ShBindingTableShBindingTable
YYSTYPE+Anonymous+AnonymousYYSTYPE+Anonymous+Anonymous
YYSTYPE+Anonymous+AnonymousYYSTYPE+Anonymous+Anonymous
SymbolList_RecSymbolList_Rec
yyltypeyyltype
zzip_file_trailerzzip_file_trailer
zzip_root_direntzzip_root_dirent
zzip_extra_blockzzip_extra_block

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Potentially dead Methods
// <Name>Potentially dead Methods</Name>
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
    
m => !m.IsPublic &&       // Public methods might be used by client applications of your Projects.
         !m.IsEntryPoint &&            // Main() method is not used by-design.
         !m.IsClassConstructor &&      
         
!m.IsVirtual &&               // Only check for non virtual method that are not seen as used in IL.
         !(m.IsConstructor &&          // Don't take account of protected ctor that might be call by a derived ctors.
           m.IsProtected) &&
         
!m.NameLike (@"^On") &&        //Exclude Events like MFC ones
         !m.IsGeneratedByCompiler
)

// Get methods unused
let methodsUnused = 
   
from m in JustMyCode.Methods where 
   
m.NbMethodsCallingMe == 0 && 
   
canMethodBeConsideredAsDeadProc(m)
   
select m

// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
   
methods => // Unique loop, just to let a chance to build the hashset.
              from o in new[] { new object() }
              
// Use a hashet to make Intersect calls much faster!
              let hashset = methods.ToHashSet()
              
from m in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
              
where canMethodBeConsideredAsDeadProc(m) &&
                    
// Select methods called only by methods already considered as dead
                    hashset.Intersect(m.MethodsCallingMe).Count() == m.NbMethodsCallingMe
              
select m)

from m in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m, m.MethodsCallingMe, depth = deadMethodsMetric[m] }

20 methods matched

methodsMethodsCallingMedepthFull Name
operator=(TagLib&)0 method0TagLib.operator=(TagLib&)
TagLib(constTagLib&)0 method0TagLib.TagLib(constTagLib&)
psdThumbnail(constpsdThumbnail&)0 method0psdThumbnail.psdThumbnail(constpsdThumbnail&)
operator=(constpsdThumbnail&)0 method0psdThumbnail.operator=(constpsdThumbnail&)
operator=(constIOCache&)0 method0IOCache.operator=(constIOCache&)
IOCache(constIOCache&)0 method0IOCache.IOCache(constIOCache&)
glsl_type(GLenum,glsl_base_type,unsignedint,unsignedint,constchar*)0 method0glsl_type.glsl_type(GLenum,glsl_base_type,unsignedint,unsignedint ,constchar*)
glsl_type(GLenum,glsl_base_type,enumglsl_sampler_dim,bool,bool ,unsignedint,constchar*)0 method0glsl_type.glsl_type(GLenum,glsl_base_type,enumglsl_sampler_dim,bool ,bool,unsignedint,constchar*)
_textureSize(constglsl_type*,constglsl_type*)0 method0anonymous_namespace{builtin_functions.cpp}.builtin_builder ._textureSize(constglsl_type*,constglsl_type*)
operator=(constTPoolAllocator&)0 method0TPoolAllocator.operator=(constTPoolAllocator&)
TPoolAllocator(constTPoolAllocator&)0 method0TPoolAllocator.TPoolAllocator(constTPoolAllocator&)
TTypeInfo()0 method0TTypeInfo.TTypeInfo()
TTypeInfo(constTTypeInfo&)0 method0TTypeInfo.TTypeInfo(constTTypeInfo&)
TIntermAggregate(constTIntermAggregate&)0 method0TIntermAggregate.TIntermAggregate(constTIntermAggregate&)
operator=(constTIntermAggregate&)0 method0TIntermAggregate.operator=(constTIntermAggregate&)
appendToStream(constchar*)0 method0TInfoSinkBase.appendToStream(constchar*)
Effect()0 method0OIS.Effect.Effect()
Exception()0 method0OIS.Exception.Exception()
Win32ForceFeedback()0 method0OIS.Win32ForceFeedback.Win32ForceFeedback()
_updateCustomEffect(constOIS::Effect*)0 method0OIS.Win32ForceFeedback._updateCustomEffect(constOIS::Effect*)

Statistics

Stat   MethodsCallingMe   depth
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Potentially dead Fields
// <Name>Potentially dead Fields</Name>
warnif count > 0
from f in JustMyCode.Fields where
   
f.NbMethodsUsingMe == 0 && 
   
!f.IsPublic &&     // Although not recommended, public fields might be used by client applications of your Projects.
   !f.IsEnumValue   
  
   
// If you don't want to link CppDepend.API.dll, you can use your own IsNotDeadCodeAttribute and adapt this rule.
select f

110 fields matched

fieldsFull Name
_error_typeglsl_type._error_type
_void_typeglsl_type._void_type
_bool_typeglsl_type._bool_type
_bvec2_typeglsl_type._bvec2_type
_bvec3_typeglsl_type._bvec3_type
_bvec4_typeglsl_type._bvec4_type
_int_typeglsl_type._int_type
_ivec2_typeglsl_type._ivec2_type
_ivec3_typeglsl_type._ivec3_type
_ivec4_typeglsl_type._ivec4_type
_uint_typeglsl_type._uint_type
_uvec2_typeglsl_type._uvec2_type
_uvec3_typeglsl_type._uvec3_type
_uvec4_typeglsl_type._uvec4_type
_float_typeglsl_type._float_type
_vec2_typeglsl_type._vec2_type
_vec3_typeglsl_type._vec3_type
_vec4_typeglsl_type._vec4_type
_mat2_typeglsl_type._mat2_type
_mat3_typeglsl_type._mat3_type
_mat4_typeglsl_type._mat4_type
_mat2x3_typeglsl_type._mat2x3_type
_mat2x4_typeglsl_type._mat2x4_type
_mat3x2_typeglsl_type._mat3x2_type
_mat3x4_typeglsl_type._mat3x4_type
_mat4x2_typeglsl_type._mat4x2_type
_mat4x3_typeglsl_type._mat4x3_type
_sampler1D_typeglsl_type._sampler1D_type
_sampler2D_typeglsl_type._sampler2D_type
_sampler3D_typeglsl_type._sampler3D_type
_samplerCube_typeglsl_type._samplerCube_type
_sampler1DArray_typeglsl_type._sampler1DArray_type
_sampler2DArray_typeglsl_type._sampler2DArray_type
_samplerCubeArray_typeglsl_type._samplerCubeArray_type
_sampler2DRect_typeglsl_type._sampler2DRect_type
_samplerBuffer_typeglsl_type._samplerBuffer_type
_sampler2DMS_typeglsl_type._sampler2DMS_type
_sampler2DMSArray_typeglsl_type._sampler2DMSArray_type
_isampler1D_typeglsl_type._isampler1D_type
_isampler2D_typeglsl_type._isampler2D_type
_isampler3D_typeglsl_type._isampler3D_type
_isamplerCube_typeglsl_type._isamplerCube_type
_isampler1DArray_typeglsl_type._isampler1DArray_type
_isampler2DArray_typeglsl_type._isampler2DArray_type
_isamplerCubeArray_typeglsl_type._isamplerCubeArray_type
_isampler2DRect_typeglsl_type._isampler2DRect_type
_isamplerBuffer_typeglsl_type._isamplerBuffer_type
_isampler2DMS_typeglsl_type._isampler2DMS_type
_isampler2DMSArray_typeglsl_type._isampler2DMSArray_type
_usampler1D_typeglsl_type._usampler1D_type
_usampler2D_typeglsl_type._usampler2D_type
_usampler3D_typeglsl_type._usampler3D_type
_usamplerCube_typeglsl_type._usamplerCube_type
_usampler1DArray_typeglsl_type._usampler1DArray_type
_usampler2DArray_typeglsl_type._usampler2DArray_type
_usamplerCubeArray_typeglsl_type._usamplerCubeArray_type
_usampler2DRect_typeglsl_type._usampler2DRect_type
_usamplerBuffer_typeglsl_type._usamplerBuffer_type
_usampler2DMS_typeglsl_type._usampler2DMS_type
_usampler2DMSArray_typeglsl_type._usampler2DMSArray_type
_sampler1DShadow_typeglsl_type._sampler1DShadow_type
_sampler2DShadow_typeglsl_type._sampler2DShadow_type
_samplerCubeShadow_typeglsl_type._samplerCubeShadow_type
_sampler1DArrayShadow_typeglsl_type._sampler1DArrayShadow_type
_sampler2DArrayShadow_typeglsl_type._sampler2DArrayShadow_type
_samplerCubeArrayShadow_typeglsl_type._samplerCubeArrayShadow_type
_sampler2DRectShadow_typeglsl_type._sampler2DRectShadow_type
_samplerExternalOES_typeglsl_type._samplerExternalOES_type
_image1D_typeglsl_type._image1D_type
_image2D_typeglsl_type._image2D_type
_image3D_typeglsl_type._image3D_type
_image2DRect_typeglsl_type._image2DRect_type
_imageCube_typeglsl_type._imageCube_type
_imageBuffer_typeglsl_type._imageBuffer_type
_image1DArray_typeglsl_type._image1DArray_type
_image2DArray_typeglsl_type._image2DArray_type
_imageCubeArray_typeglsl_type._imageCubeArray_type
_image2DMS_typeglsl_type._image2DMS_type
_image2DMSArray_typeglsl_type._image2DMSArray_type
_iimage1D_typeglsl_type._iimage1D_type
_iimage2D_typeglsl_type._iimage2D_type
_iimage3D_typeglsl_type._iimage3D_type
_iimage2DRect_typeglsl_type._iimage2DRect_type
_iimageCube_typeglsl_type._iimageCube_type
_iimageBuffer_typeglsl_type._iimageBuffer_type
_iimage1DArray_typeglsl_type._iimage1DArray_type
_iimage2DArray_typeglsl_type._iimage2DArray_type
_iimageCubeArray_typeglsl_type._iimageCubeArray_type
_iimage2DMS_typeglsl_type._iimage2DMS_type
_iimage2DMSArray_typeglsl_type._iimage2DMSArray_type
_uimage1D_typeglsl_type._uimage1D_type
_uimage2D_typeglsl_type._uimage2D_type
_uimage3D_typeglsl_type._uimage3D_type
_uimage2DRect_typeglsl_type._uimage2DRect_type
_uimageCube_typeglsl_type._uimageCube_type
_uimageBuffer_typeglsl_type._uimageBuffer_type
_uimage1DArray_typeglsl_type._uimage1DArray_type
_uimage2DArray_typeglsl_type._uimage2DArray_type
_uimageCubeArray_typeglsl_type._uimageCubeArray_type
_uimage2DMS_typeglsl_type._uimage2DMS_type

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:

020
Visibility  

warningCritical    Rule warning: Fields should be declared as private
// <Name>Fields should be declared as private</Name>
warnif count > 0 from f in Application.Fields where 
 
!f.IsPrivate && 

 
// These conditions filter cases where fields 
 // doesn't represent state that should be encapsulated. 
 !f.IsGeneratedByCompiler && 
 
!f.IsEnumValue
select new { f }

3,494 fields matched

fieldsFull Name
next_inbz_stream.next_in
avail_inbz_stream.avail_in
total_in_lo32bz_stream.total_in_lo32
total_in_hi32bz_stream.total_in_hi32
next_outbz_stream.next_out
avail_outbz_stream.avail_out
total_out_lo32bz_stream.total_out_lo32
total_out_hi32bz_stream.total_out_hi32
statebz_stream.state
bzallocbz_stream.bzalloc
bzfreebz_stream.bzfree
opaquebz_stream.opaque
strmEState.strm
modeEState.mode
stateEState.state
avail_in_expectEState.avail_in_expect
arr1EState.arr1
arr2EState.arr2
ftabEState.ftab
origPtrEState.origPtr
ptrEState.ptr
blockEState.block
mtfvEState.mtfv
zbitsEState.zbits
workFactorEState.workFactor
state_in_chEState.state_in_ch
state_in_lenEState.state_in_len
rNToGoEState.rNToGo
rTPosEState.rTPos
nblockEState.nblock
nblockMAXEState.nblockMAX
numZEState.numZ
state_out_posEState.state_out_pos
nInUseEState.nInUse
inUseEState.inUse
unseqToSeqEState.unseqToSeq
bsBuffEState.bsBuff
bsLiveEState.bsLive
blockCRCEState.blockCRC
combinedCRCEState.combinedCRC
verbosityEState.verbosity
blockNoEState.blockNo
blockSize100kEState.blockSize100k
nMTFEState.nMTF
mtfFreqEState.mtfFreq
selectorEState.selector
selectorMtfEState.selectorMtf
lenEState.len
codeEState.code
rfreqEState.rfreq
len_packEState.len_pack
incs__Globals.incs
bzerrorstrings__Globals.bzerrorstrings
BZ2_crc32Table__Globals.BZ2_crc32Table
BZ2_rNums__Globals.BZ2_rNums
strmDState.strm
stateDState.state
state_out_chDState.state_out_ch
state_out_lenDState.state_out_len
blockRandomisedDState.blockRandomised
rNToGoDState.rNToGo
rTPosDState.rTPos
bsBuffDState.bsBuff
bsLiveDState.bsLive
blockSize100kDState.blockSize100k
smallDecompressDState.smallDecompress
currBlockNoDState.currBlockNo
verbosityDState.verbosity
origPtrDState.origPtr
tPosDState.tPos
k0DState.k0
unzftabDState.unzftab
nblock_usedDState.nblock_used
cftabDState.cftab
cftabCopyDState.cftabCopy
ttDState.tt
ll16DState.ll16
ll4DState.ll4
storedBlockCRCDState.storedBlockCRC
storedCombinedCRCDState.storedCombinedCRC
calculatedBlockCRCDState.calculatedBlockCRC
calculatedCombinedCRCDState.calculatedCombinedCRC
nInUseDState.nInUse
inUseDState.inUse
inUse16DState.inUse16
seqToUnseqDState.seqToUnseq
mtfaDState.mtfa
mtfbaseDState.mtfbase
selectorDState.selector
selectorMtfDState.selectorMtf
lenDState.len
limitDState.limit
baseDState.base
permDState.perm
minLensDState.minLens
save_iDState.save_i
save_jDState.save_j
save_tDState.save_t
save_alphaSizeDState.save_alphaSize
save_nGroupsDState.save_nGroups

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Constructors of abstract classes should be declared as protected or private
// <Name>Constructors of abstract classes should be declared as protected or private</Name>
// Constructors of an abstract class can only be accessed from this class and derived class.
// Declaring such a constructor with another visibility level is useless and potentially misleading.

warnif count > 0
from t in Application.Types where 
  
t.IsClass && 
  
t.IsAbstract
let ctors = t.Constructors.Where(c => !c.IsProtected && !c.IsPrivate)
where ctors.Count() > 0
select new { t, ctors }

// Notice that if a constructor of an abstract class is declared as private,
// it can only be accessed from derived classes nested in the abstract class.

14 types matched

typesctorsFull Name
ir_visitor1 methodir_visitor
ir_instruction1 methodir_instruction
ir_dereference1 methodir_dereference
program_resource_visitor3 methodsprogram_resource_visitor
ir_rvalue_base_visitor3 methodsir_rvalue_base_visitor
s_expression2 methodss_expression
s_number2 methodss_number
TIntermNode2 methodsTIntermNode
TSymbol3 methodsTSymbol
ForceFeedback2 methodsOIS.ForceFeedback
InputManager1 methodOIS.InputManager
FactoryCreator2 methodsOIS.FactoryCreator
Object1 methodOIS.Object
Keyboard1 methodOIS.Keyboard

Statistics

Stat   ctors
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

120
Purity - Immutability - Side-Effects  

warningCritical    Rule warning: Structures should be immutable
// <Name>Structures should be immutable</Name>
warnif count > 0 from t in Application.Types where 
   
t.IsStructure && 
  
!t.IsImmutable

let mutableFields = t.Fields.Where(f => !f.IsImmutable)

select new { t, t.NbLinesOfCode, mutableFields }

// It is deemed as a good practice to make 
// your structure immutable.
// An object is immutable if its state doesn’t 
// change once the object has been created. 
// Consequently, a structure is immutable if 
// its instances are immutable.
// Immutable types naturally simplify code by 
// limiting side-effects.
// See some explanations on immutability and 
// how NDepend supports it here:
// http://codebetter.com/blogs/patricksmacchia/archive/2008/01/13/immutable-types-understand-them-and-use-them.aspx

280 types matched

types# lines of code (LOC)mutableFieldsFull Name
bz_stream012 fieldsbz_stream
EState039 fieldsEState
DState064 fieldsDState
bzFile07 fieldsbzFile
FIBITMAP01 fieldFIBITMAP
FIMULTIBITMAP01 fieldFIMULTIBITMAP
tagRGBQUAD04 fieldstagRGBQUAD
tagRGBTRIPLE03 fieldstagRGBTRIPLE
tagBITMAPINFOHEADER011 fieldstagBITMAPINFOHEADER
tagBITMAPINFO02 fieldstagBITMAPINFO
tagFIRGB1603 fieldstagFIRGB16
tagFIRGBA1604 fieldstagFIRGBA16
tagFIRGBF03 fieldstagFIRGBF
tagFIRGBAF04 fieldstagFIRGBAF
tagFICOMPLEX02 fieldstagFICOMPLEX
FIICCPROFILE03 fieldsFIICCPROFILE
FIMETADATA01 fieldFIMETADATA
FITAG01 fieldFITAG
FreeImageIO04 fieldsFreeImageIO
FIMEMORY01 fieldFIMEMORY
Plugin016 fieldsPlugin
FIMEMORYHEADER05 fieldsFIMEMORYHEADER
tagFILE_RGBA04 fieldstagFILE_RGBA
tagFILE_BGRA04 fieldstagFILE_BGRA
tagFILE_RGB03 fieldstagFILE_RGB
tagFILE_BGR03 fieldstagFILE_BGR
tagTagInfo03 fieldstagTagInfo
METADATAHEADER02 fieldsMETADATAHEADER
FREEIMAGEHEADER011 fieldsFREEIMAGEHEADER
FREEIMAGERGBMASKS03 fieldsFREEIMAGERGBMASKS
tagNamedColor04 fieldstagNamedColor
PluginNode08 fieldsPluginNode
DeprecationMgr+DeprecatedFunction03 fieldsDeprecationMgr+DeprecatedFunction
tagJ2KFIO_t03 fieldstagJ2KFIO_t
tagBITMAPCOREHEADER05 fieldstagBITMAPCOREHEADER
tagBITMAPINFOOS2_1X_HEADER05 fieldstagBITMAPINFOOS2_1X_HEADER
tagBITMAPFILEHEADER05 fieldstagBITMAPFILEHEADER
tagCUTHEADER03 fieldstagCUTHEADER
tagDDPIXELFORMAT08 fieldstagDDPIXELFORMAT
tagDDCAPS203 fieldstagDDCAPS2
tagDDSURFACEDESC2011 fieldstagDDSURFACEDESC2
tagDDSHEADER02 fieldstagDDSHEADER
tagColor888804 fieldstagColor8888
tagColor56503 fieldstagColor565
tagDXTColBlock02 fieldstagDXTColBlock
tagDXTAlphaBlockExplicit01 fieldtagDXTAlphaBlockExplicit
tagDXTAlphaBlock3BitLinear02 fieldstagDXTAlphaBlock3BitLinear
tagDXT1Block01 fieldtagDXT1Block
tagDXT3Block02 fieldstagDXT3Block
tagDXT5Block02 fieldstagDXT5Block
GIFinfo48 fieldsGIFinfo
PageInfo55 fieldsPageInfo
tagHeaderInfo05 fieldstagHeaderInfo
tagICONHEADER03 fieldstagICONHEADER
tagICONDIRECTORYENTRY08 fieldstagICONDIRECTORYENTRY
BMHD013 fieldsBMHD
tagErrorManager02 fieldstagErrorManager
tagSourceManager05 fieldstagSourceManager
tagDestinationManager04 fieldstagDestinationManager
tagKOALA04 fieldstagKOALA
colour_t03 fieldscolour_t
tagPCXHEADER015 fieldstagPCXHEADER
OpDef03 fieldsOpDef
MacRect04 fieldsMacRect
MacpixMap013 fieldsMacpixMap
MacRGBColour03 fieldsMacRGBColour
MacPoint02 fieldsMacPoint
MacPattern01 fieldMacPattern
fi_ioStructure02 fieldsfi_ioStructure
psdHeader08 fieldspsdHeader
tagSUNHEADER08 fieldstagSUNHEADER
tagSGIHeader013 fieldstagSGIHeader
tagRLEStatus02 fieldstagRLEStatus
tagTGAHEADER012 fieldstagTGAHEADER
tagTGAEXTENSIONAREA015 fieldstagTGAEXTENSIONAREA
tagTGAFOOTER03 fieldstagTGAFOOTER
TIFFDisplay013 fieldsTIFFDisplay
TIFFYCbCrToRGB06 fieldsTIFFYCbCrToRGB
TIFFCIELabToRGB011 fieldsTIFFCIELabToRGB
_TIFFRGBAImage025 fields_TIFFRGBAImage
TIFFCodec03 fieldsTIFFCodec
TIFFTagMethods03 fieldsTIFFTagMethods
TIFFFieldInfo08 fieldsTIFFFieldInfo
fi_TIFFIO03 fieldsfi_TIFFIO
tagWBMPHEADER05 fieldstagWBMPHEADER
WuQuantizer+tagBox07 fieldsWuQuantizer+tagBox
Block03 fieldsBlock
BlockTypeS11 fieldBlockTypeS
BlockContinueus22 fieldsBlockContinueus
BlockReference22 fieldsBlockReference
MULTIBITMAPHEADER013 fieldsMULTIBITMAPHEADER
FITAGHEADER07 fieldsFITAGHEADER
CWeightsTable+Contribution03 fieldsCWeightsTable+Contribution
ir_state_slot02 fieldsir_state_slot
ir_variable+ir_variable_data027 fieldsir_variable+ir_variable_data
ir_variable+ir_variable_data+Anonymous02 fieldsir_variable+ir_variable_data+Anonymous
ir_variable+ir_variable_data+Anonymous06 fieldsir_variable+ir_variable_data+Anonymous
ir_texture+Anonymous+Anonymous02 fieldsir_texture+Anonymous+Anonymous
ir_swizzle_mask06 fieldsir_swizzle_mask
ast_node+Anonymous03 fieldsast_node+Anonymous

Statistics

Stat   # lines of code (LOC)   mutableFields
Sum:2 6710
Average:9.540
Minimum:00
Maximum:1 0220
Standard deviation:72.790
Variance:5 2980
warningCritical    Rule warning: Avoid static fields with a mutable field type
// <Name>Avoid static fields with a mutable field type</Name>
warnif count > 0
from f in Application.Fields
where f.IsStatic && !f.IsEnumValue && !f.IsGeneratedByCompiler
let fieldType = f.FieldType
where fieldType != null && 
     
!fieldType.IsThirdParty && 
     
!fieldType.IsInterface && 
     
!fieldType.IsImmutable
select new { f, 
             
mutableFieldType = fieldType , 
             
isFieldImmutable = f.IsImmutable }

// As explained in this blog post
// http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members
// static fields should be used to hold only constant and immutable states.

314 fields matched

fieldsmutableFieldTypeisFieldImmutableFull Name
X11ColorMaptagNamedColorFalse__Globals.X11ColorMap
SVGColorMaptagNamedColorFalse__Globals.SVGColorMap
optableOpDefFalse__Globals.optable
exif_exif_tag_tabletagTagInfoFalse__Globals.exif_exif_tag_table
exif_gps_tag_tabletagTagInfoFalse__Globals.exif_gps_tag_table
exif_interop_tag_tabletagTagInfoFalse__Globals.exif_interop_tag_table
exif_canon_tag_tabletagTagInfoFalse__Globals.exif_canon_tag_table
exif_casio_type1_tag_tabletagTagInfoFalse__Globals.exif_casio_type1_tag_table
exif_casio_type2_tag_tabletagTagInfoFalse__Globals.exif_casio_type2_tag_table
exif_fujifilm_tag_tabletagTagInfoFalse__Globals.exif_fujifilm_tag_table
exif_kyocera_tag_tabletagTagInfoFalse__Globals.exif_kyocera_tag_table
exif_olympus_type1_tag_tabletagTagInfoFalse__Globals.exif_olympus_type1_tag_table
exif_minolta_tag_tabletagTagInfoFalse__Globals.exif_minolta_tag_table
exif_nikon_type1_tag_tabletagTagInfoFalse__Globals.exif_nikon_type1_tag_table
exif_nikon_type2_tag_tabletagTagInfoFalse__Globals.exif_nikon_type2_tag_table
exif_nikon_type3_tag_tabletagTagInfoFalse__Globals.exif_nikon_type3_tag_table
exif_panasonic_tag_tabletagTagInfoFalse__Globals.exif_panasonic_tag_table
exif_asahi_tag_tabletagTagInfoFalse__Globals.exif_asahi_tag_table
exif_pentax_tag_tabletagTagInfoFalse__Globals.exif_pentax_tag_table
exif_sony_tag_tabletagTagInfoFalse__Globals.exif_sony_tag_table
exif_sigma_sd1_tag_tabletagTagInfoFalse__Globals.exif_sigma_sd1_tag_table
exif_sigma_foveon_tag_tabletagTagInfoFalse__Globals.exif_sigma_foveon_tag_table
iptc_tag_tabletagTagInfoFalse__Globals.iptc_tag_table
geotiff_tag_tabletagTagInfoFalse__Globals.geotiff_tag_table
animation_tag_tabletagTagInfoFalse__Globals.animation_tag_table
xtiffFieldInfoTIFFFieldInfoFalse__Globals.xtiffFieldInfo
builtinsbuiltin_builderFalse__Globals.builtins
gl_DepthRangeParameters_fieldsglsl_struct_fieldFalse__Globals.gl_DepthRangeParameters_fields
gl_PointParameters_fieldsglsl_struct_fieldFalse__Globals.gl_PointParameters_fields
gl_MaterialParameters_fieldsglsl_struct_fieldFalse__Globals.gl_MaterialParameters_fields
gl_LightSourceParameters_fieldsglsl_struct_fieldFalse__Globals.gl_LightSourceParameters_fields
gl_LightModelParameters_fieldsglsl_struct_fieldFalse__Globals.gl_LightModelParameters_fields
gl_LightModelProducts_fieldsglsl_struct_fieldFalse__Globals.gl_LightModelProducts_fields
gl_LightProducts_fieldsglsl_struct_fieldFalse__Globals.gl_LightProducts_fields
gl_FogParameters_fieldsglsl_struct_fieldFalse__Globals.gl_FogParameters_fields
builtin_type_versionsbuiltin_type_versionsFalse__Globals.builtin_type_versions
gl_NumSamples_elementsgl_builtin_uniform_elementFalse__Globals.gl_NumSamples_elements
gl_DepthRange_elementsgl_builtin_uniform_elementFalse__Globals.gl_DepthRange_elements
gl_ClipPlane_elementsgl_builtin_uniform_elementFalse__Globals.gl_ClipPlane_elements
gl_Point_elementsgl_builtin_uniform_elementFalse__Globals.gl_Point_elements
gl_FrontMaterial_elementsgl_builtin_uniform_elementFalse__Globals.gl_FrontMaterial_elements
gl_BackMaterial_elementsgl_builtin_uniform_elementFalse__Globals.gl_BackMaterial_elements
gl_LightSource_elementsgl_builtin_uniform_elementFalse__Globals.gl_LightSource_elements
gl_LightModel_elementsgl_builtin_uniform_elementFalse__Globals.gl_LightModel_elements
gl_FrontLightModelProduct_elementsgl_builtin_uniform_elementFalse__Globals.gl_FrontLightModelProduct_elements
gl_BackLightModelProduct_elementsgl_builtin_uniform_elementFalse__Globals.gl_BackLightModelProduct_elements
gl_FrontLightProduct_elementsgl_builtin_uniform_elementFalse__Globals.gl_FrontLightProduct_elements
gl_BackLightProduct_elementsgl_builtin_uniform_elementFalse__Globals.gl_BackLightProduct_elements
gl_TextureEnvColor_elementsgl_builtin_uniform_elementFalse__Globals.gl_TextureEnvColor_elements
gl_EyePlaneS_elementsgl_builtin_uniform_elementFalse__Globals.gl_EyePlaneS_elements
gl_EyePlaneT_elementsgl_builtin_uniform_elementFalse__Globals.gl_EyePlaneT_elements
gl_EyePlaneR_elementsgl_builtin_uniform_elementFalse__Globals.gl_EyePlaneR_elements
gl_EyePlaneQ_elementsgl_builtin_uniform_elementFalse__Globals.gl_EyePlaneQ_elements
gl_ObjectPlaneS_elementsgl_builtin_uniform_elementFalse__Globals.gl_ObjectPlaneS_elements
gl_ObjectPlaneT_elementsgl_builtin_uniform_elementFalse__Globals.gl_ObjectPlaneT_elements
gl_ObjectPlaneR_elementsgl_builtin_uniform_elementFalse__Globals.gl_ObjectPlaneR_elements
gl_ObjectPlaneQ_elementsgl_builtin_uniform_elementFalse__Globals.gl_ObjectPlaneQ_elements
gl_Fog_elementsgl_builtin_uniform_elementFalse__Globals.gl_Fog_elements
gl_NormalScale_elementsgl_builtin_uniform_elementFalse__Globals.gl_NormalScale_elements
gl_BumpRotMatrix0MESA_elementsgl_builtin_uniform_elementFalse__Globals.gl_BumpRotMatrix0MESA_elements
gl_BumpRotMatrix1MESA_elementsgl_builtin_uniform_elementFalse__Globals.gl_BumpRotMatrix1MESA_elements
gl_FogParamsOptimizedMESA_elementsgl_builtin_uniform_elementFalse__Globals.gl_FogParamsOptimizedMESA_elements
gl_CurrentAttribVertMESA_elementsgl_builtin_uniform_elementFalse__Globals.gl_CurrentAttribVertMESA_elements
gl_CurrentAttribFragMESA_elementsgl_builtin_uniform_elementFalse__Globals.gl_CurrentAttribFragMESA_elements
gl_ModelViewMatrix_elementsgl_builtin_uniform_elementFalse__Globals.gl_ModelViewMatrix_elements
gl_ModelViewMatrixInverse_elementsgl_builtin_uniform_elementFalse__Globals.gl_ModelViewMatrixInverse_elements
gl_ModelViewMatrixTranspose_elementsgl_builtin_uniform_elementFalse__Globals.gl_ModelViewMatrixTranspose_elements
gl_ModelViewMatrixInverseTranspose_elementsgl_builtin_uniform_elementFalse__Globals.gl_ModelViewMatrixInverseTranspose_elements
gl_ProjectionMatrix_elementsgl_builtin_uniform_elementFalse__Globals.gl_ProjectionMatrix_elements
gl_ProjectionMatrixInverse_elementsgl_builtin_uniform_elementFalse__Globals.gl_ProjectionMatrixInverse_elements
gl_ProjectionMatrixTranspose_elementsgl_builtin_uniform_elementFalse__Globals.gl_ProjectionMatrixTranspose_elements
gl_ProjectionMatrixInverseTranspose_elementsgl_builtin_uniform_elementFalse__Globals.gl_ProjectionMatrixInverseTranspose_elements
gl_ModelViewProjectionMatrix_elementsgl_builtin_uniform_elementFalse__Globals.gl_ModelViewProjectionMatrix_elements
gl_ModelViewProjectionMatrixInverse_elementsgl_builtin_uniform_elementFalse__Globals.gl_ModelViewProjectionMatrixInverse_elements
gl_ModelViewProjectionMatrixTranspose_elementsgl_builtin_uniform_elementFalse__Globals.gl_ModelViewProjectionMatrixTranspose_elements
gl_ModelViewProjectionMatrixInverseTranspose_elementsgl_builtin_uniform_elementFalse__Globals.gl_ModelViewProjectionMatrixInverseTranspose_elements
gl_TextureMatrix_elementsgl_builtin_uniform_elementFalse__Globals.gl_TextureMatrix_elements
gl_TextureMatrixInverse_elementsgl_builtin_uniform_elementFalse__Globals.gl_TextureMatrixInverse_elements
gl_TextureMatrixTranspose_elementsgl_builtin_uniform_elementFalse__Globals.gl_TextureMatrixTranspose_elements
gl_TextureMatrixInverseTranspose_elementsgl_builtin_uniform_elementFalse__Globals.gl_TextureMatrixInverseTranspose_elements
gl_NormalMatrix_elementsgl_builtin_uniform_elementFalse__Globals.gl_NormalMatrix_elements
_mesa_builtin_uniform_descgl_builtin_uniform_descFalse__Globals._mesa_builtin_uniform_desc
_mesa_glsl_supported_extensions_mesa_glsl_extensionFalse__Globals._mesa_glsl_supported_extensions
hash_sizesAnonymousFalse__Globals.hash_sizes
error_typeglsl_typeFalseglsl_type.error_type
void_typeglsl_typeFalseglsl_type.void_type
bool_typeglsl_typeFalseglsl_type.bool_type
bvec2_typeglsl_typeFalseglsl_type.bvec2_type
bvec3_typeglsl_typeFalseglsl_type.bvec3_type
bvec4_typeglsl_typeFalseglsl_type.bvec4_type
int_typeglsl_typeFalseglsl_type.int_type
ivec2_typeglsl_typeFalseglsl_type.ivec2_type
ivec3_typeglsl_typeFalseglsl_type.ivec3_type
ivec4_typeglsl_typeFalseglsl_type.ivec4_type
uint_typeglsl_typeFalseglsl_type.uint_type
uvec2_typeglsl_typeFalseglsl_type.uvec2_type
uvec3_typeglsl_typeFalseglsl_type.uvec3_type
uvec4_typeglsl_typeFalseglsl_type.uvec4_type
float_typeglsl_typeFalseglsl_type.float_type
vec2_typeglsl_typeFalseglsl_type.vec2_type

Statistics

Stat   mutableFieldType   isFieldImmutable
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

270
Naming Conventions  

warningCritical    Rule warning: Instance fields should be prefixed with a 'm_'
// <Name>Instance fields should be prefixed with a 'm_'</Name>
warnif count > 0 (from f in Fields where 
  
!f.NameLike (@"^m_") && 
  
!f.IsStatic  
  
// Don't hesitate to customize the regex of NameLike to your preference. 
 && !f.IsGlobal && !f.IsEnumValue && !f.IsThirdParty 
select new { f }).Take(10)

10 fields matched

fieldsFull Name
next_inbz_stream.next_in
avail_inbz_stream.avail_in
total_in_lo32bz_stream.total_in_lo32
total_in_hi32bz_stream.total_in_hi32
next_outbz_stream.next_out
avail_outbz_stream.avail_out
total_out_lo32bz_stream.total_out_lo32
total_out_hi32bz_stream.total_out_hi32
statebz_stream.state
bzallocbz_stream.bzalloc

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Static fields should be prefixed with a 's_'
// <Name>Static fields should be prefixed with a 's_'</Name>
   warnif count > 0 (from f in Fields where 
  
!f.NameLike (@"^s_") && 
  
f.IsStatic && !f.IsThirdParty 
  
select new { f }).Take(10)  
  
// Don't hesitate to customize the regex of NameLike to your preference.


10 fields matched

fieldsFull Name
incs__Globals.incs
bzerrorstrings__Globals.bzerrorstrings
FI_MSG_ERROR_MEMORY__Globals.FI_MSG_ERROR_MEMORY
FI_MSG_ERROR_DIB_MEMORY__Globals.FI_MSG_ERROR_DIB_MEMORY
FI_MSG_ERROR_PARSING__Globals.FI_MSG_ERROR_PARSING
FI_MSG_ERROR_MAGIC_NUMBER__Globals.FI_MSG_ERROR_MAGIC_NUMBER
FI_MSG_ERROR_UNSUPPORTED_FORMAT__Globals.FI_MSG_ERROR_UNSUPPORTED_FORMAT
FI_MSG_ERROR_UNSUPPORTED_COMPRESSION__Globals.FI_MSG_ERROR_UNSUPPORTED_COMPRESSION
FI_MSG_WARNING_INVALID_THUMBNAIL__Globals.FI_MSG_WARNING_INVALID_THUMBNAIL
g_TagLib_XMPFieldName__Globals.g_TagLib_XMPFieldName

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Types name should begin with an Upper character
// <Name>Types name should begin with an Upper character</Name>
warnif count > 0 (from t in Types where 
 
!t.NameLike (@"^[A-Z]")      // The name of a type should begin with an Upper letter.
  && // Except if it is generated by compiler or ...
 !t.IsThirdParty && !t.IsGlobal
select new { t, t.NbLinesOfCode }).Take(10)

10 types matched

types# lines of code (LOC)Full Name
bz_stream0bz_stream
bzFile0bzFile
tagRGBQUAD0tagRGBQUAD
tagRGBTRIPLE0tagRGBTRIPLE
tagBITMAPINFOHEADER0tagBITMAPINFOHEADER
tagBITMAPINFO0tagBITMAPINFO
tagFIRGB160tagFIRGB16
tagFIRGBA160tagFIRGBA16
tagFIRGBF0tagFIRGBF
tagFIRGBAF0tagFIRGBAF

Statistics

Stat   # lines of code (LOC)
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid types with name too long
// <Name>Avoid types with name too long</Name>
warnif count > 0 from t in Application.Types 
where !t.IsGeneratedByCompiler && !t.IsThirdParty

where t.SimpleName.Length > 35 
select new { t, t.SimpleName }

      

3 types matched

typesSimpleNameFull Name
flatten_named_interface_blocks_declarationsflatten_named_interface_blocks_declarationsanonymous_namespace{lower_named_interface_blocks.cpp} .flatten_named_interface_blocks_declarations
variable_index_to_cond_assign_visitorvariable_index_to_cond_assign_visitoranonymous_namespace{lower_variable_index_to_cond_assign.cpp} .variable_index_to_cond_assign_visitor
ir_copy_propagation_elements_visitorir_copy_propagation_elements_visitoranonymous_namespace{opt_copy_propagation_elements.cpp} .ir_copy_propagation_elements_visitor

Statistics

Stat   SimpleName
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid methods with name too long
// <Name>Avoid methods with name too long</Name>
warnif count > 0 from m in Application.Methods where 
 
!m.IsGeneratedByCompiler 
  
&& m.SimpleName.Length > 35 && !m.IsThirdParty

select new { m, m.SimpleName }

// The regex matches methods with name longer 
// than 35 characters.
// Method Name doesn't contain the type and namespace 
// prefix, FullName does.
// The regex computes the method name length from 
// the beginning until the first open parenthesis 
// or first lower than (for generic methods).
      

30 methods matched

methodsSimpleNameFull Name
FreeImage_ConvertLine16_565_To16_555(BYTE*,BYTE*,int)FreeImage_ConvertLine16_565_To16_555__Globals.FreeImage_ConvertLine16_565_To16_555(BYTE*,BYTE*,int)
FreeImage_ConvertLine16_555_To16_565(BYTE*,BYTE*,int)FreeImage_ConvertLine16_555_To16_565__Globals.FreeImage_ConvertLine16_555_To16_565(BYTE*,BYTE*,int)
FreeImage_ConvertLine1To32MapTransparency(BYTE*,BYTE*,int,RGBQUAD* ,BYTE*,int)FreeImage_ConvertLine1To32MapTransparency__Globals.FreeImage_ConvertLine1To32MapTransparency(BYTE*,BYTE*,int ,RGBQUAD*,BYTE*,int)
FreeImage_ConvertLine4To32MapTransparency(BYTE*,BYTE*,int,RGBQUAD* ,BYTE*,int)FreeImage_ConvertLine4To32MapTransparency__Globals.FreeImage_ConvertLine4To32MapTransparency(BYTE*,BYTE*,int ,RGBQUAD*,BYTE*,int)
FreeImage_ConvertLine8To32MapTransparency(BYTE*,BYTE*,int,RGBQUAD* ,BYTE*,int)FreeImage_ConvertLine8To32MapTransparency__Globals.FreeImage_ConvertLine8To32MapTransparency(BYTE*,BYTE*,int ,RGBQUAD*,BYTE*,int)
FreeImage_GetAdjustColorsLookupTable(BYTE*,double,double,double,BOOL)FreeImage_GetAdjustColorsLookupTable__Globals.FreeImage_GetAdjustColorsLookupTable(BYTE*,double,double ,double,BOOL)
FreeImage_JPEGTransformCombinedFromMemory(FIMEMORY*,FIMEMORY* ,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)FreeImage_JPEGTransformCombinedFromMemory__Globals.FreeImage_JPEGTransformCombinedFromMemory(FIMEMORY* ,FIMEMORY*,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL)
constant_expression_evaluate_expression_list(conststructexec_list& ,structhash_table*,ir_constant**)constant_expression_evaluate_expression_listir_function_signature.constant_expression_evaluate_expression_list (conststructexec_list&,structhash_table*,ir_constant**)
ast_process_structure_or_interface_block(exec_list* ,struct_mesa_glsl_parse_state*,exec_list*,YYLTYPE&,glsl_struct_field** ,bool,bool,bool,ir_variable_mode)ast_process_structure_or_interface_block__Globals.ast_process_structure_or_interface_block(exec_list* ,struct_mesa_glsl_parse_state*,exec_list*,YYLTYPE&,glsl_struct_field** ,bool,bool,bool,ir_variable_mode)
_mesa_glsl_initialize_builtin_functions()_mesa_glsl_initialize_builtin_functions__Globals._mesa_glsl_initialize_builtin_functions()
_mesa_glsl_get_builtin_function_shader()_mesa_glsl_get_builtin_function_shader__Globals._mesa_glsl_get_builtin_function_shader()
_mesa_glsl_release_builtin_functions()_mesa_glsl_release_builtin_functions__Globals._mesa_glsl_release_builtin_functions()
_mesa_glsl_lexer_ensure_buffer_stack(yyscan_t)_mesa_glsl_lexer_ensure_buffer_stack__Globals._mesa_glsl_lexer_ensure_buffer_stack(yyscan_t)
_mesa_destroy_shader_compiler_caches()_mesa_destroy_shader_compiler_caches__Globals._mesa_destroy_shader_compiler_caches()
link_assign_atomic_counter_resources(structgl_context* ,structgl_shader_program*)link_assign_atomic_counter_resources__Globals.link_assign_atomic_counter_resources(structgl_context* ,structgl_shader_program*)
validate_intrastage_interface_blocks(structgl_shader_program* ,constgl_shader**,unsignedint)validate_intrastage_interface_blocks__Globals.validate_intrastage_interface_blocks (structgl_shader_program*,constgl_shader**,unsignedint)
link_update_uniform_buffer_variables(structgl_shader*)link_update_uniform_buffer_variables__Globals.link_update_uniform_buffer_variables(structgl_shader*)
interstage_cross_validate_uniform_blocks(structgl_shader_program*)interstage_cross_validate_uniform_blocks__Globals.interstage_cross_validate_uniform_blocks (structgl_shader_program*)
all_expression_operands_are_loop_constant(ir_rvalue*,hash_table*)all_expression_operands_are_loop_constant__Globals.all_expression_operands_are_loop_constant(ir_rvalue* ,hash_table*)
glcpp_parser_resolve_implicit_version(glcpp_parser_t*)glcpp_parser_resolve_implicit_version__Globals.glcpp_parser_resolve_implicit_version(glcpp_parser_t*)
_glcpp_parser_print_expanded_token_list(glcpp_parser_t*,token_list_t*)_glcpp_parser_print_expanded_token_list__Globals._glcpp_parser_print_expanded_token_list(glcpp_parser_t* ,token_list_t*)
_glcpp_parser_handle_version_declaration(glcpp_parser_t*,intmax_t ,constchar*,bool)_glcpp_parser_handle_version_declaration__Globals._glcpp_parser_handle_version_declaration(glcpp_parser_t* ,intmax_t,constchar*,bool)
_mesa_symbol_table_add_global_symbol(struct_mesa_symbol_table*,int ,constchar*,void*)_mesa_symbol_table_add_global_symbol__Globals._mesa_symbol_table_add_global_symbol (struct_mesa_symbol_table*,int,constchar*,void*)
check_explicit_attrib_location_allowed(YYLTYPE*,constir_variable*)check_explicit_attrib_location_allowed_mesa_glsl_parse_state.check_explicit_attrib_location_allowed(YYLTYPE* ,constir_variable*)
flatten_named_interface_blocks_declarations(void*)flatten_named_interface_blocks_declarationsanonymous_namespace{lower_named_interface_blocks.cpp} .flatten_named_interface_blocks_declarations .flatten_named_interface_blocks_declarations(void*)
variable_index_to_cond_assign_visitor(bool,bool,bool,bool)variable_index_to_cond_assign_visitoranonymous_namespace{lower_variable_index_to_cond_assign.cpp} .variable_index_to_cond_assign_visitor .variable_index_to_cond_assign_visitor(bool,bool,bool,bool)
convert_vector_extract_to_cond_assign(ir_rvalue*)convert_vector_extract_to_cond_assignanonymous_namespace{lower_vec_index_to_cond_assign.cpp} .ir_vec_index_to_cond_assign_visitor .convert_vector_extract_to_cond_assign(ir_rvalue*)
ir_copy_propagation_elements_visitor()ir_copy_propagation_elements_visitoranonymous_namespace{opt_copy_propagation_elements.cpp} .ir_copy_propagation_elements_visitor .ir_copy_propagation_elements_visitor()
~ir_copy_propagation_elements_visitor()~ir_copy_propagation_elements_visitoranonymous_namespace{opt_copy_propagation_elements.cpp} .ir_copy_propagation_elements_visitor .~ir_copy_propagation_elements_visitor()
constructBuiltInAllowUpwardVectorPromote(constTType*,TOperator ,TIntermNode*,TSourceLoc,bool)constructBuiltInAllowUpwardVectorPromoteTParseContext.constructBuiltInAllowUpwardVectorPromote(constTType* ,TOperator,TIntermNode*,TSourceLoc,bool)

Statistics

Stat   SimpleName
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid fields with name too long
// <Name>Avoid fields with name too long</Name>
warnif count > 0 from f in Application.Fields where
 
!f.IsGeneratedByCompiler &&
  
f.Name.Length > 35 && !f.IsThirdParty
select f

// The regex matches fields with name longer 
// than 35 characters.
// Field Name doesn't contain the type and 
// namespace prefix, FullName does.
      

27 fields matched

fieldsFull Name
FI_MSG_ERROR_UNSUPPORTED_COMPRESSION__Globals.FI_MSG_ERROR_UNSUPPORTED_COMPRESSION
gl_ModelViewMatrixTranspose_elements__Globals.gl_ModelViewMatrixTranspose_elements
gl_ModelViewMatrixInverseTranspose_elements__Globals.gl_ModelViewMatrixInverseTranspose_elements
gl_ProjectionMatrixTranspose_elements__Globals.gl_ProjectionMatrixTranspose_elements
gl_ProjectionMatrixInverseTranspose_elements__Globals.gl_ProjectionMatrixInverseTranspose_elements
gl_ModelViewProjectionMatrix_elements__Globals.gl_ModelViewProjectionMatrix_elements
gl_ModelViewProjectionMatrixInverse_elements__Globals.gl_ModelViewProjectionMatrixInverse_elements
gl_ModelViewProjectionMatrixTranspose_elements__Globals.gl_ModelViewProjectionMatrixTranspose_elements
gl_ModelViewProjectionMatrixInverseTranspose_elements__Globals.gl_ModelViewProjectionMatrixInverseTranspose_elements
gl_TextureMatrixInverseTranspose_elements__Globals.gl_TextureMatrixInverseTranspose_elements
QuadsFollowProvokingVertexConventiongl_constants.QuadsFollowProvokingVertexConvention
MaxTransformFeedbackSeparateComponentsgl_constants.MaxTransformFeedbackSeparateComponents
MaxTransformFeedbackInterleavedComponentsgl_constants.MaxTransformFeedbackInterleavedComponents
AlwaysUseGetTransformFeedbackVertexCountgl_constants.AlwaysUseGetTransformFeedbackVertexCount
MaxCombinedImageUnitsAndFragmentOutputsgl_constants.MaxCombinedImageUnitsAndFragmentOutputs
EXT_framebuffer_multisample_blit_scaledgl_extensions.EXT_framebuffer_multisample_blit_scaled
struct_gl_LightSourceParameters_typeglsl_type.struct_gl_LightSourceParameters_type
_struct_gl_DepthRangeParameters_typeglsl_type._struct_gl_DepthRangeParameters_type
_struct_gl_LightSourceParameters_typeglsl_type._struct_gl_LightSourceParameters_type
_struct_gl_LightModelParameters_typeglsl_type._struct_gl_LightModelParameters_type
ARB_fragment_coord_conventions_enable_mesa_glsl_parse_state.ARB_fragment_coord_conventions_enable
MaxCombinedImageUnitsAndFragmentOutputs_mesa_glsl_parse_state+Anonymous .MaxCombinedImageUnitsAndFragmentOutputs
STATE_CURRENT_ATTRIB_MAYBE_VP_CLAMPEDgl_state_index_.STATE_CURRENT_ATTRIB_MAYBE_VP_CLAMPED
MaxCombinedImageUnitsAndFragmentOutputs_mesa_glsl_parse_state+Anonymous .MaxCombinedImageUnitsAndFragmentOutputs
IMAGE_FUNCTION_SUPPORTS_FLOAT_DATA_TYPEanonymous_namespace{builtin_functions.cpp} .builtin_builder+image_function_flags .IMAGE_FUNCTION_SUPPORTS_FLOAT_DATA_TYPE
ETranslateOpEmitGLSL120ArrayInitWorkaroundTTranslateOptions.ETranslateOpEmitGLSL120ArrayInitWorkaround
ETranslateOpPropogateOriginalAttribNamesTTranslateOptions.ETranslateOpPropogateOriginalAttribNames

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Namespace name should correspond to file location
// <Name>Namespace name should correspond to file location</Name>

// For a good code organization, 
// do mirror the namespaces hierarchy and the source files directories tree.

warnif count > 0
from n in Application.Namespaces 

// Replace dots by spaces in namespace name
let dirCorresponding = n.Name.Replace('.', ' ')

// Look at source file decl of JustMyCode type's declared in n
from t in n.ChildTypes
where JustMyCode.Contains(t) 
from decl in t.SourceDecls
let sourceFilePath = decl.SourceFile.FilePath.ToString()

// Replace dots and path separators by spaces in source files names
where !sourceFilePath.Replace('.',' ').Replace('\\',' ').Contains(dirCorresponding) && !t.IsThirdParty

select new { t, dirCorresponding , sourceFilePath  } 

106 types matched

typesdirCorrespondingsourceFilePathFull Name
__Globalsir_builderc:\GlobalMembersir_builder.__Globals
builtin_builderanonymous_namespace{builtin_functions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\builtin_functions.cppanonymous_namespace{builtin_functions.cpp}.builtin_builder
builtin_builder+image_function_flagsanonymous_namespace{builtin_functions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\builtin_functions.cppanonymous_namespace{builtin_functions.cpp} .builtin_builder+image_function_flags
per_vertex_accumulatoranonymous_namespace{builtin_variables cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\builtin_variables.cppanonymous_namespace{builtin_variables.cpp}.per_vertex_accumulator
builtin_variable_generatoranonymous_namespace{builtin_variables cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\builtin_variables.cppanonymous_namespace{builtin_variables.cpp}.builtin_variable_generator
call_nodeanonymous_namespace{ir_function_detect_recursion cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_function_detect_recursion.cppanonymous_namespace{ir_function_detect_recursion.cpp}.call_node
functionanonymous_namespace{ir_function_detect_recursion cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_function_detect_recursion.cppanonymous_namespace{ir_function_detect_recursion.cpp}.function
has_recursion_visitoranonymous_namespace{ir_function_detect_recursion cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_function_detect_recursion.cppanonymous_namespace{ir_function_detect_recursion.cpp} .has_recursion_visitor
import_prototype_visitoranonymous_namespace{ir_import_prototypes cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_import_prototypes.cppanonymous_namespace{ir_import_prototypes.cpp}.import_prototype_visitor
ir_validateanonymous_namespace{ir_validate cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_validate.cppanonymous_namespace{ir_validate.cpp}.ir_validate
active_atomic_counteranonymous_namespace{link_atomics cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_atomics.cppanonymous_namespace{link_atomics.cpp}.active_atomic_counter
active_atomic_bufferanonymous_namespace{link_atomics cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_atomics.cppanonymous_namespace{link_atomics.cpp}.active_atomic_buffer
__Globalsanonymous_namespace{link_atomics cpp}c:\GlobalMembersanonymous_namespace{link_atomics.cpp}.__Globals
call_link_visitoranonymous_namespace{link_functions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_functions.cppanonymous_namespace{link_functions.cpp}.call_link_visitor
interface_block_definitionanonymous_namespace{link_interface_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_interface_blocks.cppanonymous_namespace{link_interface_blocks.cpp} .interface_block_definition
__Globalsanonymous_namespace{link_interface_blocks cpp}c:\GlobalMembersanonymous_namespace{link_interface_blocks.cpp}.__Globals
interface_block_definitionsanonymous_namespace{link_interface_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_interface_blocks.cppanonymous_namespace{link_interface_blocks.cpp} .interface_block_definitions
ubo_visitoranonymous_namespace{link_uniform_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_uniform_blocks.cppanonymous_namespace{link_uniform_blocks.cpp}.ubo_visitor
count_block_sizeanonymous_namespace{link_uniform_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_uniform_blocks.cppanonymous_namespace{link_uniform_blocks.cpp}.count_block_size
__Globalslinkerc:\GlobalMemberslinker.__Globals
count_uniform_sizeanonymous_namespace{link_uniforms cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_uniforms.cppanonymous_namespace{link_uniforms.cpp}.count_uniform_size
find_assignment_visitoranonymous_namespace{linker cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\linker.cppanonymous_namespace{linker.cpp}.find_assignment_visitor
find_deref_visitoranonymous_namespace{linker cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\linker.cppanonymous_namespace{linker.cpp}.find_deref_visitor
geom_array_resize_visitoranonymous_namespace{linker cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\linker.cppanonymous_namespace{linker.cpp}.geom_array_resize_visitor
find_end_primitive_visitoranonymous_namespace{linker cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\linker.cppanonymous_namespace{linker.cpp}.find_end_primitive_visitor
varying_matchesanonymous_namespace{link_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_varyings.cppanonymous_namespace{link_varyings.cpp}.varying_matches
varying_matches+packing_order_enumanonymous_namespace{link_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_varyings.cppanonymous_namespace{link_varyings.cpp} .varying_matches+packing_order_enum
varying_matches+matchanonymous_namespace{link_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_varyings.cppanonymous_namespace{link_varyings.cpp}.varying_matches+match
loop_analysisanonymous_namespace{loop_analysis cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\loop_analysis.cppanonymous_namespace{loop_analysis.cpp}.loop_analysis
loop_control_visitoranonymous_namespace{loop_controls cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\loop_controls.cppanonymous_namespace{loop_controls.cpp}.loop_control_visitor
loop_unroll_visitoranonymous_namespace{loop_unroll cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\loop_unroll.cppanonymous_namespace{loop_unroll.cpp}.loop_unroll_visitor
lower_clip_distance_visitoranonymous_namespace{lower_clip_distance cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_clip_distance.cppanonymous_namespace{lower_clip_distance.cpp} .lower_clip_distance_visitor
lower_discard_visitoranonymous_namespace{lower_discard cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_discard.cppanonymous_namespace{lower_discard.cpp}.lower_discard_visitor
lower_discard_flow_visitoranonymous_namespace{lower_discard_flow cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_discard_flow.cppanonymous_namespace{lower_discard_flow.cpp}.lower_discard_flow_visitor
ir_if_to_cond_assign_visitoranonymous_namespace{lower_if_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_if_to_cond_assign.cppanonymous_namespace{lower_if_to_cond_assign.cpp} .ir_if_to_cond_assign_visitor
lower_instructions_visitoranonymous_namespace{lower_instructions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_instructions.cppanonymous_namespace{lower_instructions.cpp}.lower_instructions_visitor
block_recordanonymous_namespace{lower_jumps cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_jumps.cppanonymous_namespace{lower_jumps.cpp}.block_record
loop_recordanonymous_namespace{lower_jumps cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_jumps.cppanonymous_namespace{lower_jumps.cpp}.loop_record
function_recordanonymous_namespace{lower_jumps cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_jumps.cppanonymous_namespace{lower_jumps.cpp}.function_record
ir_lower_jumps_visitoranonymous_namespace{lower_jumps cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_jumps.cppanonymous_namespace{lower_jumps.cpp}.ir_lower_jumps_visitor
ir_mat_op_to_vec_visitoranonymous_namespace{lower_mat_op_to_vec cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_mat_op_to_vec.cppanonymous_namespace{lower_mat_op_to_vec.cpp}.ir_mat_op_to_vec_visitor
flatten_named_interface_blocks_declarationsanonymous_namespace{lower_named_interface_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_named_interface_blocks.cppanonymous_namespace{lower_named_interface_blocks.cpp} .flatten_named_interface_blocks_declarations
output_read_removeranonymous_namespace{lower_output_reads cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_output_reads.cppanonymous_namespace{lower_output_reads.cpp}.output_read_remover
lower_packed_varyings_visitoranonymous_namespace{lower_packed_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_packed_varyings.cppanonymous_namespace{lower_packed_varyings.cpp} .lower_packed_varyings_visitor
lower_packing_builtins_visitoranonymous_namespace{lower_packing_builtins cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_packing_builtins.cppanonymous_namespace{lower_packing_builtins.cpp} .lower_packing_builtins_visitor
lower_ubo_reference_visitoranonymous_namespace{lower_ubo_reference cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_ubo_reference.cppanonymous_namespace{lower_ubo_reference.cpp} .lower_ubo_reference_visitor
__Globalsanonymous_namespace{lower_ubo_reference cpp}c:\GlobalMembersanonymous_namespace{lower_ubo_reference.cpp}.__Globals
deref_replaceranonymous_namespace{lower_variable_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_variable_index_to_cond_assign.cppanonymous_namespace{lower_variable_index_to_cond_assign.cpp} .deref_replacer
find_variable_indexanonymous_namespace{lower_variable_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_variable_index_to_cond_assign.cppanonymous_namespace{lower_variable_index_to_cond_assign.cpp} .find_variable_index
assignment_generatoranonymous_namespace{lower_variable_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_variable_index_to_cond_assign.cppanonymous_namespace{lower_variable_index_to_cond_assign.cpp} .assignment_generator
switch_generatoranonymous_namespace{lower_variable_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_variable_index_to_cond_assign.cppanonymous_namespace{lower_variable_index_to_cond_assign.cpp} .switch_generator
variable_index_to_cond_assign_visitoranonymous_namespace{lower_variable_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_variable_index_to_cond_assign.cppanonymous_namespace{lower_variable_index_to_cond_assign.cpp} .variable_index_to_cond_assign_visitor
vector_insert_visitoranonymous_namespace{lower_vector_insert cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_vector_insert.cppanonymous_namespace{lower_vector_insert.cpp}.vector_insert_visitor
ir_vec_index_to_cond_assign_visitoranonymous_namespace{lower_vec_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_vec_index_to_cond_assign.cppanonymous_namespace{lower_vec_index_to_cond_assign.cpp} .ir_vec_index_to_cond_assign_visitor
ir_vec_index_to_swizzle_visitoranonymous_namespace{lower_vec_index_to_swizzle cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_vec_index_to_swizzle.cppanonymous_namespace{lower_vec_index_to_swizzle.cpp} .ir_vec_index_to_swizzle_visitor
lower_vector_visitoranonymous_namespace{lower_vector cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_vector.cppanonymous_namespace{lower_vector.cpp}.lower_vector_visitor
ir_algebraic_visitoranonymous_namespace{opt_algebraic cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_algebraic.cppanonymous_namespace{opt_algebraic.cpp}.ir_algebraic_visitor
ir_array_reference_visitoranonymous_namespace{opt_array_splitting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_array_splitting.cppanonymous_namespace{opt_array_splitting.cpp} .ir_array_reference_visitor
variable_entryanonymous_namespace{opt_array_splitting cpp} opt_array_splittingC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_array_splitting.cppanonymous_namespace{opt_array_splitting.cpp}.opt_array_splitting .variable_entry
ir_constant_folding_visitoranonymous_namespace{opt_constant_folding cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_folding.cppanonymous_namespace{opt_constant_folding.cpp} .ir_constant_folding_visitor
acp_entryanonymous_namespace{opt_constant_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_propagation.cppanonymous_namespace{opt_constant_propagation.cpp}.acp_entry
kill_entryanonymous_namespace{opt_constant_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_propagation.cppanonymous_namespace{opt_constant_propagation.cpp}.kill_entry
ir_constant_propagation_visitoranonymous_namespace{opt_constant_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_propagation.cppanonymous_namespace{opt_constant_propagation.cpp} .ir_constant_propagation_visitor
assignment_entryanonymous_namespace{opt_constant_variable cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_variable.cppanonymous_namespace{opt_constant_variable.cpp}.assignment_entry
ir_constant_variable_visitoranonymous_namespace{opt_constant_variable cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_variable.cppanonymous_namespace{opt_constant_variable.cpp} .ir_constant_variable_visitor
acp_entryanonymous_namespace{opt_copy_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation.cppanonymous_namespace{opt_copy_propagation.cpp}.acp_entry
kill_entryanonymous_namespace{opt_copy_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation.cppanonymous_namespace{opt_copy_propagation.cpp}.kill_entry
ir_copy_propagation_visitoranonymous_namespace{opt_copy_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation.cppanonymous_namespace{opt_copy_propagation.cpp} .ir_copy_propagation_visitor
acp_entryanonymous_namespace{opt_copy_propagation_elements cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation_elements.cppanonymous_namespace{opt_copy_propagation_elements.cpp}.acp_entry
kill_entryanonymous_namespace{opt_copy_propagation_elements cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation_elements.cppanonymous_namespace{opt_copy_propagation_elements.cpp}.kill_entry
ir_copy_propagation_elements_visitoranonymous_namespace{opt_copy_propagation_elements cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation_elements.cppanonymous_namespace{opt_copy_propagation_elements.cpp} .ir_copy_propagation_elements_visitor
ae_entryanonymous_namespace{opt_cse cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_cse.cppanonymous_namespace{opt_cse.cpp}.ae_entry
cse_visitoranonymous_namespace{opt_cse cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_cse.cppanonymous_namespace{opt_cse.cpp}.cse_visitor
is_cse_candidate_visitoranonymous_namespace{opt_cse cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_cse.cppanonymous_namespace{opt_cse.cpp}.is_cse_candidate_visitor
contains_rvalue_visitoranonymous_namespace{opt_cse cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_cse.cppanonymous_namespace{opt_cse.cpp}.contains_rvalue_visitor
varying_info_visitoranonymous_namespace{opt_dead_builtin_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_builtin_varyings.cppanonymous_namespace{opt_dead_builtin_varyings.cpp} .varying_info_visitor
replace_varyings_visitoranonymous_namespace{opt_dead_builtin_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_builtin_varyings.cppanonymous_namespace{opt_dead_builtin_varyings.cpp} .replace_varyings_visitor
assignment_entryanonymous_namespace{opt_dead_code_local cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_code_local.cppanonymous_namespace{opt_dead_code_local.cpp}.assignment_entry
kill_for_derefs_visitoranonymous_namespace{opt_dead_code_local cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_code_local.cppanonymous_namespace{opt_dead_code_local.cpp}.kill_for_derefs_visitor
array_index_visitanonymous_namespace{opt_dead_code_local cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_code_local.cppanonymous_namespace{opt_dead_code_local.cpp}.array_index_visit
signature_entryanonymous_namespace{opt_dead_functions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_functions.cppanonymous_namespace{opt_dead_functions.cpp}.signature_entry
ir_dead_functions_visitoranonymous_namespace{opt_dead_functions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_functions.cppanonymous_namespace{opt_dead_functions.cpp}.ir_dead_functions_visitor
nested_if_flatteneranonymous_namespace{opt_flatten_nested_if_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_flatten_nested_if_blocks.cppanonymous_namespace{opt_flatten_nested_if_blocks.cpp} .nested_if_flattener
matrix_flipperanonymous_namespace{opt_flip_matrices cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_flip_matrices.cppanonymous_namespace{opt_flip_matrices.cpp}.matrix_flipper
ir_function_inlining_visitoranonymous_namespace{opt_function_inlining cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_function_inlining.cppanonymous_namespace{opt_function_inlining.cpp} .ir_function_inlining_visitor
ir_if_simplification_visitoranonymous_namespace{opt_if_simplification cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_if_simplification.cppanonymous_namespace{opt_if_simplification.cpp} .ir_if_simplification_visitor
ir_noop_swizzle_visitoranonymous_namespace{opt_noop_swizzle cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_noop_swizzle.cppanonymous_namespace{opt_noop_swizzle.cpp}.ir_noop_swizzle_visitor
redundant_jumps_visitoranonymous_namespace{opt_redundant_jumps cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_redundant_jumps.cppanonymous_namespace{opt_redundant_jumps.cpp}.redundant_jumps_visitor
__Globalsanonymous_namespace{opt_structure_splitting cpp}c:\GlobalMembersanonymous_namespace{opt_structure_splitting.cpp}.__Globals
variable_entryanonymous_namespace{opt_structure_splitting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_structure_splitting.cppanonymous_namespace{opt_structure_splitting.cpp}.variable_entry
ir_structure_reference_visitoranonymous_namespace{opt_structure_splitting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_structure_splitting.cppanonymous_namespace{opt_structure_splitting.cpp} .ir_structure_reference_visitor
ir_structure_splitting_visitoranonymous_namespace{opt_structure_splitting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_structure_splitting.cppanonymous_namespace{opt_structure_splitting.cpp} .ir_structure_splitting_visitor
ir_swizzle_swizzle_visitoranonymous_namespace{opt_swizzle_swizzle cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_swizzle_swizzle.cppanonymous_namespace{opt_swizzle_swizzle.cpp} .ir_swizzle_swizzle_visitor
__Globalsanonymous_namespace{opt_tree_grafting cpp}c:\GlobalMembersanonymous_namespace{opt_tree_grafting.cpp}.__Globals
ir_tree_grafting_visitoranonymous_namespace{opt_tree_grafting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_tree_grafting.cppanonymous_namespace{opt_tree_grafting.cpp}.ir_tree_grafting_visitor
find_deref_infoanonymous_namespace{opt_tree_grafting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_tree_grafting.cppanonymous_namespace{opt_tree_grafting.cpp}.find_deref_info
tree_grafting_infoanonymous_namespace{opt_tree_grafting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_tree_grafting.cppanonymous_namespace{opt_tree_grafting.cpp}.tree_grafting_info
ir_vectorize_visitoranonymous_namespace{opt_vectorize cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_vectorize.cppanonymous_namespace{opt_vectorize.cpp}.ir_vectorize_visitor
Nodesanonymous_namespace{parsehelper cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\ParseHelper.cppanonymous_namespace{parsehelper.cpp}.Nodes
__Globalsanonymous_namespace{parsehelper cpp}c:\GlobalMembersanonymous_namespace{parsehelper.cpp}.__Globals

Statistics

Stat   dirCorresponding   sourceFilePath
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

040
Source Files Organization  

warningCritical    Rule warning: Avoid defining multiple types in a source file
// <Name>Avoid defining multiple types in a source file</Name>
warnif count > 0 

// Build a lookup indexed by source files, values being a sequence of types defined in the source file.
let lookup = Application.Types.Where(t => 
                                
!t.IsGlobal && 
                               
// except nested types and types generated by compilers!
                               !t.IsGeneratedByCompiler &&                               
                               
!t.IsNested)                                
                         
// It could make sense to not apply this rule for enumerations.
                         // && !t.IsEnumeration)

            
// We use multi-key, since a type can be declared in multiple source files.
           .ToMultiKeyLookup(t => t.SourceDecls.Select(d => d.SourceFile))
 
from @group in lookup where @group.Count() > 1
   
let sourceFile = @group.Key

   
// CQLinq doesn't let indexing result with sourceFile 
   // so we choose a typeIndex in types, 
   // preferably the type that has the file name.
   let typeWithSourceFileName = @group.FirstOrDefault(t => t.SimpleName == sourceFile.FileNameWithoutExtension)
   
let typeIndex = typeWithSourceFileName ?? @group.First()

select new { typeIndex, 
             
types = @group as IEnumerable<IType>, 
             
sourceFile.FilePathString }

113 types matched

typestypesFilePathStringFull Name
EState2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\bzip2-1.0.6\bzlib_private.hEState
FIBITMAP28 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage.hFIBITMAP
tagFILE_RGBA4 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\Utilities.htagFILE_RGBA
tagTagInfo2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\Metadata\FreeImageTag.htagTagInfo
METADATAHEADER3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\BitmapAccess.cppMETADATAHEADER
PluginNode2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\Plugin.hPluginNode
tagBITMAPCOREHEADER3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginBMP.cpptagBITMAPCOREHEADER
tagDDPIXELFORMAT23 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginDDS.cpptagDDPIXELFORMAT
C_IStream2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginEXR.cppC_IStream
GIFinfo3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginGIF.cppGIFinfo
tagHeaderInfo2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginHDR.cpptagHeaderInfo
tagICONHEADER2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginICO.cpptagICONHEADER
tagErrorManager3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginJPEG.cpptagErrorManager
tagKOALA2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginKOALA.cpptagKOALA
OpDef6 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginPICT.cppOpDef
psdHeader10 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PSDParser.hpsdHeader
tagSGIHeader2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginSGI.cpptagSGIHeader
tagTGAHEADER5 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginTARGA.cpptagTGAHEADER
TIFFDisplay7 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\LibTIFF4\tiffio.hTIFFDisplay
TIFFLoadMethod2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\PluginTIFF.cppTIFFLoadMethod
WuQuantizer2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\Quantizers.hWuQuantizer
CONVERT_TYPE<Tdst,Tsrc>3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\ConversionType.cppCONVERT_TYPE<Tdst,Tsrc>
CacheFile2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\CacheFile.hCacheFile
BlockType5 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImage\MultiPage.cppBlockType
CWeightsTable2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source\FreeImageToolkit\Resize.hCWeightsTable
ir_visitor2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_visitor.hir_visitor
ir_node_type34 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir.hir_node_type
ast_node31 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ast.hast_node
exec_node2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\list.hexec_node
gl_vert_attrib31 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\mesa\main\mtypes.hgl_vert_attrib
glsl_base_type6 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\glsl_types.hglsl_base_type
ir_hierarchical_visitor2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_hierarchical_visitor.hir_hierarchical_visitor
glsl_switch_state3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\glsl_parser_extras.hglsl_switch_state
prog_instruction4 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\mesa\program\prog_instruction.hprog_instruction
gl_builtin_uniform_element4 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\builtin_variables.cppgl_builtin_uniform_element
yy_buffer_state3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\glsl_lexer.cppyy_buffer_state
glslopt_shader_type3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\glsl_optimizer.hglslopt_shader_type
yytokentype2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\glsl_parser.hyytokentype
loop_variable_state4 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\loop_analysis.hloop_variable_state
glslopt_ctx3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\glsl_optimizer.cppglslopt_ctx
yytokentype3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\glsl_parser.cppyytokentype
ext_behavior2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\glsl_parser_extras.cppext_behavior
ir_rvalue_visitor3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_rvalue_visitor.hir_rvalue_visitor
ir_print_glsl_visitor4 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_print_glsl_visitor.cppir_print_glsl_visitor
ir_struct_usage_visitor3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_unused_structs.cppir_struct_usage_visitor
ir_variable_refcount_entry2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_variable_refcount.hir_variable_refcount_entry
hash_table2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\mesa\main\hash_table.hhash_table
gl_uniform_driver_format4 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_uniform.hgl_uniform_driver_format
link_uniform_block_active_visitor2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_uniform_block_active_visitor.hlink_uniform_block_active_visitor
block3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_uniform_blocks.cppblock
parcel_out_uniform_storage2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_uniforms.cppparcel_out_uniform_storage
tfeedback_candidate2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_varyings.htfeedback_candidate
array_sizing_visitor5 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\linker.cpparray_sizing_visitor
tfeedback_candidate_generator2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_varyings.cpptfeedback_candidate_generator
loop_analysis2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\loop_analysis.cppanonymous_namespace{loop_analysis.cpp}.loop_analysis
loop_unroll_count2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\loop_unroll.cpploop_unroll_count
jump_strength5 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_jumps.cppjump_strength
lower_packed_varyings_gs_splicer2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_packed_varyings.cpplower_packed_varyings_gs_splicer
ir_array_splitting_visitor3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_array_splitting.cppir_array_splitting_visitor
ir_variable_replacement_visitor2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_function_inlining.cppir_variable_replacement_visitor
s_expression7 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\s_expression.hs_expression
yy_buffer_state3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\glcpp\glcpp-lex.cyy_buffer_state
string_node16 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\glcpp\glcpp.hstring_node
yytokentype3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\glcpp\glcpp-parse.cyytokentype
node3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\mesa\program\prog_hash_table.cnode
symbol5 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\mesa\program\symbol_table.csymbol
writemask4 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_builder.hir_builder.writemask
call_node3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_function_detect_recursion.cppanonymous_namespace{ir_function_detect_recursion.cpp}.call_node
active_atomic_counter2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_atomics.cppanonymous_namespace{link_atomics.cpp}.active_atomic_counter
interface_block_definition2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_interface_blocks.cppanonymous_namespace{link_interface_blocks.cpp} .interface_block_definition
deref_replacer5 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_variable_index_to_cond_assign.cppanonymous_namespace{lower_variable_index_to_cond_assign.cpp} .deref_replacer
acp_entry3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_propagation.cppanonymous_namespace{opt_constant_propagation.cpp}.acp_entry
assignment_entry2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_variable.cppanonymous_namespace{opt_constant_variable.cpp}.assignment_entry
acp_entry3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation.cppanonymous_namespace{opt_copy_propagation.cpp}.acp_entry
acp_entry3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation_elements.cppanonymous_namespace{opt_copy_propagation_elements.cpp}.acp_entry
ae_entry4 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_cse.cppanonymous_namespace{opt_cse.cpp}.ae_entry
varying_info_visitor2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_builtin_varyings.cppanonymous_namespace{opt_dead_builtin_varyings.cpp} .varying_info_visitor
assignment_entry3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_code_local.cppanonymous_namespace{opt_dead_code_local.cpp}.assignment_entry
signature_entry2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_functions.cppanonymous_namespace{opt_dead_functions.cpp}.signature_entry
variable_entry3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_structure_splitting.cppanonymous_namespace{opt_structure_splitting.cpp}.variable_entry
ir_tree_grafting_visitor3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_tree_grafting.cppanonymous_namespace{opt_tree_grafting.cpp}.ir_tree_grafting_visitor
TPoolAllocator2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\Include\PoolAlloc.hTPoolAllocator
TPrecision3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\Include\BaseTypes.hTPrecision
TTypeLine5 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\Include\Types.hTTypeLine
EShLanguage8 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\include\hlsl2glsl.hEShLanguage
TOperator16 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\Include\intermediate.hTOperator
TPrefixType3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\Include\InfoSink.hTPrefixType
TSymbol6 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\SymbolTable.hTSymbol
TParseContext2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\ParseHelper.hTParseContext
EGlslSymbolType3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\GLSLCodeGen\glslCommon.hEGlslSymbolType
StructMember2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\GLSLCodeGen\glslStruct.hStructMember
EClassifier2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\GLSLCodeGen\hlslLinker.hEClassifier
SourceLoc_Rec2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\preprocessor\scanner.hSourceLoc_Rec
TokenStream_Rec2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\preprocessor\tokens.hTokenStream_Rec
SymbolList_Rec3 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\preprocessor\symbols.hSymbolList_Rec
YYSTYPE2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\Gen_hlslang_tab.cppYYSTYPE
Anonymous5 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\preprocessor\atom.cAnonymous
eval_prec4 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\preprocessor\cpp.ceval_prec
chunk2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\preprocessor\memory.cchunk
TokenInputSrc2 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\preprocessor\tokens.cTokenInputSrc

Statistics

Stat   types   FilePathString
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Namespace name should correspond to file location
// <Name>Namespace name should correspond to file location</Name>

// For a good code organization, 
// do mirror the namespaces hierarchy and the source files directories tree.

warnif count > 0
from n in Application.Namespaces 

// Replace dots by spaces in namespace name
let dirCorresponding = n.Name.Replace('.', ' ')

// Look at source file decl of JustMyCode type's declared in n
from t in n.ChildTypes
where JustMyCode.Contains(t) && !t.IsGlobal
from decl in t.SourceDecls
let sourceFilePath = decl.SourceFile.FilePath.ToString()

// Replace dots and path separators by spaces in source files names
where !sourceFilePath.Replace('.',' ').Replace('\\',' ').Contains(dirCorresponding)

select new { t, dirCorresponding , sourceFilePath  } 

98 types matched

typesdirCorrespondingsourceFilePathFull Name
builtin_builderanonymous_namespace{builtin_functions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\builtin_functions.cppanonymous_namespace{builtin_functions.cpp}.builtin_builder
builtin_builder+image_function_flagsanonymous_namespace{builtin_functions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\builtin_functions.cppanonymous_namespace{builtin_functions.cpp} .builtin_builder+image_function_flags
per_vertex_accumulatoranonymous_namespace{builtin_variables cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\builtin_variables.cppanonymous_namespace{builtin_variables.cpp}.per_vertex_accumulator
builtin_variable_generatoranonymous_namespace{builtin_variables cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\builtin_variables.cppanonymous_namespace{builtin_variables.cpp}.builtin_variable_generator
call_nodeanonymous_namespace{ir_function_detect_recursion cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_function_detect_recursion.cppanonymous_namespace{ir_function_detect_recursion.cpp}.call_node
functionanonymous_namespace{ir_function_detect_recursion cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_function_detect_recursion.cppanonymous_namespace{ir_function_detect_recursion.cpp}.function
has_recursion_visitoranonymous_namespace{ir_function_detect_recursion cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_function_detect_recursion.cppanonymous_namespace{ir_function_detect_recursion.cpp} .has_recursion_visitor
import_prototype_visitoranonymous_namespace{ir_import_prototypes cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_import_prototypes.cppanonymous_namespace{ir_import_prototypes.cpp}.import_prototype_visitor
ir_validateanonymous_namespace{ir_validate cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\ir_validate.cppanonymous_namespace{ir_validate.cpp}.ir_validate
active_atomic_counteranonymous_namespace{link_atomics cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_atomics.cppanonymous_namespace{link_atomics.cpp}.active_atomic_counter
active_atomic_bufferanonymous_namespace{link_atomics cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_atomics.cppanonymous_namespace{link_atomics.cpp}.active_atomic_buffer
call_link_visitoranonymous_namespace{link_functions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_functions.cppanonymous_namespace{link_functions.cpp}.call_link_visitor
interface_block_definitionanonymous_namespace{link_interface_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_interface_blocks.cppanonymous_namespace{link_interface_blocks.cpp} .interface_block_definition
interface_block_definitionsanonymous_namespace{link_interface_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_interface_blocks.cppanonymous_namespace{link_interface_blocks.cpp} .interface_block_definitions
ubo_visitoranonymous_namespace{link_uniform_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_uniform_blocks.cppanonymous_namespace{link_uniform_blocks.cpp}.ubo_visitor
count_block_sizeanonymous_namespace{link_uniform_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_uniform_blocks.cppanonymous_namespace{link_uniform_blocks.cpp}.count_block_size
count_uniform_sizeanonymous_namespace{link_uniforms cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_uniforms.cppanonymous_namespace{link_uniforms.cpp}.count_uniform_size
find_assignment_visitoranonymous_namespace{linker cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\linker.cppanonymous_namespace{linker.cpp}.find_assignment_visitor
find_deref_visitoranonymous_namespace{linker cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\linker.cppanonymous_namespace{linker.cpp}.find_deref_visitor
geom_array_resize_visitoranonymous_namespace{linker cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\linker.cppanonymous_namespace{linker.cpp}.geom_array_resize_visitor
find_end_primitive_visitoranonymous_namespace{linker cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\linker.cppanonymous_namespace{linker.cpp}.find_end_primitive_visitor
varying_matchesanonymous_namespace{link_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_varyings.cppanonymous_namespace{link_varyings.cpp}.varying_matches
varying_matches+packing_order_enumanonymous_namespace{link_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_varyings.cppanonymous_namespace{link_varyings.cpp} .varying_matches+packing_order_enum
varying_matches+matchanonymous_namespace{link_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\link_varyings.cppanonymous_namespace{link_varyings.cpp}.varying_matches+match
loop_analysisanonymous_namespace{loop_analysis cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\loop_analysis.cppanonymous_namespace{loop_analysis.cpp}.loop_analysis
loop_control_visitoranonymous_namespace{loop_controls cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\loop_controls.cppanonymous_namespace{loop_controls.cpp}.loop_control_visitor
loop_unroll_visitoranonymous_namespace{loop_unroll cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\loop_unroll.cppanonymous_namespace{loop_unroll.cpp}.loop_unroll_visitor
lower_clip_distance_visitoranonymous_namespace{lower_clip_distance cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_clip_distance.cppanonymous_namespace{lower_clip_distance.cpp} .lower_clip_distance_visitor
lower_discard_visitoranonymous_namespace{lower_discard cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_discard.cppanonymous_namespace{lower_discard.cpp}.lower_discard_visitor
lower_discard_flow_visitoranonymous_namespace{lower_discard_flow cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_discard_flow.cppanonymous_namespace{lower_discard_flow.cpp}.lower_discard_flow_visitor
ir_if_to_cond_assign_visitoranonymous_namespace{lower_if_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_if_to_cond_assign.cppanonymous_namespace{lower_if_to_cond_assign.cpp} .ir_if_to_cond_assign_visitor
lower_instructions_visitoranonymous_namespace{lower_instructions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_instructions.cppanonymous_namespace{lower_instructions.cpp}.lower_instructions_visitor
block_recordanonymous_namespace{lower_jumps cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_jumps.cppanonymous_namespace{lower_jumps.cpp}.block_record
loop_recordanonymous_namespace{lower_jumps cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_jumps.cppanonymous_namespace{lower_jumps.cpp}.loop_record
function_recordanonymous_namespace{lower_jumps cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_jumps.cppanonymous_namespace{lower_jumps.cpp}.function_record
ir_lower_jumps_visitoranonymous_namespace{lower_jumps cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_jumps.cppanonymous_namespace{lower_jumps.cpp}.ir_lower_jumps_visitor
ir_mat_op_to_vec_visitoranonymous_namespace{lower_mat_op_to_vec cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_mat_op_to_vec.cppanonymous_namespace{lower_mat_op_to_vec.cpp}.ir_mat_op_to_vec_visitor
flatten_named_interface_blocks_declarationsanonymous_namespace{lower_named_interface_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_named_interface_blocks.cppanonymous_namespace{lower_named_interface_blocks.cpp} .flatten_named_interface_blocks_declarations
output_read_removeranonymous_namespace{lower_output_reads cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_output_reads.cppanonymous_namespace{lower_output_reads.cpp}.output_read_remover
lower_packed_varyings_visitoranonymous_namespace{lower_packed_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_packed_varyings.cppanonymous_namespace{lower_packed_varyings.cpp} .lower_packed_varyings_visitor
lower_packing_builtins_visitoranonymous_namespace{lower_packing_builtins cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_packing_builtins.cppanonymous_namespace{lower_packing_builtins.cpp} .lower_packing_builtins_visitor
lower_ubo_reference_visitoranonymous_namespace{lower_ubo_reference cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_ubo_reference.cppanonymous_namespace{lower_ubo_reference.cpp} .lower_ubo_reference_visitor
deref_replaceranonymous_namespace{lower_variable_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_variable_index_to_cond_assign.cppanonymous_namespace{lower_variable_index_to_cond_assign.cpp} .deref_replacer
find_variable_indexanonymous_namespace{lower_variable_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_variable_index_to_cond_assign.cppanonymous_namespace{lower_variable_index_to_cond_assign.cpp} .find_variable_index
assignment_generatoranonymous_namespace{lower_variable_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_variable_index_to_cond_assign.cppanonymous_namespace{lower_variable_index_to_cond_assign.cpp} .assignment_generator
switch_generatoranonymous_namespace{lower_variable_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_variable_index_to_cond_assign.cppanonymous_namespace{lower_variable_index_to_cond_assign.cpp} .switch_generator
variable_index_to_cond_assign_visitoranonymous_namespace{lower_variable_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_variable_index_to_cond_assign.cppanonymous_namespace{lower_variable_index_to_cond_assign.cpp} .variable_index_to_cond_assign_visitor
vector_insert_visitoranonymous_namespace{lower_vector_insert cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_vector_insert.cppanonymous_namespace{lower_vector_insert.cpp}.vector_insert_visitor
ir_vec_index_to_cond_assign_visitoranonymous_namespace{lower_vec_index_to_cond_assign cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_vec_index_to_cond_assign.cppanonymous_namespace{lower_vec_index_to_cond_assign.cpp} .ir_vec_index_to_cond_assign_visitor
ir_vec_index_to_swizzle_visitoranonymous_namespace{lower_vec_index_to_swizzle cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_vec_index_to_swizzle.cppanonymous_namespace{lower_vec_index_to_swizzle.cpp} .ir_vec_index_to_swizzle_visitor
lower_vector_visitoranonymous_namespace{lower_vector cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\lower_vector.cppanonymous_namespace{lower_vector.cpp}.lower_vector_visitor
ir_algebraic_visitoranonymous_namespace{opt_algebraic cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_algebraic.cppanonymous_namespace{opt_algebraic.cpp}.ir_algebraic_visitor
ir_array_reference_visitoranonymous_namespace{opt_array_splitting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_array_splitting.cppanonymous_namespace{opt_array_splitting.cpp} .ir_array_reference_visitor
variable_entryanonymous_namespace{opt_array_splitting cpp} opt_array_splittingC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_array_splitting.cppanonymous_namespace{opt_array_splitting.cpp}.opt_array_splitting .variable_entry
ir_constant_folding_visitoranonymous_namespace{opt_constant_folding cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_folding.cppanonymous_namespace{opt_constant_folding.cpp} .ir_constant_folding_visitor
acp_entryanonymous_namespace{opt_constant_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_propagation.cppanonymous_namespace{opt_constant_propagation.cpp}.acp_entry
kill_entryanonymous_namespace{opt_constant_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_propagation.cppanonymous_namespace{opt_constant_propagation.cpp}.kill_entry
ir_constant_propagation_visitoranonymous_namespace{opt_constant_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_propagation.cppanonymous_namespace{opt_constant_propagation.cpp} .ir_constant_propagation_visitor
assignment_entryanonymous_namespace{opt_constant_variable cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_variable.cppanonymous_namespace{opt_constant_variable.cpp}.assignment_entry
ir_constant_variable_visitoranonymous_namespace{opt_constant_variable cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_constant_variable.cppanonymous_namespace{opt_constant_variable.cpp} .ir_constant_variable_visitor
acp_entryanonymous_namespace{opt_copy_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation.cppanonymous_namespace{opt_copy_propagation.cpp}.acp_entry
kill_entryanonymous_namespace{opt_copy_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation.cppanonymous_namespace{opt_copy_propagation.cpp}.kill_entry
ir_copy_propagation_visitoranonymous_namespace{opt_copy_propagation cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation.cppanonymous_namespace{opt_copy_propagation.cpp} .ir_copy_propagation_visitor
acp_entryanonymous_namespace{opt_copy_propagation_elements cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation_elements.cppanonymous_namespace{opt_copy_propagation_elements.cpp}.acp_entry
kill_entryanonymous_namespace{opt_copy_propagation_elements cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation_elements.cppanonymous_namespace{opt_copy_propagation_elements.cpp}.kill_entry
ir_copy_propagation_elements_visitoranonymous_namespace{opt_copy_propagation_elements cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_copy_propagation_elements.cppanonymous_namespace{opt_copy_propagation_elements.cpp} .ir_copy_propagation_elements_visitor
ae_entryanonymous_namespace{opt_cse cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_cse.cppanonymous_namespace{opt_cse.cpp}.ae_entry
cse_visitoranonymous_namespace{opt_cse cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_cse.cppanonymous_namespace{opt_cse.cpp}.cse_visitor
is_cse_candidate_visitoranonymous_namespace{opt_cse cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_cse.cppanonymous_namespace{opt_cse.cpp}.is_cse_candidate_visitor
contains_rvalue_visitoranonymous_namespace{opt_cse cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_cse.cppanonymous_namespace{opt_cse.cpp}.contains_rvalue_visitor
varying_info_visitoranonymous_namespace{opt_dead_builtin_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_builtin_varyings.cppanonymous_namespace{opt_dead_builtin_varyings.cpp} .varying_info_visitor
replace_varyings_visitoranonymous_namespace{opt_dead_builtin_varyings cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_builtin_varyings.cppanonymous_namespace{opt_dead_builtin_varyings.cpp} .replace_varyings_visitor
assignment_entryanonymous_namespace{opt_dead_code_local cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_code_local.cppanonymous_namespace{opt_dead_code_local.cpp}.assignment_entry
kill_for_derefs_visitoranonymous_namespace{opt_dead_code_local cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_code_local.cppanonymous_namespace{opt_dead_code_local.cpp}.kill_for_derefs_visitor
array_index_visitanonymous_namespace{opt_dead_code_local cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_code_local.cppanonymous_namespace{opt_dead_code_local.cpp}.array_index_visit
signature_entryanonymous_namespace{opt_dead_functions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_functions.cppanonymous_namespace{opt_dead_functions.cpp}.signature_entry
ir_dead_functions_visitoranonymous_namespace{opt_dead_functions cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_dead_functions.cppanonymous_namespace{opt_dead_functions.cpp}.ir_dead_functions_visitor
nested_if_flatteneranonymous_namespace{opt_flatten_nested_if_blocks cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_flatten_nested_if_blocks.cppanonymous_namespace{opt_flatten_nested_if_blocks.cpp} .nested_if_flattener
matrix_flipperanonymous_namespace{opt_flip_matrices cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_flip_matrices.cppanonymous_namespace{opt_flip_matrices.cpp}.matrix_flipper
ir_function_inlining_visitoranonymous_namespace{opt_function_inlining cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_function_inlining.cppanonymous_namespace{opt_function_inlining.cpp} .ir_function_inlining_visitor
ir_if_simplification_visitoranonymous_namespace{opt_if_simplification cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_if_simplification.cppanonymous_namespace{opt_if_simplification.cpp} .ir_if_simplification_visitor
ir_noop_swizzle_visitoranonymous_namespace{opt_noop_swizzle cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_noop_swizzle.cppanonymous_namespace{opt_noop_swizzle.cpp}.ir_noop_swizzle_visitor
redundant_jumps_visitoranonymous_namespace{opt_redundant_jumps cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_redundant_jumps.cppanonymous_namespace{opt_redundant_jumps.cpp}.redundant_jumps_visitor
variable_entryanonymous_namespace{opt_structure_splitting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_structure_splitting.cppanonymous_namespace{opt_structure_splitting.cpp}.variable_entry
ir_structure_reference_visitoranonymous_namespace{opt_structure_splitting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_structure_splitting.cppanonymous_namespace{opt_structure_splitting.cpp} .ir_structure_reference_visitor
ir_structure_splitting_visitoranonymous_namespace{opt_structure_splitting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_structure_splitting.cppanonymous_namespace{opt_structure_splitting.cpp} .ir_structure_splitting_visitor
ir_swizzle_swizzle_visitoranonymous_namespace{opt_swizzle_swizzle cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_swizzle_swizzle.cppanonymous_namespace{opt_swizzle_swizzle.cpp} .ir_swizzle_swizzle_visitor
ir_tree_grafting_visitoranonymous_namespace{opt_tree_grafting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_tree_grafting.cppanonymous_namespace{opt_tree_grafting.cpp}.ir_tree_grafting_visitor
find_deref_infoanonymous_namespace{opt_tree_grafting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_tree_grafting.cppanonymous_namespace{opt_tree_grafting.cpp}.find_deref_info
tree_grafting_infoanonymous_namespace{opt_tree_grafting cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_tree_grafting.cppanonymous_namespace{opt_tree_grafting.cpp}.tree_grafting_info
ir_vectorize_visitoranonymous_namespace{opt_vectorize cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl\opt_vectorize.cppanonymous_namespace{opt_vectorize.cpp}.ir_vectorize_visitor
Nodesanonymous_namespace{parsehelper cpp}C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\MachineIndependent\ParseHelper.cppanonymous_namespace{parsehelper.cpp}.Nodes
JoyStickInfoOISC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\ois\includes\win32\Win32Prereqs.hOIS.JoyStickInfo
Win32InputManagerOISC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\ois\includes\win32\Win32InputManager.hOIS.Win32InputManager
Win32ForceFeedbackOISC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\ois\includes\win32\Win32ForceFeedback.hOIS.Win32ForceFeedback
Win32KeyboardOISC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\ois\includes\win32\Win32KeyBoard.hOIS.Win32Keyboard
Win32MouseOISC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\ois\includes\win32\Win32Mouse.hOIS.Win32Mouse
Win32JoyStickOISC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\ois\includes\win32\Win32JoyStick.hOIS.Win32JoyStick

Statistics

Stat   dirCorresponding   sourceFilePath
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with source files stored in the same directory, should be declared in the same namespace
// <Name>Types with source files stored in the same directory, should be declared in the same namespace</Name>
warnif count > 0 

// Group JustMyCode types in a lookup 
// where groups are keyed with directories that contain the types' source file(s).
// Note that a type can be contained in several groups 
// if it is declared in several source files stored in different directories.
let lookup = JustMyCode.Types.Where(t => !t.IsGlobal)
            
.ToMultiKeyLookup(
               
t => t.SourceDecls.Select(
                          
decl => decl.SourceFile.FilePath.ParentDirectoryPath).Distinct()
            
)


from groupOfTypes in lookup
let parentNamespaces = groupOfTypes.ParentNamespaces()

// Select group of types (with source files stored in the same directory) ...
// ... but contained in several namespaces
where parentNamespaces.Count() > 1

// mainNamespaces is the namespace that contains many types 
// declared in the directory groupOfTypes .key
let mainNamespace  = groupOfTypes
                     
.ToLookup(t => t.ParentNamespace)
                     
.OrderByDescending(g => g.Count()).First().Key

// Select types with source files stored in the same directory,
// but contained in namespaces different than mainNamespace.
let typesOutOfMainNamespace = groupOfTypes
                              
.Where(t => t.ParentNamespace != mainNamespace )

                               
// Filter types declared on several source files that contain generated methods 
                               // because typically such type contains one or several partial definitions generated.
                               // These partially generated types would be false positive for the present rule.
                               .Where(t => t.SourceDecls.Count() == 1 ||
                                           
t.Methods.Count(m => JustMyCode.Contains(m)) == 0)
where typesOutOfMainNamespace.Count() > 0

select new { mainNamespace, 

             
// Typically a type in typesOutOfMainNamespace ...
             // 1) ... is contained in the wrong namespace but its source file(s) is stored in the right directory.
             //      --> In such situation the type should be contained in mainNamespace.
             // 2) ... is contained in the right namespace but its source file(s) is stored in the wrong directory
             //      --> In such situation the source file of type must be moved to the parent namespace directory.
             // 3) ... is declared in multiple source files, stored in different directories.
             //      --> It would be preferable that all source files are stored in a single directory.
             typesOutOfMainNamespace   }

2 namespaces matched

namespacestypesOutOfMainNamespaceFull Name
95 types
1 type

Statistics

Stat   typesOutOfMainNamespace
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Types declared in the same namespace, should have their source files stored in the same directory
// <Name>Types declared in the same namespace, should have their source files stored in the same directory</Name>
warnif count > 0 
from @namespace in Application.Namespaces

// Group types of @namespace in a lookup 
// where groups are keyed with directories that contain the types' source file(s).
// Note that a type can be contained in several groups 
// if it is declared in several source files stored in different directories.
let lookup = @namespace.ChildTypes.Where(t => !t.IsGlobal && JustMyCode.Contains(t))
            
.ToMultiKeyLookup(
               
t => t.SourceDecls.Select(
                          
decl => decl.SourceFile.FilePath.ParentDirectoryPath).Distinct()
            
)

// Are types of @namespaces declared in more than one directory?
where lookup.Count > 1

// Infer the main directory, preferably the one that has the same name as the namespace.
let dirs = lookup.Select(types => types.Key)
let mainDirNullable = dirs.Where(d => d.DirectoryName == @namespace.SimpleName).FirstOrDefault()
let mainDir = mainDirNullable ?? dirs.First()

// Types declared out of mainDir, are types in group of types declared in a directory different than mainDir!
let typesDeclaredOutOfMainDir = lookup.Where(types => types.Key != mainDir)
                                
.SelectMany(types => types)
                                
                                
// Filter types declared on several source files that contain generated methods 
                                // because typically such type contains one or several partial definitions generated.
                                // These partially generated types would be false positive for the present rule.
                                .Where(t => t.SourceDecls.Count() == 1 ||
                                            
t.Methods.Count(m => JustMyCode.Contains(m)) == 0)

where typesDeclaredOutOfMainDir.Count() > 0

select new { @namespace, 

             
// Typically a type in typesDeclaredOutOfMainDir ...
             // 1) ... is contained in the wrong namespace but its source file(s) is stored in the right directory.
             //      --> In such situation the type parent namespace should be the namespace corresponding to the directory.
             // 2) ... is contained in the right namespace but its source file(s) is stored in the wrong directory
             //      --> In such situation the type source file should be moved to mainDir.
             // 3) ... is declared in multiple source files, stored in different directories.
             //      --> It would be preferable that all source files are stored in a single directory.
             typesDeclaredOutOfMainDir , 

             
mainDir = mainDir.ToString() }

4 namespaces matched

namespacestypesDeclaredOutOfMainDirmainDirFull Name
107 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\FreeImage\Source
82 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\glsl-optimizer\src\glsl
75 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\Include
OIS6 typesC:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\ois\includesOIS

Statistics

Stat   typesDeclaredOutOfMainDir   mainDir
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

Object Oriented Design

Base class should not use derivatives
// <Name>Base class should not use derivatives</Name>
warnif count > 0 
from baseClass in JustMyCode.Types
where baseClass.IsClass && baseClass.NbChildren > 0 // <-- for optimization!
let derivedClassesUsed = baseClass.DerivedTypes.UsedBy(baseClass)
where derivedClassesUsed.Count() > 0
select new { baseClass, derivedClassesUsed }

4 types matched

typesderivedClassesUsedFull Name
ir_instruction18 typesir_instruction
ir_rvalue2 typesir_rvalue
TIntermNode8 typesTIntermNode
InputManager1 typeOIS.InputManager

Statistics

Stat   derivedClassesUsed
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
Class shouldn't be too deep in inheritance tree
// <Name>Class shouldn't be too deep in inheritance tree</Name>
warnif count > 0 from t in JustMyCode.Types 
where t.IsClass
let baseClasses = t.BaseClasses.ExceptThirdParty()

// Warn for classes with 3 or more base classes.
// Notice that we don't count third-party classes 
// because this rule concerns your code design,
// not third-party libraries consumed design.
where baseClasses.Count() >= 3

select new { t, baseClasses, 
                
// The metric value DepthOfInheritance takes account
                // of third-party base classes
                t.DepthOfInheritance } 

// Branches too long in the derivation should be avoided.
// See the definition of the DepthOfInheritance metric here 
// http://www.cppdepend.com/Metrics.aspx#DIT

36 types matched

typesbaseClassesDepth of inheritanceFull Name
ir_expression3 types3ir_expression
ir_return3 types3ir_return
ir_loop_jump3 types3ir_loop_jump
ir_discard3 types3ir_discard
ir_texture3 types3ir_texture
ir_swizzle3 types3ir_swizzle
ir_dereference3 types3ir_dereference
ir_dereference_variable4 types4ir_dereference_variable
ir_dereference_array4 types4ir_dereference_array
ir_dereference_record4 types4ir_dereference_record
ir_constant3 types3ir_constant
ir_expression_flattening_visitor3 types3ir_expression_flattening_visitor
lower_noise_visitor3 types3lower_noise_visitor
ir_array_splitting_visitor3 types3ir_array_splitting_visitor
s_int3 types3s_int
s_float3 types3s_float
lower_clip_distance_visitor3 types3anonymous_namespace{lower_clip_distance.cpp} .lower_clip_distance_visitor
flatten_named_interface_blocks_declarations3 types3anonymous_namespace{lower_named_interface_blocks.cpp} .flatten_named_interface_blocks_declarations
lower_packing_builtins_visitor3 types3anonymous_namespace{lower_packing_builtins.cpp} .lower_packing_builtins_visitor
lower_ubo_reference_visitor3 types3anonymous_namespace{lower_ubo_reference.cpp} .lower_ubo_reference_visitor
deref_replacer3 types3anonymous_namespace{lower_variable_index_to_cond_assign.cpp} .deref_replacer
variable_index_to_cond_assign_visitor3 types3anonymous_namespace{lower_variable_index_to_cond_assign.cpp} .variable_index_to_cond_assign_visitor
vector_insert_visitor3 types3anonymous_namespace{lower_vector_insert.cpp}.vector_insert_visitor
lower_vector_visitor3 types3anonymous_namespace{lower_vector.cpp}.lower_vector_visitor
ir_algebraic_visitor3 types3anonymous_namespace{opt_algebraic.cpp}.ir_algebraic_visitor
ir_constant_folding_visitor3 types3anonymous_namespace{opt_constant_folding.cpp} .ir_constant_folding_visitor
ir_constant_propagation_visitor3 types3anonymous_namespace{opt_constant_propagation.cpp} .ir_constant_propagation_visitor
ir_copy_propagation_elements_visitor3 types3anonymous_namespace{opt_copy_propagation_elements.cpp} .ir_copy_propagation_elements_visitor
cse_visitor3 types3anonymous_namespace{opt_cse.cpp}.cse_visitor
contains_rvalue_visitor3 types3anonymous_namespace{opt_cse.cpp}.contains_rvalue_visitor
replace_varyings_visitor3 types3anonymous_namespace{opt_dead_builtin_varyings.cpp} .replace_varyings_visitor
ir_noop_swizzle_visitor3 types3anonymous_namespace{opt_noop_swizzle.cpp}.ir_noop_swizzle_visitor
ir_structure_splitting_visitor3 types3anonymous_namespace{opt_structure_splitting.cpp} .ir_structure_splitting_visitor
TIntermBinary3 types3TIntermBinary
TIntermUnary3 types3TIntermUnary
TIntermAggregate3 types3TIntermAggregate

Statistics

Stat   baseClasses   Depth of inheritance
Sum:0111
Average:03.08
Minimum:03
Maximum:04
Standard deviation:00.28
Variance:00.076
Constructor should not call a virtual methods
// <Name>Constructor should not call a virtual methods</Name>

// Returns constructor of a non-sealed type calling virtual methods.
// In such a situation, if a derived class overrides the method,
// then the override method will be called before the derived constructor.
// This makes the class fragile to derive from.
//
// Violations reported can be solved by re-designing object initialisation
// or by marking the parent class as sealed, if possible.

warnif count > 0
from t in Application.Types where 
   
t.IsClass &&
  
!t.IsGeneratedByCompiler

from ctor in t.Constructors 
let virtualMethodsCalled = from mCalled in ctor.MethodsCalled
                           
where mCalled.IsVirtual &&
                                
(mCalled.ParentType == t ||
                                 
t.DeriveFrom(mCalled.ParentType))
                           
select mCalled
where virtualMethodsCalled.Count() > 0

select new { ctor , 
             
virtualMethodsCalled, 
             
// If there is no derived type, it might be 
             // an opportunity to mark t as sealed.
             t.DerivedTypes }

2 methods matched

methodsvirtualMethodsCalledDerivedTypesFull Name
CWeightsTable(CGenericFilter*,unsignedint,unsignedint)1 method0 typeCWeightsTable.CWeightsTable(CGenericFilter*,unsignedint,unsignedint)
matrix_flipper(exec_list*)1 method0 typeanonymous_namespace{opt_flip_matrices.cpp}.matrix_flipper .matrix_flipper(exec_list*)

Statistics

Stat   virtualMethodsCalled   DerivedTypes
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
Avoid the Singleton pattern
//<Name>Avoid the Singleton pattern</Name>
warnif count > 0
from t in Application.Types
where !t.IsStatic && !t.IsAbstract && (t.IsClass || t.IsStructure)

// All ctors of a singleton are private
where t.Constructors.Where(ctor => !ctor.IsPrivate).Count() == 0

// A singleton contains one static field of its parent type, to reference the unique instance
let staticFieldInstances = t.StaticFields.WithFieldType(t)
where staticFieldInstances.Count() == 1
select new { t, staticFieldInstance = staticFieldInstances.First() }

// The Singleton pattern consists in syntactically enforcing that a class 
// has just one unique instance.
// At first glance, this pattern looks appealing and it is widely used.
// However, we discourage you from using singleton classes because experience
// shows that singletons often result in less testable and less maintainable code.
// More details available in these discussions:
//  http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members/
//  http://adamschepis.com/blog/2011/05/02/im-adam-and-im-a-recovering-singleton-addict/

No types matched

Don't assign static fields from instance methods
// <Name>Don't assign static fields from instance methods</Name>
// Assigning static fields from instance methods leads to
// poorly maintainable and non thread-safe code.
// It is advised to assign static fields inline or from class constructor.
warnif count > 0
from f in Application.Fields where 
  
f.IsStatic &&
 
!f.IsGeneratedByCompiler && !f.IsGlobal
 
let assignedBy = f.MethodsAssigningMe.Where(m => !m.IsStatic)
where assignedBy .Count() > 0
select new { f, assignedBy }

8 fields matched

fieldsassignedByFull Name
error_type3 methodsglsl_type.error_type
int_type2 methodsglsl_type.int_type
ivec4_type1 methodglsl_type.ivec4_type
vec4_type2 methodsglsl_type.vec4_type
mem_ctx1 methodglsl_type.mem_ctx
array_types1 methodglsl_type.array_types
record_types1 methodglsl_type.record_types
NullSemantic1 methodTParameter.NullSemantic

Statistics

Stat   assignedBy
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
Avoid Abstract Classes with too many methods
// <Name>Avoid Abstract Classes with too many methods</Name>
// An abstract class  should abstract a clear and well-defined concept.
// Such concept shoudln't be represented with too many methods and property getter.
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsAbstract
let methodsAndGetters = t.Methods
where methodsAndGetters.Count() > 10
select new { t, methodsAndGetters }

8 types matched

typesmethodsAndGettersFull Name
ir_visitor24 methodsir_visitor
ir_instruction25 methodsir_instruction
ir_rvalue_base_visitor13 methodsir_rvalue_base_visitor
TIntermNode21 methodsTIntermNode
TSymbol22 methodsTSymbol
ForceFeedback14 methodsOIS.ForceFeedback
InputManager16 methodsOIS.InputManager
Object11 methodsOIS.Object

Statistics

Stat   methodsAndGetters
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

API Breaking Changes

API Breaking Changes: Types
// <Name>API Breaking Changes: Types</Name>
// This rule warns if a publicly visible type is 
// not publicly visible anymore or if it has been removed.
// Such type can break the code of your clients.

warnif count > 0 from t in codeBase.OlderVersion().Application.Types
where t.IsPublic && 

     
// The type has been removed and its parent project hasn't been removed ...
     ( (t.WasRemoved() && !t.ParentProject.WasRemoved()) ||

     
// ... or the type is not publicly visible anymore
       !t.WasRemoved() && !t.NewerVersion().IsPublic)

select new { t,
             
NewVisibility = (t.WasRemoved() ? " " : t.NewerVersion().Visibility.ToString()) }

No types matched

API Breaking Changes: Methods
// <Name>API Breaking Changes: Methods</Name>
// This rule warns if a publicly visible method is 
// not publicly visible anymore or if it has been removed.
// Such method can break the code of your clients.

warnif count > 0 from m in codeBase.OlderVersion().Application.Methods
where m.IsPublic && 

     
// The method has been removed and its parent type hasn't been removed ...
     ( (m.WasRemoved() && !m.ParentType.WasRemoved()) ||

     
// ... or the method is not publicly visible anymore
       !m.WasRemoved() && !m.NewerVersion().IsPublic)

select new { m,
             
NewVisibility = (m.WasRemoved() ? " " : m.NewerVersion().Visibility.ToString()) }

No methods matched

API Breaking Changes: Fields
// <Name>API Breaking Changes: Fields</Name>
// This rule warns if a publicly visible field is 
// not publicly visible anymore or if it has been removed.
// Such field can break the code of your clients.

warnif count > 0 from f in codeBase.OlderVersion().Application.Fields
where f.IsPublic &&

     
// The field has been removed and its parent type hasn't been removed ...
     ( (f.WasRemoved() && !f.ParentType.WasRemoved()) ||

     
// ... or the field is not publicly visible anymore
       !f.WasRemoved() && !f.NewerVersion().IsPublic)

select new { f,
             
NewVisibility = (f.WasRemoved() ? " " : f.NewerVersion().Visibility.ToString()) }

No fields matched

API Breaking Changes: Interfaces and Abstract Classes
// <Name>API Breaking Changes: Interfaces and Abstract Classes</Name>
// This rule warns if a publicly visible interface or abstract class 
// has been changed and contains new abstract methods or 
// if some abstract methods have been removed.
// This can break the code of clients 
// that implement such interface or derive from such abstract class.

warnif count > 0 from tNewer in Application.Types where 
 
(tNewer.IsInterface || tNewer.IsClass && tNewer.IsAbstract) && 
  
tNewer.IsPublic && 
  
tNewer.IsPresentInBothBuilds()

let tOlder = tNewer.OlderVersion() where tOlder.IsPublic

let methodsRemoved = tOlder.Methods.Where(m => m.IsAbstract && m.WasRemoved())
let methodsAdded = tNewer.Methods.Where(m => m.IsAbstract && m.WasAdded())

where methodsAdded.Count() > 0 || methodsRemoved.Count() > 0
select new { tNewer, methodsAdded, methodsRemoved }

No types matched

Avoid transforming immutable types into mutable types
// <Name>Avoid transforming immutable types into mutable types</Name>

// Immutability is a strong property on a type.
// Breaking immutability can result in serious problem for an algorithm consummer
// that has been written taking account of the type immutability.

// To visualize changes in code, right-click a matched type and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

warnif count > 0 
from t in Application.Types where
  
t.IsPresentInBothBuilds() &&
 
!t.IsStatic &&
 
!t.IsImmutable && 
  
t.OlderVersion().IsImmutable

let mutableFields = from f in t.InstanceFields where !f.IsImmutable select f

select new { t, mutableFields }

No types matched

API: New publicly visible types
// <Name>API: New publicly visible types</Name>
// List types that are new in the public surface of your Projects

from t in Application.Types
where t.IsPublic && 

     
// The type has been removed and its parent project hasn't been removed ...
     ( (t.WasAdded() && !t.ParentProject.WasAdded()) ||

     
// ... or the type existed but was not publicly visible
       !t.WasAdded() && !t.OlderVersion().IsPublic)

select new { t,
             
OldVisibility = (t.WasAdded() ? " " : t.OlderVersion().Visibility.ToString()) }

No types matched

API: New publicly visible methods
// <Name>API: New publicly visible methods</Name>
// List methods that are new in the public surface of your Projects

from m in Application.Methods
where m.IsPublic && 

     
// The method has been removed and its parent project hasn'm been removed ...
     ( (m.WasAdded() && !m.ParentType.WasAdded()) ||

     
// ... or the t existed but was not publicly visible
       !m.WasAdded() && !m.OlderVersion().IsPublic)

select new { m,
             
OldVisibility = (m.WasAdded() ? " " : m.OlderVersion().Visibility.ToString()) }

No methods matched

API: New publicly visible fields
// <Name>API: New publicly visible fields</Name>
// List fields that are new in the public surface of your Projects

from f in Application.Fields
where f.IsPublic && 

     
// The method has been removed and its parent project hasn'f been removed ...
     ( (f.WasAdded() && !f.ParentType.WasAdded()) ||

     
// ... or the t existed but was not publicly visible
       !f.WasAdded() && !f.OlderVersion().IsPublic)

select new { f,
             
OldVisibility = (f.WasAdded() ? " " : f.OlderVersion().Visibility.ToString()) }

No fields matched

Code Diff Summary

New Projects
// <Name>New Projects</Name>
from a in Application.Projects where a.WasAdded()
select new { a, a.NbLinesOfCode }

No projects matched

Projects removed
// <Name>Projects removed</Name>
from a in codeBase.OlderVersion().Application.Projects where a.WasRemoved()
select new { a, a.NbLinesOfCode }

No projects matched

Projects where code was changed
// <Name>Projects where code was changed</Name>
from a in Application.Projects where a.CodeWasChanged()
select new { a, a.NbLinesOfCode, 
             
oldNbLinesOfCode = a.OlderVersion().NbLinesOfCode ,
             
delta = (int) a.NbLinesOfCode - a.OlderVersion().NbLinesOfCode }

No projects matched

New namespaces
// <Name>New namespaces</Name>
from n in Application.Namespaces where 
 
!n.ParentProject.WasAdded() &&
  
n.WasAdded()
select new { n, n.NbLinesOfCode }

No namespaces matched

Namespaces removed
// <Name>Namespaces removed</Name>
from n in codeBase.OlderVersion().Application.Namespaces where 
 
!n.ParentProject.WasRemoved() &&
  
n.WasRemoved()
select new { n, n.NbLinesOfCode }

No namespaces matched

Namespaces where code was changed
// <Name>Namespaces where code was changed</Name>
from n in Application.Namespaces where n.CodeWasChanged()
select new { n, n.NbLinesOfCode, 
             
oldNbLinesOfCode = n.OlderVersion().NbLinesOfCode ,
             
delta = (int) n.NbLinesOfCode - n.OlderVersion().NbLinesOfCode }

No namespaces matched

New types
// <Name>New types</Name>
from t in Application.Types where 
 
!t.ParentNamespace.WasAdded() &&
  
t.WasAdded()
select new { t, t.NbLinesOfCode }

No types matched

Types removed
// <Name>Types removed</Name>
from t in codeBase.OlderVersion().Application.Types where 
 
!t.ParentNamespace.WasRemoved() &&
  
t.WasRemoved()
select new { t, t.NbLinesOfCode }

No types matched

Types where code was changed
// <Name>Types where code was changed</Name>
// To visualize changes in code, right-click a matched type and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

from t in Application.Types where t.CodeWasChanged() 
//select new { t, t.NbLinesOfCode }
select new { t, t.NbLinesOfCode, 
             
oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
             
delta = (int?) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode } 
/*from t in Application.Types where t.CodeWasChanged() && t.IsPresentInBothBuild
select new { t, t.NbLinesOfCode, 
             oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
             delta = (int) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode }*/

No types matched

Heuristic to find types moved from one namespace or project to another
// <Name>Heuristic to find types moved from one namespace or project to another</Name>
let typesRemoved = codeBase.OlderVersion().Types.Where(t => t.WasRemoved())
let typesAdded = Types.Where(t => t.WasAdded())

from tMoved in typesAdded.Join(
   
typesRemoved,
   
t => t.Name,
   
t => t.Name,
   
(tNewer, tOlder) => new { tNewer, 
                             
OlderParentNamespace = tOlder.ParentNamespace,
                             
OlderParentproject = tOlder.ParentProject  } ) 
select tMoved

No types matched

Types directly using one or several types changed
// <Name>Types directly using one or several types changed</Name>
let typesChanged = Application.Types.Where(t => t.CodeWasChanged()).ToHashSet()

from t in JustMyCode.Types.UsingAny(typesChanged) where
  
!t.CodeWasChanged() && 
  
!t.WasAdded()
let typesChangedUsed = t.TypesUsed.Intersect(typesChanged) 
select new { t, typesChangedUsed }

No types matched

Types indirectly using one or several types changed
// <Name>Types indirectly using one or several types changed</Name>
let typesChanged = Application.Types.Where(t => t.CodeWasChanged()).ToHashSet()

// 'depth' represents a code metric defined on types using
// directly or indirectly any type where code was changed.
let depth = JustMyCode.Types.DepthOfIsUsingAny(typesChanged) 

from t in depth.DefinitionDomain where
  
!t.CodeWasChanged() && 
  
!t.WasAdded()

let typesChangedDirectlyUsed = t.TypesUsed.Intersect(typesChanged) 
let depthOfUsingTypesChanged = depth[t]
orderby depthOfUsingTypesChanged 

select new { t, depthOfUsingTypesChanged, typesChangedDirectlyUsed }

No types matched

New methods
// <Name>New methods</Name>
from m in Application.Methods where 
 
!m.ParentType.WasAdded() &&
  
m.WasAdded()
select new { m, m.NbLinesOfCode }

No methods matched

Methods removed
// <Name>Methods removed</Name>
from m in codeBase.OlderVersion().Application.Methods where 
 
!m.ParentType.WasRemoved() &&
  
m.WasRemoved()
select new { m, m.NbLinesOfCode }

No methods matched

Methods where code was changed
// <Name>Methods where code was changed</Name>
// To visualize changes in code, right-click a matched method and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

from m in Application.Methods where m.CodeWasChanged()
select new { m, m.NbLinesOfCode, 
             
oldNbLinesOfCode = m.OlderVersion().NbLinesOfCode ,
             
delta = (int?) m.NbLinesOfCode - m.OlderVersion().NbLinesOfCode }

No methods matched

Methods directly calling one or several methods changed
// <Name>Methods directly calling one or several methods changed</Name>
let methodsChanged = Application.Methods.Where(m => m.CodeWasChanged()).ToHashSet()

from m in JustMyCode.Methods.UsingAny(methodsChanged ) where
  
!m.CodeWasChanged() && 
  
!m.WasAdded()
let methodsChangedCalled = m.MethodsCalled.Intersect(methodsChanged) 
select new { m, methodsChangedCalled }

No methods matched

Methods indirectly calling one or several methods changed
// <Name>Methods indirectly calling one or several methods changed</Name>
let methodsChanged = Application.Methods.Where(m => m.CodeWasChanged()).ToHashSet()

// 'depth' represents a code metric defined on methods using
// directly or indirectly any method where code was changed.
let depth = JustMyCode.Methods.DepthOfIsUsingAny(methodsChanged) 

from m in depth.DefinitionDomain where
  
!m.CodeWasChanged() && 
  
!m.WasAdded()

let methodsChangedDirectlyUsed = m.MethodsCalled.Intersect(methodsChanged) 
let depthOfUsingMethodsChanged = depth[m]
orderby depthOfUsingMethodsChanged 

select new { m, depthOfUsingMethodsChanged, methodsChangedDirectlyUsed }

No methods matched

New fields
// <Name>New fields</Name>
from f in Application.Fields where 
 
!f.ParentType.WasAdded() &&
  
f.WasAdded()
select new { f }

No fields matched

Fields removed
// <Name>Fields removed</Name>
from f in codeBase.OlderVersion().Application.Fields where 
 
!f.ParentType.WasRemoved() &&
  
f.WasRemoved()
select new { f }

No fields matched

Third party types that were not used and that are now used
// <Name>Third party types that were not used and that are now used</Name>
from t in ThirdParty.Types where t.IsUsedRecently()
select new { t, t.Methods, t.Fields } 

No types matched

Third party types that were used and that are not used anymore
// <Name>Third party types that were used and that are not used anymore</Name>
from t in codeBase.OlderVersion().Types where t.IsNotUsedAnymore()
select new { t, t.Methods, t.Fields }  

No types matched

Third party methods that were not used and that are now used
// <Name>Third party methods that were not used and that are now used</Name>
from m in ThirdParty.Methods where 
  
m.IsUsedRecently() &&
 
!m.ParentType.IsUsedRecently()
select m

No methods matched

Third party methods that were used and that are not used anymore
// <Name>Third party methods that were used and that are not used anymore</Name>
from m in codeBase.OlderVersion().Methods where 
  
m.IsNotUsedAnymore() &&
 
!m.ParentType.IsNotUsedAnymore()
select m

No methods matched

Third party fields that were not used and that are now used
// <Name>Third party fields that were not used and that are now used</Name>
from f in ThirdParty.Fields where 
  
f.IsUsedRecently() &&
 
!f.ParentType.IsUsedRecently()
select f

No fields matched

Third party fields that were used and that are not used anymore
// <Name>Third party fields that were used and that are not used anymore</Name>
from f in codeBase.OlderVersion().Fields where 
  
f.IsNotUsedAnymore() &&
 
!f.ParentType.IsNotUsedAnymore()
select f

No fields matched

Dead Code

Potentially dead Types
// <Name>Potentially dead Types</Name>
warnif count > 0

let tt=Types.UsedByAny(Application.Methods).ToHashSet()
// Select types unused
let typesUnused = 
   
from t in JustMyCode.Types where
   
t.NbTypesUsingMe == 0 && !t.IsGlobal  select t



from t in typesUnused  where !tt.Contains(t)
select new { t }
        
        

44 types matched

typesFull Name
tagBITMAPINFOtagBITMAPINFO
tagBITMAPCOREHEADERtagBITMAPCOREHEADER
AnonymousEnumAnonymousEnum
AnonymousEnumAnonymousEnum
tagDXT1BlocktagDXT1Block
DXT_INFO_1+AnonymousEnumDXT_INFO_1+AnonymousEnum
DXT_INFO_3+AnonymousEnumDXT_INFO_3+AnonymousEnum
DXT_INFO_5+AnonymousEnumDXT_INFO_5+AnonymousEnum
DXT_BLOCKDECODER_1DXT_BLOCKDECODER_1
MacRGBColourMacRGBColour
MacPointMacPoint
MacPatternMacPattern
_TIFFRGBAImage_TIFFRGBAImage
TIFFCodecTIFFCodec
TIFFTagMethodsTIFFTagMethods
gl_geom_attribgl_geom_attrib
gl_frag_attribgl_frag_attrib
gl_register_filegl_register_file
_verbose_verbose
_debug_debug
ast_node+Anonymousast_node+Anonymous
ast_expression+Anonymousast_expression+Anonymous
ast_type_qualifier+Anonymousast_type_qualifier+Anonymous
ast_node+Anonymousast_node+Anonymous
prog_instructionprog_instruction
yy_trans_infoyy_trans_info
yytokentypeyytokentype
yytokentypeyytokentype
gl_uniform_driver_formatgl_uniform_driver_format
blockblock
yy_trans_infoyy_trans_info
token_class_ttoken_class_t
expansion_nodeexpansion_node
yytokentypeyytokentype
yytokentypeyytokentype
pool_allocator<T>+rebindpool_allocator<T>+rebind
ShBindingTableShBindingTable
YYSTYPE+Anonymous+AnonymousYYSTYPE+Anonymous+Anonymous
YYSTYPE+Anonymous+AnonymousYYSTYPE+Anonymous+Anonymous
SymbolList_RecSymbolList_Rec
yyltypeyyltype
zzip_file_trailerzzip_file_trailer
zzip_root_direntzzip_root_dirent
zzip_extra_blockzzip_extra_block

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
Potentially dead Methods
// <Name>Potentially dead Methods</Name>
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
    
m => !m.IsPublic &&       // Public methods might be used by client applications of your Projects.
         !m.IsEntryPoint &&            // Main() method is not used by-design.
         !m.IsClassConstructor &&      
         
!m.IsVirtual &&               // Only check for non virtual method that are not seen as used in IL.
         !(m.IsConstructor &&          // Don't take account of protected ctor that might be call by a derived ctors.
           m.IsProtected) &&
         
!m.NameLike (@"^On") &&        //Exclude Events like MFC ones
         !m.IsGeneratedByCompiler
)

// Get methods unused
let methodsUnused = 
   
from m in JustMyCode.Methods where 
   
m.NbMethodsCallingMe == 0 && 
   
canMethodBeConsideredAsDeadProc(m)
   
select m

// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
   
methods => // Unique loop, just to let a chance to build the hashset.
              from o in new[] { new object() }
              
// Use a hashet to make Intersect calls much faster!
              let hashset = methods.ToHashSet()
              
from m in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
              
where canMethodBeConsideredAsDeadProc(m) &&
                    
// Select methods called only by methods already considered as dead
                    hashset.Intersect(m.MethodsCallingMe).Count() == m.NbMethodsCallingMe
              
select m)

from m in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m, m.MethodsCallingMe, depth = deadMethodsMetric[m] }

20 methods matched

methodsMethodsCallingMedepthFull Name
operator=(TagLib&)0 method0TagLib.operator=(TagLib&)
TagLib(constTagLib&)0 method0TagLib.TagLib(constTagLib&)
psdThumbnail(constpsdThumbnail&)0 method0psdThumbnail.psdThumbnail(constpsdThumbnail&)
operator=(constpsdThumbnail&)0 method0psdThumbnail.operator=(constpsdThumbnail&)
operator=(constIOCache&)0 method0IOCache.operator=(constIOCache&)
IOCache(constIOCache&)0 method0IOCache.IOCache(constIOCache&)
glsl_type(GLenum,glsl_base_type,unsignedint,unsignedint,constchar*)0 method0glsl_type.glsl_type(GLenum,glsl_base_type,unsignedint,unsignedint ,constchar*)
glsl_type(GLenum,glsl_base_type,enumglsl_sampler_dim,bool,bool ,unsignedint,constchar*)0 method0glsl_type.glsl_type(GLenum,glsl_base_type,enumglsl_sampler_dim,bool ,bool,unsignedint,constchar*)
_textureSize(constglsl_type*,constglsl_type*)0 method0anonymous_namespace{builtin_functions.cpp}.builtin_builder ._textureSize(constglsl_type*,constglsl_type*)
operator=(constTPoolAllocator&)0 method0TPoolAllocator.operator=(constTPoolAllocator&)
TPoolAllocator(constTPoolAllocator&)0 method0TPoolAllocator.TPoolAllocator(constTPoolAllocator&)
TTypeInfo()0 method0TTypeInfo.TTypeInfo()
TTypeInfo(constTTypeInfo&)0 method0TTypeInfo.TTypeInfo(constTTypeInfo&)
TIntermAggregate(constTIntermAggregate&)0 method0TIntermAggregate.TIntermAggregate(constTIntermAggregate&)
operator=(constTIntermAggregate&)0 method0TIntermAggregate.operator=(constTIntermAggregate&)
appendToStream(constchar*)0 method0TInfoSinkBase.appendToStream(constchar*)
Effect()0 method0OIS.Effect.Effect()
Exception()0 method0OIS.Exception.Exception()
Win32ForceFeedback()0 method0OIS.Win32ForceFeedback.Win32ForceFeedback()
_updateCustomEffect(constOIS::Effect*)0 method0OIS.Win32ForceFeedback._updateCustomEffect(constOIS::Effect*)

Statistics

Stat   MethodsCallingMe   depth
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
Potentially dead Fields
// <Name>Potentially dead Fields</Name>
warnif count > 0
from f in JustMyCode.Fields where
   
f.NbMethodsUsingMe == 0 && 
   
!f.IsPublic &&     // Although not recommended, public fields might be used by client applications of your Projects.
   !f.IsEnumValue   
  
   
// If you don't want to link CppDepend.API.dll, you can use your own IsNotDeadCodeAttribute and adapt this rule.
select f

110 fields matched

fieldsFull Name
_error_typeglsl_type._error_type
_void_typeglsl_type._void_type
_bool_typeglsl_type._bool_type
_bvec2_typeglsl_type._bvec2_type
_bvec3_typeglsl_type._bvec3_type
_bvec4_typeglsl_type._bvec4_type
_int_typeglsl_type._int_type
_ivec2_typeglsl_type._ivec2_type
_ivec3_typeglsl_type._ivec3_type
_ivec4_typeglsl_type._ivec4_type
_uint_typeglsl_type._uint_type
_uvec2_typeglsl_type._uvec2_type
_uvec3_typeglsl_type._uvec3_type
_uvec4_typeglsl_type._uvec4_type
_float_typeglsl_type._float_type
_vec2_typeglsl_type._vec2_type
_vec3_typeglsl_type._vec3_type
_vec4_typeglsl_type._vec4_type
_mat2_typeglsl_type._mat2_type
_mat3_typeglsl_type._mat3_type
_mat4_typeglsl_type._mat4_type
_mat2x3_typeglsl_type._mat2x3_type
_mat2x4_typeglsl_type._mat2x4_type
_mat3x2_typeglsl_type._mat3x2_type
_mat3x4_typeglsl_type._mat3x4_type
_mat4x2_typeglsl_type._mat4x2_type
_mat4x3_typeglsl_type._mat4x3_type
_sampler1D_typeglsl_type._sampler1D_type
_sampler2D_typeglsl_type._sampler2D_type
_sampler3D_typeglsl_type._sampler3D_type
_samplerCube_typeglsl_type._samplerCube_type
_sampler1DArray_typeglsl_type._sampler1DArray_type
_sampler2DArray_typeglsl_type._sampler2DArray_type
_samplerCubeArray_typeglsl_type._samplerCubeArray_type
_sampler2DRect_typeglsl_type._sampler2DRect_type
_samplerBuffer_typeglsl_type._samplerBuffer_type
_sampler2DMS_typeglsl_type._sampler2DMS_type
_sampler2DMSArray_typeglsl_type._sampler2DMSArray_type
_isampler1D_typeglsl_type._isampler1D_type
_isampler2D_typeglsl_type._isampler2D_type
_isampler3D_typeglsl_type._isampler3D_type
_isamplerCube_typeglsl_type._isamplerCube_type
_isampler1DArray_typeglsl_type._isampler1DArray_type
_isampler2DArray_typeglsl_type._isampler2DArray_type
_isamplerCubeArray_typeglsl_type._isamplerCubeArray_type
_isampler2DRect_typeglsl_type._isampler2DRect_type
_isamplerBuffer_typeglsl_type._isamplerBuffer_type
_isampler2DMS_typeglsl_type._isampler2DMS_type
_isampler2DMSArray_typeglsl_type._isampler2DMSArray_type
_usampler1D_typeglsl_type._usampler1D_type
_usampler2D_typeglsl_type._usampler2D_type
_usampler3D_typeglsl_type._usampler3D_type
_usamplerCube_typeglsl_type._usamplerCube_type
_usampler1DArray_typeglsl_type._usampler1DArray_type
_usampler2DArray_typeglsl_type._usampler2DArray_type
_usamplerCubeArray_typeglsl_type._usamplerCubeArray_type
_usampler2DRect_typeglsl_type._usampler2DRect_type
_usamplerBuffer_typeglsl_type._usamplerBuffer_type
_usampler2DMS_typeglsl_type._usampler2DMS_type
_usampler2DMSArray_typeglsl_type._usampler2DMSArray_type
_sampler1DShadow_typeglsl_type._sampler1DShadow_type
_sampler2DShadow_typeglsl_type._sampler2DShadow_type
_samplerCubeShadow_typeglsl_type._samplerCubeShadow_type
_sampler1DArrayShadow_typeglsl_type._sampler1DArrayShadow_type
_sampler2DArrayShadow_typeglsl_type._sampler2DArrayShadow_type
_samplerCubeArrayShadow_typeglsl_type._samplerCubeArrayShadow_type
_sampler2DRectShadow_typeglsl_type._sampler2DRectShadow_type
_samplerExternalOES_typeglsl_type._samplerExternalOES_type
_image1D_typeglsl_type._image1D_type
_image2D_typeglsl_type._image2D_type
_image3D_typeglsl_type._image3D_type
_image2DRect_typeglsl_type._image2DRect_type
_imageCube_typeglsl_type._imageCube_type
_imageBuffer_typeglsl_type._imageBuffer_type
_image1DArray_typeglsl_type._image1DArray_type
_image2DArray_typeglsl_type._image2DArray_type
_imageCubeArray_typeglsl_type._imageCubeArray_type
_image2DMS_typeglsl_type._image2DMS_type
_image2DMSArray_typeglsl_type._image2DMSArray_type
_iimage1D_typeglsl_type._iimage1D_type
_iimage2D_typeglsl_type._iimage2D_type
_iimage3D_typeglsl_type._iimage3D_type
_iimage2DRect_typeglsl_type._iimage2DRect_type
_iimageCube_typeglsl_type._iimageCube_type
_iimageBuffer_typeglsl_type._iimageBuffer_type
_iimage1DArray_typeglsl_type._iimage1DArray_type
_iimage2DArray_typeglsl_type._iimage2DArray_type
_iimageCubeArray_typeglsl_type._iimageCubeArray_type
_iimage2DMS_typeglsl_type._iimage2DMS_type
_iimage2DMSArray_typeglsl_type._iimage2DMSArray_type
_uimage1D_typeglsl_type._uimage1D_type
_uimage2D_typeglsl_type._uimage2D_type
_uimage3D_typeglsl_type._uimage3D_type
_uimage2DRect_typeglsl_type._uimage2DRect_type
_uimageCube_typeglsl_type._uimageCube_type
_uimageBuffer_typeglsl_type._uimageBuffer_type
_uimage1DArray_typeglsl_type._uimage1DArray_type
_uimage2DArray_typeglsl_type._uimage2DArray_type
_uimageCubeArray_typeglsl_type._uimageCubeArray_type
_uimage2DMS_typeglsl_type._uimage2DMS_type

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:

Trend Charts

Unfortunately, Google Terms of Service prohibit saving the Chart API on your machine for offline use as stated at https://developers.google.com/chart/interactive/faq#localdownload

We could not connect to https://www.google.com/jsapi to retrieve the script. We will display chart data in a table instead.

Please connect to the internet and reload the page to display the chart.

Projects Dependencies

Assembly Depends on Is referenced by
Externals v1.0.0.0 - libbz2 v1.0.0.0 ; FreeImage v1.0.0.0 ; glsl_optimizer_lib v1.0.0.0 ; hlslang v1.0.0.0 ; OIS v1.0.0.0 ; zziplib v1.0.0.0 ;
WindowsAPI v1.0.0.0 - libbz2 v1.0.0.0 ; FreeImage v1.0.0.0 ; glsl_optimizer_lib v1.0.0.0 ; glsl_optimizer_tests v1.0.0.0 ; hlslang v1.0.0.0 ; OIS v1.0.0.0 ; zziplib v1.0.0.0 ;
libbz2 v1.0.0.0Externals v1.0.0.0 ; WindowsAPI v1.0.0.0 ; -
FreeImage v1.0.0.0Externals v1.0.0.0 ; WindowsAPI v1.0.0.0 ; -
glsl_optimizer_lib v1.0.0.0Externals v1.0.0.0 ; WindowsAPI v1.0.0.0 ; glsl_optimizer_tests v1.0.0.0 ;
glsl_optimizer_tests v1.0.0.0WindowsAPI v1.0.0.0 ; glsl_optimizer_lib v1.0.0.0 ; -
hlslang v1.0.0.0WindowsAPI v1.0.0.0 ; Externals v1.0.0.0 ; -
OIS v1.0.0.0Externals v1.0.0.0 ; WindowsAPI v1.0.0.0 ; -
zziplib v1.0.0.0Externals v1.0.0.0 ; WindowsAPI v1.0.0.0 ; -

Projects Build Order

  1. libbz2
  2. FreeImage
  3. glsl_optimizer_lib
  4. glsl_optimizer_tests
  5. hlslang
  6. OIS
  7. zziplib

Projects Build Order

  1. libbz2
  2. FreeImage
  3. glsl_optimizer_lib
  4. glsl_optimizer_tests
  5. hlslang
  6. OIS
  7. zziplib

Analysis Log : Information and Warnings

Here are Logs emitted during CppDepend analysis.
The Warnings can reveal potential flaws concerning the health of the build process.
A particular warn can be disabled through the CppDepend interactive UI, panel Error List, tick the checkbox Disabled corresponding to the warn to disable.


Kind Message
Info08/04/2014 19:23:19 Begin full analysis with CppDepend v4.1.0.2453
InfoNo Baseline for Comparison loaded.
WarningAdditional include directory C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\OGLCompilersDLL not found for the project hlslang : This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)\include; not found for the project OIS due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)\include; not found for the project OIS due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)\include; not found for the project OIS due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)\include; not found for the project OIS due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)\include; not found for the project OIS due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)\include; not found for the project OIS due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)\include; not found for the project OIS due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)\include; not found for the project OIS due to the missing environment variables DXSDK_DIR: This can influence the analysis.
InfoThe parser used is Clang
WarningProject:hlslang=>no matching member function for call to 'insert' at C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\GLSLCodeGen\hlslSupportLib.cpp:53:31
WarningProject:hlslang=>expected ':' at C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\GLSLCodeGen\hlslSupportLib.cpp:1101:49
WarningProject:hlslang=>use of undeclared identifier 'second' at C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\hlsl2glsl\hlslang\GLSLCodeGen\hlslSupportLib.cpp:1101:49
WarningThe project hlslang contains 3 Clang errors, to see them you can activate the Clang parsing errors tab.
WarningProject:OIS=>case value is not a constant expression at C:\Dependencies-vc110-x86-24.05.2014\Dependencies-vc110-x86-24.05.2014\src\ois\src\win32\Win32JoyStick.cpp:340:8
WarningThe project OIS contains 1 Clang errors, to see them you can activate the Clang parsing errors tab.
InfoNo dependency cycle detected in projects referencement graph.
Info08/04/2014 19:25:36 Analyse dependencies of your application.
Info08/04/2014 19:25:36 Building the report (standard).
Info08/04/2014 19:25:42 Log trend metrics values.
Info08/04/2014 19:25:43 Execute queries and rules
Warning3 critical rules are violated. - Types too big - critical - Methods too complex - critical - Methods with too many parameters - critical
Info08/04/2014 19:25:48 CppDepend analysis done. Duration: 00:02:30