@@ -366,19 +366,68 @@ <h1>Phan in Browser</h1>
366366 < div id ="plugin-modal " class ="modal ">
367367 < div class ="modal-content ">
368368 < div class ="modal-header ">
369- < h2 > Configure Phan Plugins </ h2 >
369+ < h2 > Configure Phan Analysis </ h2 >
370370 < button class ="modal-close " id ="modal-close "> ×</ button >
371371 </ div >
372372 < div class ="modal-body ">
373- < div class ="level-buttons ">
374- < button class ="level-btn " data-level ="1 "> Level 1</ button >
375- < button class ="level-btn " data-level ="2 "> Level 2</ button >
376- < button class ="level-btn " data-level ="3 "> Level 3</ button >
377- < button class ="level-btn " data-level ="4 "> Level 4</ button >
378- < button class ="level-btn " data-level ="5 "> Level 5</ button >
373+ < div class ="plugins-section ">
374+ < h3 > Plugins</ h3 >
375+ < div class ="level-buttons ">
376+ < button class ="level-btn " data-level ="1 "> Level 1</ button >
377+ < button class ="level-btn " data-level ="2 "> Level 2</ button >
378+ < button class ="level-btn " data-level ="3 "> Level 3</ button >
379+ < button class ="level-btn " data-level ="4 "> Level 4</ button >
380+ < button class ="level-btn " data-level ="5 "> Level 5</ button >
381+ </ div >
382+ < div class ="plugin-list " id ="plugin-list ">
383+ <!-- Plugins will be populated by JavaScript -->
384+ </ div >
379385 </ div >
380- < div class ="plugin-list " id ="plugin-list ">
381- <!-- Plugins will be populated by JavaScript -->
386+
387+ < div class ="strict-checking-section ">
388+ < h3 > Strict Type Checking</ h3 >
389+ < p class ="section-description "> When enabled, Phan will warn if < strong > any</ strong > type in a union cannot be cast to the expected type. This reveals more bugs but may introduce false positives.</ p >
390+ < div class ="strict-checking-list " id ="strict-checking-list ">
391+ < div class ="strict-item ">
392+ < input type ="checkbox " id ="strict-method " value ="strict_method_checking ">
393+ < label for ="strict-method ">
394+ < span class ="strict-name "> strict_method_checking</ span >
395+ < span class ="strict-desc "> Warn if any type in a method invocation's object is not an object, or if any type is not callable</ span >
396+ </ label >
397+ </ div >
398+ < div class ="strict-item ">
399+ < input type ="checkbox " id ="strict-param " value ="strict_param_checking ">
400+ < label for ="strict-param ">
401+ < span class ="strict-name "> strict_param_checking</ span >
402+ < span class ="strict-desc "> Warn if any type in an argument cannot be cast to the parameter's expected type</ span >
403+ </ label >
404+ </ div >
405+ < div class ="strict-item ">
406+ < input type ="checkbox " id ="strict-property " value ="strict_property_checking ">
407+ < label for ="strict-property ">
408+ < span class ="strict-name "> strict_property_checking</ span >
409+ < span class ="strict-desc "> Warn if any type in a property assignment cannot be cast to the property's declared type</ span >
410+ </ label >
411+ </ div >
412+ < div class ="strict-item ">
413+ < input type ="checkbox " id ="strict-return " value ="strict_return_checking ">
414+ < label for ="strict-return ">
415+ < span class ="strict-name "> strict_return_checking</ span >
416+ < span class ="strict-desc "> Warn if any type in a returned value cannot be cast to the declared return type</ span >
417+ </ label >
418+ </ div >
419+ < div class ="strict-item ">
420+ < input type ="checkbox " id ="strict-object " value ="strict_object_checking ">
421+ < label for ="strict-object ">
422+ < span class ="strict-name "> strict_object_checking</ span >
423+ < span class ="strict-desc "> Warn if any type of the object expression for a property access does not contain that property</ span >
424+ </ label >
425+ </ div >
426+ </ div >
427+ < div class ="strict-buttons ">
428+ < button class ="strict-btn " id ="strict-all "> Enable All</ button >
429+ < button class ="strict-btn " id ="strict-none "> Disable All</ button >
430+ </ div >
382431 </ div >
383432 </ div >
384433 < div class ="modal-footer ">
0 commit comments