diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/GraphSchema.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/GraphSchema.scala index ae3b63952..d6e11448f 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/GraphSchema.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/GraphSchema.scala @@ -202,6 +202,7 @@ object GraphSchema extends flatgraph.Schema { size => new Array[String](size), size => new Array[String](size), size => new Array[String](size), + size => new Array[String](size), size => new Array[Int](size), size => new Array[String](size), size => new Array[Boolean](size), @@ -260,6 +261,7 @@ object GraphSchema extends flatgraph.Schema { "EXPLICIT_AS", "FILENAME", "FULL_NAME", + "GENERIC_SIGNATURE", "HASH", "IMPORTED_AS", "IMPORTED_ENTITY", @@ -294,13 +296,13 @@ object GraphSchema extends flatgraph.Schema { "VERSION" ) val nodePropertyByLabel = normalNodePropertyNames.zipWithIndex.toMap - .updated("evidence", 55) - .updated("keyValuePairs", 56) - .updated("node", 57) - .updated("tag", 58) + .updated("evidence", 56) + .updated("keyValuePairs", 57) + .updated("node", 58) + .updated("tag", 59) val nodePropertyDescriptors: Array[FormalQtyType.FormalQuantity | FormalQtyType.FormalType] = { - val nodePropertyDescriptors = new Array[FormalQtyType.FormalQuantity | FormalQtyType.FormalType](5192) - for (idx <- Range(0, 5192)) { + val nodePropertyDescriptors = new Array[FormalQtyType.FormalQuantity | FormalQtyType.FormalType](5280) + for (idx <- Range(0, 5280)) { nodePropertyDescriptors(idx) = if ((idx & 1) == 0) FormalQtyType.NothingType else FormalQtyType.QtyNone @@ -316,12 +318,12 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(969) = FormalQtyType.QtyOption nodePropertyDescriptors(1936) = FormalQtyType.StringType // ANNOTATION.FULL_NAME nodePropertyDescriptors(1937) = FormalQtyType.QtyOne - nodePropertyDescriptors(2992) = FormalQtyType.IntType // ANNOTATION.LINE_NUMBER - nodePropertyDescriptors(2993) = FormalQtyType.QtyOption - nodePropertyDescriptors(3432) = FormalQtyType.StringType // ANNOTATION.NAME - nodePropertyDescriptors(3433) = FormalQtyType.QtyOne - nodePropertyDescriptors(3784) = FormalQtyType.IntType // ANNOTATION.ORDER - nodePropertyDescriptors(3785) = FormalQtyType.QtyOne + nodePropertyDescriptors(3080) = FormalQtyType.IntType // ANNOTATION.LINE_NUMBER + nodePropertyDescriptors(3081) = FormalQtyType.QtyOption + nodePropertyDescriptors(3520) = FormalQtyType.StringType // ANNOTATION.NAME + nodePropertyDescriptors(3521) = FormalQtyType.QtyOne + nodePropertyDescriptors(3872) = FormalQtyType.IntType // ANNOTATION.ORDER + nodePropertyDescriptors(3873) = FormalQtyType.QtyOne nodePropertyDescriptors(90) = FormalQtyType.IntType // ANNOTATION_LITERAL.ARGUMENT_INDEX nodePropertyDescriptors(91) = FormalQtyType.QtyOne nodePropertyDescriptors(178) = FormalQtyType.StringType // ANNOTATION_LITERAL.ARGUMENT_NAME @@ -330,28 +332,28 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(883) = FormalQtyType.QtyOne nodePropertyDescriptors(970) = FormalQtyType.IntType // ANNOTATION_LITERAL.COLUMN_NUMBER nodePropertyDescriptors(971) = FormalQtyType.QtyOption - nodePropertyDescriptors(2994) = FormalQtyType.IntType // ANNOTATION_LITERAL.LINE_NUMBER - nodePropertyDescriptors(2995) = FormalQtyType.QtyOption - nodePropertyDescriptors(3434) = FormalQtyType.StringType // ANNOTATION_LITERAL.NAME - nodePropertyDescriptors(3435) = FormalQtyType.QtyOne - nodePropertyDescriptors(3786) = FormalQtyType.IntType // ANNOTATION_LITERAL.ORDER - nodePropertyDescriptors(3787) = FormalQtyType.QtyOne + nodePropertyDescriptors(3082) = FormalQtyType.IntType // ANNOTATION_LITERAL.LINE_NUMBER + nodePropertyDescriptors(3083) = FormalQtyType.QtyOption + nodePropertyDescriptors(3522) = FormalQtyType.StringType // ANNOTATION_LITERAL.NAME + nodePropertyDescriptors(3523) = FormalQtyType.QtyOne + nodePropertyDescriptors(3874) = FormalQtyType.IntType // ANNOTATION_LITERAL.ORDER + nodePropertyDescriptors(3875) = FormalQtyType.QtyOne nodePropertyDescriptors(884) = FormalQtyType.StringType // ANNOTATION_PARAMETER.CODE nodePropertyDescriptors(885) = FormalQtyType.QtyOne nodePropertyDescriptors(972) = FormalQtyType.IntType // ANNOTATION_PARAMETER.COLUMN_NUMBER nodePropertyDescriptors(973) = FormalQtyType.QtyOption - nodePropertyDescriptors(2996) = FormalQtyType.IntType // ANNOTATION_PARAMETER.LINE_NUMBER - nodePropertyDescriptors(2997) = FormalQtyType.QtyOption - nodePropertyDescriptors(3788) = FormalQtyType.IntType // ANNOTATION_PARAMETER.ORDER - nodePropertyDescriptors(3789) = FormalQtyType.QtyOne + nodePropertyDescriptors(3084) = FormalQtyType.IntType // ANNOTATION_PARAMETER.LINE_NUMBER + nodePropertyDescriptors(3085) = FormalQtyType.QtyOption + nodePropertyDescriptors(3876) = FormalQtyType.IntType // ANNOTATION_PARAMETER.ORDER + nodePropertyDescriptors(3877) = FormalQtyType.QtyOne nodePropertyDescriptors(886) = FormalQtyType.StringType // ANNOTATION_PARAMETER_ASSIGN.CODE nodePropertyDescriptors(887) = FormalQtyType.QtyOne nodePropertyDescriptors(974) = FormalQtyType.IntType // ANNOTATION_PARAMETER_ASSIGN.COLUMN_NUMBER nodePropertyDescriptors(975) = FormalQtyType.QtyOption - nodePropertyDescriptors(2998) = FormalQtyType.IntType // ANNOTATION_PARAMETER_ASSIGN.LINE_NUMBER - nodePropertyDescriptors(2999) = FormalQtyType.QtyOption - nodePropertyDescriptors(3790) = FormalQtyType.IntType // ANNOTATION_PARAMETER_ASSIGN.ORDER - nodePropertyDescriptors(3791) = FormalQtyType.QtyOne + nodePropertyDescriptors(3086) = FormalQtyType.IntType // ANNOTATION_PARAMETER_ASSIGN.LINE_NUMBER + nodePropertyDescriptors(3087) = FormalQtyType.QtyOption + nodePropertyDescriptors(3878) = FormalQtyType.IntType // ANNOTATION_PARAMETER_ASSIGN.ORDER + nodePropertyDescriptors(3879) = FormalQtyType.QtyOne nodePropertyDescriptors(96) = FormalQtyType.IntType // ARRAY_INITIALIZER.ARGUMENT_INDEX nodePropertyDescriptors(97) = FormalQtyType.QtyOne nodePropertyDescriptors(184) = FormalQtyType.StringType // ARRAY_INITIALIZER.ARGUMENT_NAME @@ -360,16 +362,16 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(889) = FormalQtyType.QtyOne nodePropertyDescriptors(976) = FormalQtyType.IntType // ARRAY_INITIALIZER.COLUMN_NUMBER nodePropertyDescriptors(977) = FormalQtyType.QtyOption - nodePropertyDescriptors(3000) = FormalQtyType.IntType // ARRAY_INITIALIZER.LINE_NUMBER - nodePropertyDescriptors(3001) = FormalQtyType.QtyOption - nodePropertyDescriptors(3792) = FormalQtyType.IntType // ARRAY_INITIALIZER.ORDER - nodePropertyDescriptors(3793) = FormalQtyType.QtyOne - nodePropertyDescriptors(3178) = FormalQtyType.StringType // BINDING.METHOD_FULL_NAME - nodePropertyDescriptors(3179) = FormalQtyType.QtyOne - nodePropertyDescriptors(3442) = FormalQtyType.StringType // BINDING.NAME - nodePropertyDescriptors(3443) = FormalQtyType.QtyOne - nodePropertyDescriptors(4322) = FormalQtyType.StringType // BINDING.SIGNATURE - nodePropertyDescriptors(4323) = FormalQtyType.QtyOne + nodePropertyDescriptors(3088) = FormalQtyType.IntType // ARRAY_INITIALIZER.LINE_NUMBER + nodePropertyDescriptors(3089) = FormalQtyType.QtyOption + nodePropertyDescriptors(3880) = FormalQtyType.IntType // ARRAY_INITIALIZER.ORDER + nodePropertyDescriptors(3881) = FormalQtyType.QtyOne + nodePropertyDescriptors(3266) = FormalQtyType.StringType // BINDING.METHOD_FULL_NAME + nodePropertyDescriptors(3267) = FormalQtyType.QtyOne + nodePropertyDescriptors(3530) = FormalQtyType.StringType // BINDING.NAME + nodePropertyDescriptors(3531) = FormalQtyType.QtyOne + nodePropertyDescriptors(4410) = FormalQtyType.StringType // BINDING.SIGNATURE + nodePropertyDescriptors(4411) = FormalQtyType.QtyOne nodePropertyDescriptors(100) = FormalQtyType.IntType // BLOCK.ARGUMENT_INDEX nodePropertyDescriptors(101) = FormalQtyType.QtyOne nodePropertyDescriptors(188) = FormalQtyType.StringType // BLOCK.ARGUMENT_NAME @@ -380,14 +382,14 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(981) = FormalQtyType.QtyOption nodePropertyDescriptors(1596) = FormalQtyType.StringType // BLOCK.DYNAMIC_TYPE_HINT_FULL_NAME nodePropertyDescriptors(1597) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3004) = FormalQtyType.IntType // BLOCK.LINE_NUMBER - nodePropertyDescriptors(3005) = FormalQtyType.QtyOption - nodePropertyDescriptors(3796) = FormalQtyType.IntType // BLOCK.ORDER - nodePropertyDescriptors(3797) = FormalQtyType.QtyOne - nodePropertyDescriptors(4148) = FormalQtyType.StringType // BLOCK.POSSIBLE_TYPES - nodePropertyDescriptors(4149) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4588) = FormalQtyType.StringType // BLOCK.TYPE_FULL_NAME - nodePropertyDescriptors(4589) = FormalQtyType.QtyOne + nodePropertyDescriptors(3092) = FormalQtyType.IntType // BLOCK.LINE_NUMBER + nodePropertyDescriptors(3093) = FormalQtyType.QtyOption + nodePropertyDescriptors(3884) = FormalQtyType.IntType // BLOCK.ORDER + nodePropertyDescriptors(3885) = FormalQtyType.QtyOne + nodePropertyDescriptors(4236) = FormalQtyType.StringType // BLOCK.POSSIBLE_TYPES + nodePropertyDescriptors(4237) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4676) = FormalQtyType.StringType // BLOCK.TYPE_FULL_NAME + nodePropertyDescriptors(4677) = FormalQtyType.QtyOne nodePropertyDescriptors(102) = FormalQtyType.IntType // CALL.ARGUMENT_INDEX nodePropertyDescriptors(103) = FormalQtyType.QtyOne nodePropertyDescriptors(190) = FormalQtyType.StringType // CALL.ARGUMENT_NAME @@ -400,20 +402,20 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1511) = FormalQtyType.QtyOne nodePropertyDescriptors(1598) = FormalQtyType.StringType // CALL.DYNAMIC_TYPE_HINT_FULL_NAME nodePropertyDescriptors(1599) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3006) = FormalQtyType.IntType // CALL.LINE_NUMBER - nodePropertyDescriptors(3007) = FormalQtyType.QtyOption - nodePropertyDescriptors(3182) = FormalQtyType.StringType // CALL.METHOD_FULL_NAME - nodePropertyDescriptors(3183) = FormalQtyType.QtyOne - nodePropertyDescriptors(3446) = FormalQtyType.StringType // CALL.NAME - nodePropertyDescriptors(3447) = FormalQtyType.QtyOne - nodePropertyDescriptors(3798) = FormalQtyType.IntType // CALL.ORDER - nodePropertyDescriptors(3799) = FormalQtyType.QtyOne - nodePropertyDescriptors(4150) = FormalQtyType.StringType // CALL.POSSIBLE_TYPES - nodePropertyDescriptors(4151) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4326) = FormalQtyType.StringType // CALL.SIGNATURE - nodePropertyDescriptors(4327) = FormalQtyType.QtyOne - nodePropertyDescriptors(4590) = FormalQtyType.StringType // CALL.TYPE_FULL_NAME - nodePropertyDescriptors(4591) = FormalQtyType.QtyOne + nodePropertyDescriptors(3094) = FormalQtyType.IntType // CALL.LINE_NUMBER + nodePropertyDescriptors(3095) = FormalQtyType.QtyOption + nodePropertyDescriptors(3270) = FormalQtyType.StringType // CALL.METHOD_FULL_NAME + nodePropertyDescriptors(3271) = FormalQtyType.QtyOne + nodePropertyDescriptors(3534) = FormalQtyType.StringType // CALL.NAME + nodePropertyDescriptors(3535) = FormalQtyType.QtyOne + nodePropertyDescriptors(3886) = FormalQtyType.IntType // CALL.ORDER + nodePropertyDescriptors(3887) = FormalQtyType.QtyOne + nodePropertyDescriptors(4238) = FormalQtyType.StringType // CALL.POSSIBLE_TYPES + nodePropertyDescriptors(4239) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4414) = FormalQtyType.StringType // CALL.SIGNATURE + nodePropertyDescriptors(4415) = FormalQtyType.QtyOne + nodePropertyDescriptors(4678) = FormalQtyType.StringType // CALL.TYPE_FULL_NAME + nodePropertyDescriptors(4679) = FormalQtyType.QtyOne nodePropertyDescriptors(720) = FormalQtyType.StringType // CLOSURE_BINDING.CLOSURE_BINDING_ID nodePropertyDescriptors(721) = FormalQtyType.QtyOption nodePropertyDescriptors(808) = FormalQtyType.StringType // CLOSURE_BINDING.CLOSURE_ORIGINAL_NAME @@ -426,14 +428,14 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(987) = FormalQtyType.QtyOption nodePropertyDescriptors(1866) = FormalQtyType.StringType // COMMENT.FILENAME nodePropertyDescriptors(1867) = FormalQtyType.QtyOne - nodePropertyDescriptors(3010) = FormalQtyType.IntType // COMMENT.LINE_NUMBER - nodePropertyDescriptors(3011) = FormalQtyType.QtyOption - nodePropertyDescriptors(3802) = FormalQtyType.IntType // COMMENT.ORDER - nodePropertyDescriptors(3803) = FormalQtyType.QtyOne + nodePropertyDescriptors(3098) = FormalQtyType.IntType // COMMENT.LINE_NUMBER + nodePropertyDescriptors(3099) = FormalQtyType.QtyOption + nodePropertyDescriptors(3890) = FormalQtyType.IntType // COMMENT.ORDER + nodePropertyDescriptors(3891) = FormalQtyType.QtyOne nodePropertyDescriptors(1252) = FormalQtyType.StringType // CONFIG_FILE.CONTENT nodePropertyDescriptors(1253) = FormalQtyType.QtyOne - nodePropertyDescriptors(3452) = FormalQtyType.StringType // CONFIG_FILE.NAME - nodePropertyDescriptors(3453) = FormalQtyType.QtyOne + nodePropertyDescriptors(3540) = FormalQtyType.StringType // CONFIG_FILE.NAME + nodePropertyDescriptors(3541) = FormalQtyType.QtyOne nodePropertyDescriptors(110) = FormalQtyType.IntType // CONTROL_STRUCTURE.ARGUMENT_INDEX nodePropertyDescriptors(111) = FormalQtyType.QtyOne nodePropertyDescriptors(198) = FormalQtyType.StringType // CONTROL_STRUCTURE.ARGUMENT_NAME @@ -444,18 +446,18 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(991) = FormalQtyType.QtyOption nodePropertyDescriptors(1342) = FormalQtyType.StringType // CONTROL_STRUCTURE.CONTROL_STRUCTURE_TYPE nodePropertyDescriptors(1343) = FormalQtyType.QtyOne - nodePropertyDescriptors(3014) = FormalQtyType.IntType // CONTROL_STRUCTURE.LINE_NUMBER - nodePropertyDescriptors(3015) = FormalQtyType.QtyOption - nodePropertyDescriptors(3806) = FormalQtyType.IntType // CONTROL_STRUCTURE.ORDER - nodePropertyDescriptors(3807) = FormalQtyType.QtyOne - nodePropertyDescriptors(4070) = FormalQtyType.StringType // CONTROL_STRUCTURE.PARSER_TYPE_NAME - nodePropertyDescriptors(4071) = FormalQtyType.QtyOne + nodePropertyDescriptors(3102) = FormalQtyType.IntType // CONTROL_STRUCTURE.LINE_NUMBER + nodePropertyDescriptors(3103) = FormalQtyType.QtyOption + nodePropertyDescriptors(3894) = FormalQtyType.IntType // CONTROL_STRUCTURE.ORDER + nodePropertyDescriptors(3895) = FormalQtyType.QtyOne + nodePropertyDescriptors(4158) = FormalQtyType.StringType // CONTROL_STRUCTURE.PARSER_TYPE_NAME + nodePropertyDescriptors(4159) = FormalQtyType.QtyOne nodePropertyDescriptors(1432) = FormalQtyType.StringType // DEPENDENCY.DEPENDENCY_GROUP_ID nodePropertyDescriptors(1433) = FormalQtyType.QtyOption - nodePropertyDescriptors(3456) = FormalQtyType.StringType // DEPENDENCY.NAME - nodePropertyDescriptors(3457) = FormalQtyType.QtyOne - nodePropertyDescriptors(4776) = FormalQtyType.StringType // DEPENDENCY.VERSION - nodePropertyDescriptors(4777) = FormalQtyType.QtyOne + nodePropertyDescriptors(3544) = FormalQtyType.StringType // DEPENDENCY.NAME + nodePropertyDescriptors(3545) = FormalQtyType.QtyOne + nodePropertyDescriptors(4864) = FormalQtyType.StringType // DEPENDENCY.VERSION + nodePropertyDescriptors(4865) = FormalQtyType.QtyOne nodePropertyDescriptors(114) = FormalQtyType.IntType // FIELD_IDENTIFIER.ARGUMENT_INDEX nodePropertyDescriptors(115) = FormalQtyType.QtyOne nodePropertyDescriptors(202) = FormalQtyType.StringType // FIELD_IDENTIFIER.ARGUMENT_NAME @@ -466,28 +468,28 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(907) = FormalQtyType.QtyOne nodePropertyDescriptors(994) = FormalQtyType.IntType // FIELD_IDENTIFIER.COLUMN_NUMBER nodePropertyDescriptors(995) = FormalQtyType.QtyOption - nodePropertyDescriptors(3018) = FormalQtyType.IntType // FIELD_IDENTIFIER.LINE_NUMBER - nodePropertyDescriptors(3019) = FormalQtyType.QtyOption - nodePropertyDescriptors(3810) = FormalQtyType.IntType // FIELD_IDENTIFIER.ORDER - nodePropertyDescriptors(3811) = FormalQtyType.QtyOne + nodePropertyDescriptors(3106) = FormalQtyType.IntType // FIELD_IDENTIFIER.LINE_NUMBER + nodePropertyDescriptors(3107) = FormalQtyType.QtyOption + nodePropertyDescriptors(3898) = FormalQtyType.IntType // FIELD_IDENTIFIER.ORDER + nodePropertyDescriptors(3899) = FormalQtyType.QtyOne nodePropertyDescriptors(908) = FormalQtyType.StringType // FILE.CODE nodePropertyDescriptors(909) = FormalQtyType.QtyOne nodePropertyDescriptors(996) = FormalQtyType.IntType // FILE.COLUMN_NUMBER nodePropertyDescriptors(997) = FormalQtyType.QtyOption nodePropertyDescriptors(1260) = FormalQtyType.StringType // FILE.CONTENT nodePropertyDescriptors(1261) = FormalQtyType.QtyOne - nodePropertyDescriptors(2052) = FormalQtyType.StringType // FILE.HASH - nodePropertyDescriptors(2053) = FormalQtyType.QtyOption - nodePropertyDescriptors(3020) = FormalQtyType.IntType // FILE.LINE_NUMBER - nodePropertyDescriptors(3021) = FormalQtyType.QtyOption - nodePropertyDescriptors(3460) = FormalQtyType.StringType // FILE.NAME - nodePropertyDescriptors(3461) = FormalQtyType.QtyOne - nodePropertyDescriptors(3812) = FormalQtyType.IntType // FILE.ORDER - nodePropertyDescriptors(3813) = FormalQtyType.QtyOne - nodePropertyDescriptors(4870) = FormalQtyType.RefType // FINDING.evidence - nodePropertyDescriptors(4871) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4958) = FormalQtyType.RefType // FINDING.keyValuePairs + nodePropertyDescriptors(2140) = FormalQtyType.StringType // FILE.HASH + nodePropertyDescriptors(2141) = FormalQtyType.QtyOption + nodePropertyDescriptors(3108) = FormalQtyType.IntType // FILE.LINE_NUMBER + nodePropertyDescriptors(3109) = FormalQtyType.QtyOption + nodePropertyDescriptors(3548) = FormalQtyType.StringType // FILE.NAME + nodePropertyDescriptors(3549) = FormalQtyType.QtyOne + nodePropertyDescriptors(3900) = FormalQtyType.IntType // FILE.ORDER + nodePropertyDescriptors(3901) = FormalQtyType.QtyOne + nodePropertyDescriptors(4958) = FormalQtyType.RefType // FINDING.evidence nodePropertyDescriptors(4959) = FormalQtyType.QtyMulti + nodePropertyDescriptors(5046) = FormalQtyType.RefType // FINDING.keyValuePairs + nodePropertyDescriptors(5047) = FormalQtyType.QtyMulti nodePropertyDescriptors(120) = FormalQtyType.IntType // IDENTIFIER.ARGUMENT_INDEX nodePropertyDescriptors(121) = FormalQtyType.QtyOne nodePropertyDescriptors(208) = FormalQtyType.StringType // IDENTIFIER.ARGUMENT_NAME @@ -498,64 +500,64 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1001) = FormalQtyType.QtyOption nodePropertyDescriptors(1616) = FormalQtyType.StringType // IDENTIFIER.DYNAMIC_TYPE_HINT_FULL_NAME nodePropertyDescriptors(1617) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3024) = FormalQtyType.IntType // IDENTIFIER.LINE_NUMBER - nodePropertyDescriptors(3025) = FormalQtyType.QtyOption - nodePropertyDescriptors(3464) = FormalQtyType.StringType // IDENTIFIER.NAME - nodePropertyDescriptors(3465) = FormalQtyType.QtyOne - nodePropertyDescriptors(3816) = FormalQtyType.IntType // IDENTIFIER.ORDER - nodePropertyDescriptors(3817) = FormalQtyType.QtyOne - nodePropertyDescriptors(4168) = FormalQtyType.StringType // IDENTIFIER.POSSIBLE_TYPES - nodePropertyDescriptors(4169) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4608) = FormalQtyType.StringType // IDENTIFIER.TYPE_FULL_NAME - nodePropertyDescriptors(4609) = FormalQtyType.QtyOne + nodePropertyDescriptors(3112) = FormalQtyType.IntType // IDENTIFIER.LINE_NUMBER + nodePropertyDescriptors(3113) = FormalQtyType.QtyOption + nodePropertyDescriptors(3552) = FormalQtyType.StringType // IDENTIFIER.NAME + nodePropertyDescriptors(3553) = FormalQtyType.QtyOne + nodePropertyDescriptors(3904) = FormalQtyType.IntType // IDENTIFIER.ORDER + nodePropertyDescriptors(3905) = FormalQtyType.QtyOne + nodePropertyDescriptors(4256) = FormalQtyType.StringType // IDENTIFIER.POSSIBLE_TYPES + nodePropertyDescriptors(4257) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4696) = FormalQtyType.StringType // IDENTIFIER.TYPE_FULL_NAME + nodePropertyDescriptors(4697) = FormalQtyType.QtyOne nodePropertyDescriptors(914) = FormalQtyType.StringType // IMPORT.CODE nodePropertyDescriptors(915) = FormalQtyType.QtyOne nodePropertyDescriptors(1002) = FormalQtyType.IntType // IMPORT.COLUMN_NUMBER nodePropertyDescriptors(1003) = FormalQtyType.QtyOption nodePropertyDescriptors(1794) = FormalQtyType.BoolType // IMPORT.EXPLICIT_AS nodePropertyDescriptors(1795) = FormalQtyType.QtyOption - nodePropertyDescriptors(2146) = FormalQtyType.StringType // IMPORT.IMPORTED_AS - nodePropertyDescriptors(2147) = FormalQtyType.QtyOption - nodePropertyDescriptors(2234) = FormalQtyType.StringType // IMPORT.IMPORTED_ENTITY + nodePropertyDescriptors(2234) = FormalQtyType.StringType // IMPORT.IMPORTED_AS nodePropertyDescriptors(2235) = FormalQtyType.QtyOption - nodePropertyDescriptors(2498) = FormalQtyType.BoolType // IMPORT.IS_EXPLICIT - nodePropertyDescriptors(2499) = FormalQtyType.QtyOption - nodePropertyDescriptors(2762) = FormalQtyType.BoolType // IMPORT.IS_WILDCARD - nodePropertyDescriptors(2763) = FormalQtyType.QtyOption - nodePropertyDescriptors(3026) = FormalQtyType.IntType // IMPORT.LINE_NUMBER - nodePropertyDescriptors(3027) = FormalQtyType.QtyOption - nodePropertyDescriptors(3818) = FormalQtyType.IntType // IMPORT.ORDER - nodePropertyDescriptors(3819) = FormalQtyType.QtyOne + nodePropertyDescriptors(2322) = FormalQtyType.StringType // IMPORT.IMPORTED_ENTITY + nodePropertyDescriptors(2323) = FormalQtyType.QtyOption + nodePropertyDescriptors(2586) = FormalQtyType.BoolType // IMPORT.IS_EXPLICIT + nodePropertyDescriptors(2587) = FormalQtyType.QtyOption + nodePropertyDescriptors(2850) = FormalQtyType.BoolType // IMPORT.IS_WILDCARD + nodePropertyDescriptors(2851) = FormalQtyType.QtyOption + nodePropertyDescriptors(3114) = FormalQtyType.IntType // IMPORT.LINE_NUMBER + nodePropertyDescriptors(3115) = FormalQtyType.QtyOption + nodePropertyDescriptors(3906) = FormalQtyType.IntType // IMPORT.ORDER + nodePropertyDescriptors(3907) = FormalQtyType.QtyOne nodePropertyDescriptors(916) = FormalQtyType.StringType // JUMP_LABEL.CODE nodePropertyDescriptors(917) = FormalQtyType.QtyOne nodePropertyDescriptors(1004) = FormalQtyType.IntType // JUMP_LABEL.COLUMN_NUMBER nodePropertyDescriptors(1005) = FormalQtyType.QtyOption - nodePropertyDescriptors(3028) = FormalQtyType.IntType // JUMP_LABEL.LINE_NUMBER - nodePropertyDescriptors(3029) = FormalQtyType.QtyOption - nodePropertyDescriptors(3468) = FormalQtyType.StringType // JUMP_LABEL.NAME - nodePropertyDescriptors(3469) = FormalQtyType.QtyOne - nodePropertyDescriptors(3820) = FormalQtyType.IntType // JUMP_LABEL.ORDER - nodePropertyDescriptors(3821) = FormalQtyType.QtyOne - nodePropertyDescriptors(4084) = FormalQtyType.StringType // JUMP_LABEL.PARSER_TYPE_NAME - nodePropertyDescriptors(4085) = FormalQtyType.QtyOne + nodePropertyDescriptors(3116) = FormalQtyType.IntType // JUMP_LABEL.LINE_NUMBER + nodePropertyDescriptors(3117) = FormalQtyType.QtyOption + nodePropertyDescriptors(3556) = FormalQtyType.StringType // JUMP_LABEL.NAME + nodePropertyDescriptors(3557) = FormalQtyType.QtyOne + nodePropertyDescriptors(3908) = FormalQtyType.IntType // JUMP_LABEL.ORDER + nodePropertyDescriptors(3909) = FormalQtyType.QtyOne + nodePropertyDescriptors(4172) = FormalQtyType.StringType // JUMP_LABEL.PARSER_TYPE_NAME + nodePropertyDescriptors(4173) = FormalQtyType.QtyOne nodePropertyDescriptors(126) = FormalQtyType.IntType // JUMP_TARGET.ARGUMENT_INDEX nodePropertyDescriptors(127) = FormalQtyType.QtyOne nodePropertyDescriptors(918) = FormalQtyType.StringType // JUMP_TARGET.CODE nodePropertyDescriptors(919) = FormalQtyType.QtyOne nodePropertyDescriptors(1006) = FormalQtyType.IntType // JUMP_TARGET.COLUMN_NUMBER nodePropertyDescriptors(1007) = FormalQtyType.QtyOption - nodePropertyDescriptors(3030) = FormalQtyType.IntType // JUMP_TARGET.LINE_NUMBER - nodePropertyDescriptors(3031) = FormalQtyType.QtyOption - nodePropertyDescriptors(3470) = FormalQtyType.StringType // JUMP_TARGET.NAME - nodePropertyDescriptors(3471) = FormalQtyType.QtyOne - nodePropertyDescriptors(3822) = FormalQtyType.IntType // JUMP_TARGET.ORDER - nodePropertyDescriptors(3823) = FormalQtyType.QtyOne - nodePropertyDescriptors(4086) = FormalQtyType.StringType // JUMP_TARGET.PARSER_TYPE_NAME - nodePropertyDescriptors(4087) = FormalQtyType.QtyOne - nodePropertyDescriptors(2856) = FormalQtyType.StringType // KEY_VALUE_PAIR.KEY - nodePropertyDescriptors(2857) = FormalQtyType.QtyOne - nodePropertyDescriptors(4704) = FormalQtyType.StringType // KEY_VALUE_PAIR.VALUE - nodePropertyDescriptors(4705) = FormalQtyType.QtyOne + nodePropertyDescriptors(3118) = FormalQtyType.IntType // JUMP_TARGET.LINE_NUMBER + nodePropertyDescriptors(3119) = FormalQtyType.QtyOption + nodePropertyDescriptors(3558) = FormalQtyType.StringType // JUMP_TARGET.NAME + nodePropertyDescriptors(3559) = FormalQtyType.QtyOne + nodePropertyDescriptors(3910) = FormalQtyType.IntType // JUMP_TARGET.ORDER + nodePropertyDescriptors(3911) = FormalQtyType.QtyOne + nodePropertyDescriptors(4174) = FormalQtyType.StringType // JUMP_TARGET.PARSER_TYPE_NAME + nodePropertyDescriptors(4175) = FormalQtyType.QtyOne + nodePropertyDescriptors(2944) = FormalQtyType.StringType // KEY_VALUE_PAIR.KEY + nodePropertyDescriptors(2945) = FormalQtyType.QtyOne + nodePropertyDescriptors(4792) = FormalQtyType.StringType // KEY_VALUE_PAIR.VALUE + nodePropertyDescriptors(4793) = FormalQtyType.QtyOne nodePropertyDescriptors(130) = FormalQtyType.IntType // LITERAL.ARGUMENT_INDEX nodePropertyDescriptors(131) = FormalQtyType.QtyOne nodePropertyDescriptors(218) = FormalQtyType.StringType // LITERAL.ARGUMENT_NAME @@ -566,14 +568,14 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1011) = FormalQtyType.QtyOption nodePropertyDescriptors(1626) = FormalQtyType.StringType // LITERAL.DYNAMIC_TYPE_HINT_FULL_NAME nodePropertyDescriptors(1627) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3034) = FormalQtyType.IntType // LITERAL.LINE_NUMBER - nodePropertyDescriptors(3035) = FormalQtyType.QtyOption - nodePropertyDescriptors(3826) = FormalQtyType.IntType // LITERAL.ORDER - nodePropertyDescriptors(3827) = FormalQtyType.QtyOne - nodePropertyDescriptors(4178) = FormalQtyType.StringType // LITERAL.POSSIBLE_TYPES - nodePropertyDescriptors(4179) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4618) = FormalQtyType.StringType // LITERAL.TYPE_FULL_NAME - nodePropertyDescriptors(4619) = FormalQtyType.QtyOne + nodePropertyDescriptors(3122) = FormalQtyType.IntType // LITERAL.LINE_NUMBER + nodePropertyDescriptors(3123) = FormalQtyType.QtyOption + nodePropertyDescriptors(3914) = FormalQtyType.IntType // LITERAL.ORDER + nodePropertyDescriptors(3915) = FormalQtyType.QtyOne + nodePropertyDescriptors(4266) = FormalQtyType.StringType // LITERAL.POSSIBLE_TYPES + nodePropertyDescriptors(4267) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4706) = FormalQtyType.StringType // LITERAL.TYPE_FULL_NAME + nodePropertyDescriptors(4707) = FormalQtyType.QtyOne nodePropertyDescriptors(748) = FormalQtyType.StringType // LOCAL.CLOSURE_BINDING_ID nodePropertyDescriptors(749) = FormalQtyType.QtyOption nodePropertyDescriptors(924) = FormalQtyType.StringType // LOCAL.CODE @@ -582,36 +584,38 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1013) = FormalQtyType.QtyOption nodePropertyDescriptors(1628) = FormalQtyType.StringType // LOCAL.DYNAMIC_TYPE_HINT_FULL_NAME nodePropertyDescriptors(1629) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3036) = FormalQtyType.IntType // LOCAL.LINE_NUMBER - nodePropertyDescriptors(3037) = FormalQtyType.QtyOption - nodePropertyDescriptors(3476) = FormalQtyType.StringType // LOCAL.NAME - nodePropertyDescriptors(3477) = FormalQtyType.QtyOne - nodePropertyDescriptors(3828) = FormalQtyType.IntType // LOCAL.ORDER - nodePropertyDescriptors(3829) = FormalQtyType.QtyOne - nodePropertyDescriptors(4180) = FormalQtyType.StringType // LOCAL.POSSIBLE_TYPES - nodePropertyDescriptors(4181) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4620) = FormalQtyType.StringType // LOCAL.TYPE_FULL_NAME - nodePropertyDescriptors(4621) = FormalQtyType.QtyOne + nodePropertyDescriptors(2068) = FormalQtyType.StringType // LOCAL.GENERIC_SIGNATURE + nodePropertyDescriptors(2069) = FormalQtyType.QtyOne + nodePropertyDescriptors(3124) = FormalQtyType.IntType // LOCAL.LINE_NUMBER + nodePropertyDescriptors(3125) = FormalQtyType.QtyOption + nodePropertyDescriptors(3564) = FormalQtyType.StringType // LOCAL.NAME + nodePropertyDescriptors(3565) = FormalQtyType.QtyOne + nodePropertyDescriptors(3916) = FormalQtyType.IntType // LOCAL.ORDER + nodePropertyDescriptors(3917) = FormalQtyType.QtyOne + nodePropertyDescriptors(4268) = FormalQtyType.StringType // LOCAL.POSSIBLE_TYPES + nodePropertyDescriptors(4269) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4708) = FormalQtyType.StringType // LOCAL.TYPE_FULL_NAME + nodePropertyDescriptors(4709) = FormalQtyType.QtyOne nodePropertyDescriptors(574) = FormalQtyType.StringType // LOCATION.CLASS_NAME nodePropertyDescriptors(575) = FormalQtyType.QtyOne nodePropertyDescriptors(662) = FormalQtyType.StringType // LOCATION.CLASS_SHORT_NAME nodePropertyDescriptors(663) = FormalQtyType.QtyOne nodePropertyDescriptors(1894) = FormalQtyType.StringType // LOCATION.FILENAME nodePropertyDescriptors(1895) = FormalQtyType.QtyOne - nodePropertyDescriptors(3038) = FormalQtyType.IntType // LOCATION.LINE_NUMBER - nodePropertyDescriptors(3039) = FormalQtyType.QtyOption - nodePropertyDescriptors(3214) = FormalQtyType.StringType // LOCATION.METHOD_FULL_NAME - nodePropertyDescriptors(3215) = FormalQtyType.QtyOne - nodePropertyDescriptors(3302) = FormalQtyType.StringType // LOCATION.METHOD_SHORT_NAME + nodePropertyDescriptors(3126) = FormalQtyType.IntType // LOCATION.LINE_NUMBER + nodePropertyDescriptors(3127) = FormalQtyType.QtyOption + nodePropertyDescriptors(3302) = FormalQtyType.StringType // LOCATION.METHOD_FULL_NAME nodePropertyDescriptors(3303) = FormalQtyType.QtyOne - nodePropertyDescriptors(3566) = FormalQtyType.StringType // LOCATION.NODE_LABEL - nodePropertyDescriptors(3567) = FormalQtyType.QtyOne - nodePropertyDescriptors(4006) = FormalQtyType.StringType // LOCATION.PACKAGE_NAME - nodePropertyDescriptors(4007) = FormalQtyType.QtyOne - nodePropertyDescriptors(4446) = FormalQtyType.StringType // LOCATION.SYMBOL - nodePropertyDescriptors(4447) = FormalQtyType.QtyOne - nodePropertyDescriptors(5062) = FormalQtyType.RefType // LOCATION.node - nodePropertyDescriptors(5063) = FormalQtyType.QtyOption + nodePropertyDescriptors(3390) = FormalQtyType.StringType // LOCATION.METHOD_SHORT_NAME + nodePropertyDescriptors(3391) = FormalQtyType.QtyOne + nodePropertyDescriptors(3654) = FormalQtyType.StringType // LOCATION.NODE_LABEL + nodePropertyDescriptors(3655) = FormalQtyType.QtyOne + nodePropertyDescriptors(4094) = FormalQtyType.StringType // LOCATION.PACKAGE_NAME + nodePropertyDescriptors(4095) = FormalQtyType.QtyOne + nodePropertyDescriptors(4534) = FormalQtyType.StringType // LOCATION.SYMBOL + nodePropertyDescriptors(4535) = FormalQtyType.QtyOne + nodePropertyDescriptors(5150) = FormalQtyType.RefType // LOCATION.node + nodePropertyDescriptors(5151) = FormalQtyType.QtyOption nodePropertyDescriptors(312) = FormalQtyType.StringType // MEMBER.AST_PARENT_FULL_NAME nodePropertyDescriptors(313) = FormalQtyType.QtyOne nodePropertyDescriptors(400) = FormalQtyType.StringType // MEMBER.AST_PARENT_TYPE @@ -622,26 +626,28 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1017) = FormalQtyType.QtyOption nodePropertyDescriptors(1632) = FormalQtyType.StringType // MEMBER.DYNAMIC_TYPE_HINT_FULL_NAME nodePropertyDescriptors(1633) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3040) = FormalQtyType.IntType // MEMBER.LINE_NUMBER - nodePropertyDescriptors(3041) = FormalQtyType.QtyOption - nodePropertyDescriptors(3480) = FormalQtyType.StringType // MEMBER.NAME - nodePropertyDescriptors(3481) = FormalQtyType.QtyOne - nodePropertyDescriptors(3832) = FormalQtyType.IntType // MEMBER.ORDER - nodePropertyDescriptors(3833) = FormalQtyType.QtyOne - nodePropertyDescriptors(4184) = FormalQtyType.StringType // MEMBER.POSSIBLE_TYPES - nodePropertyDescriptors(4185) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4624) = FormalQtyType.StringType // MEMBER.TYPE_FULL_NAME - nodePropertyDescriptors(4625) = FormalQtyType.QtyOne - nodePropertyDescriptors(2074) = FormalQtyType.StringType // META_DATA.HASH - nodePropertyDescriptors(2075) = FormalQtyType.QtyOption - nodePropertyDescriptors(2954) = FormalQtyType.StringType // META_DATA.LANGUAGE - nodePropertyDescriptors(2955) = FormalQtyType.QtyOne - nodePropertyDescriptors(3922) = FormalQtyType.StringType // META_DATA.OVERLAYS - nodePropertyDescriptors(3923) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4274) = FormalQtyType.StringType // META_DATA.ROOT - nodePropertyDescriptors(4275) = FormalQtyType.QtyOne - nodePropertyDescriptors(4802) = FormalQtyType.StringType // META_DATA.VERSION - nodePropertyDescriptors(4803) = FormalQtyType.QtyOne + nodePropertyDescriptors(2072) = FormalQtyType.StringType // MEMBER.GENERIC_SIGNATURE + nodePropertyDescriptors(2073) = FormalQtyType.QtyOne + nodePropertyDescriptors(3128) = FormalQtyType.IntType // MEMBER.LINE_NUMBER + nodePropertyDescriptors(3129) = FormalQtyType.QtyOption + nodePropertyDescriptors(3568) = FormalQtyType.StringType // MEMBER.NAME + nodePropertyDescriptors(3569) = FormalQtyType.QtyOne + nodePropertyDescriptors(3920) = FormalQtyType.IntType // MEMBER.ORDER + nodePropertyDescriptors(3921) = FormalQtyType.QtyOne + nodePropertyDescriptors(4272) = FormalQtyType.StringType // MEMBER.POSSIBLE_TYPES + nodePropertyDescriptors(4273) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4712) = FormalQtyType.StringType // MEMBER.TYPE_FULL_NAME + nodePropertyDescriptors(4713) = FormalQtyType.QtyOne + nodePropertyDescriptors(2162) = FormalQtyType.StringType // META_DATA.HASH + nodePropertyDescriptors(2163) = FormalQtyType.QtyOption + nodePropertyDescriptors(3042) = FormalQtyType.StringType // META_DATA.LANGUAGE + nodePropertyDescriptors(3043) = FormalQtyType.QtyOne + nodePropertyDescriptors(4010) = FormalQtyType.StringType // META_DATA.OVERLAYS + nodePropertyDescriptors(4011) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4362) = FormalQtyType.StringType // META_DATA.ROOT + nodePropertyDescriptors(4363) = FormalQtyType.QtyOne + nodePropertyDescriptors(4890) = FormalQtyType.StringType // META_DATA.VERSION + nodePropertyDescriptors(4891) = FormalQtyType.QtyOne nodePropertyDescriptors(316) = FormalQtyType.StringType // METHOD.AST_PARENT_FULL_NAME nodePropertyDescriptors(317) = FormalQtyType.QtyOne nodePropertyDescriptors(404) = FormalQtyType.StringType // METHOD.AST_PARENT_TYPE @@ -656,24 +662,26 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1901) = FormalQtyType.QtyOne nodePropertyDescriptors(1988) = FormalQtyType.StringType // METHOD.FULL_NAME nodePropertyDescriptors(1989) = FormalQtyType.QtyOne - nodePropertyDescriptors(2076) = FormalQtyType.StringType // METHOD.HASH - nodePropertyDescriptors(2077) = FormalQtyType.QtyOption - nodePropertyDescriptors(2604) = FormalQtyType.BoolType // METHOD.IS_EXTERNAL - nodePropertyDescriptors(2605) = FormalQtyType.QtyOne - nodePropertyDescriptors(3044) = FormalQtyType.IntType // METHOD.LINE_NUMBER - nodePropertyDescriptors(3045) = FormalQtyType.QtyOption - nodePropertyDescriptors(3132) = FormalQtyType.IntType // METHOD.LINE_NUMBER_END + nodePropertyDescriptors(2076) = FormalQtyType.StringType // METHOD.GENERIC_SIGNATURE + nodePropertyDescriptors(2077) = FormalQtyType.QtyOne + nodePropertyDescriptors(2164) = FormalQtyType.StringType // METHOD.HASH + nodePropertyDescriptors(2165) = FormalQtyType.QtyOption + nodePropertyDescriptors(2692) = FormalQtyType.BoolType // METHOD.IS_EXTERNAL + nodePropertyDescriptors(2693) = FormalQtyType.QtyOne + nodePropertyDescriptors(3132) = FormalQtyType.IntType // METHOD.LINE_NUMBER nodePropertyDescriptors(3133) = FormalQtyType.QtyOption - nodePropertyDescriptors(3484) = FormalQtyType.StringType // METHOD.NAME - nodePropertyDescriptors(3485) = FormalQtyType.QtyOne - nodePropertyDescriptors(3660) = FormalQtyType.IntType // METHOD.OFFSET - nodePropertyDescriptors(3661) = FormalQtyType.QtyOption - nodePropertyDescriptors(3748) = FormalQtyType.IntType // METHOD.OFFSET_END + nodePropertyDescriptors(3220) = FormalQtyType.IntType // METHOD.LINE_NUMBER_END + nodePropertyDescriptors(3221) = FormalQtyType.QtyOption + nodePropertyDescriptors(3572) = FormalQtyType.StringType // METHOD.NAME + nodePropertyDescriptors(3573) = FormalQtyType.QtyOne + nodePropertyDescriptors(3748) = FormalQtyType.IntType // METHOD.OFFSET nodePropertyDescriptors(3749) = FormalQtyType.QtyOption - nodePropertyDescriptors(3836) = FormalQtyType.IntType // METHOD.ORDER - nodePropertyDescriptors(3837) = FormalQtyType.QtyOne - nodePropertyDescriptors(4364) = FormalQtyType.StringType // METHOD.SIGNATURE - nodePropertyDescriptors(4365) = FormalQtyType.QtyOne + nodePropertyDescriptors(3836) = FormalQtyType.IntType // METHOD.OFFSET_END + nodePropertyDescriptors(3837) = FormalQtyType.QtyOption + nodePropertyDescriptors(3924) = FormalQtyType.IntType // METHOD.ORDER + nodePropertyDescriptors(3925) = FormalQtyType.QtyOne + nodePropertyDescriptors(4452) = FormalQtyType.StringType // METHOD.SIGNATURE + nodePropertyDescriptors(4453) = FormalQtyType.QtyOne nodePropertyDescriptors(758) = FormalQtyType.StringType // METHOD_PARAMETER_IN.CLOSURE_BINDING_ID nodePropertyDescriptors(759) = FormalQtyType.QtyOption nodePropertyDescriptors(934) = FormalQtyType.StringType // METHOD_PARAMETER_IN.CODE @@ -684,38 +692,38 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1639) = FormalQtyType.QtyMulti nodePropertyDescriptors(1726) = FormalQtyType.StringType // METHOD_PARAMETER_IN.EVALUATION_STRATEGY nodePropertyDescriptors(1727) = FormalQtyType.QtyOne - nodePropertyDescriptors(2342) = FormalQtyType.IntType // METHOD_PARAMETER_IN.INDEX - nodePropertyDescriptors(2343) = FormalQtyType.QtyOne - nodePropertyDescriptors(2694) = FormalQtyType.BoolType // METHOD_PARAMETER_IN.IS_VARIADIC - nodePropertyDescriptors(2695) = FormalQtyType.QtyOne - nodePropertyDescriptors(3046) = FormalQtyType.IntType // METHOD_PARAMETER_IN.LINE_NUMBER - nodePropertyDescriptors(3047) = FormalQtyType.QtyOption - nodePropertyDescriptors(3486) = FormalQtyType.StringType // METHOD_PARAMETER_IN.NAME - nodePropertyDescriptors(3487) = FormalQtyType.QtyOne - nodePropertyDescriptors(3838) = FormalQtyType.IntType // METHOD_PARAMETER_IN.ORDER - nodePropertyDescriptors(3839) = FormalQtyType.QtyOne - nodePropertyDescriptors(4190) = FormalQtyType.StringType // METHOD_PARAMETER_IN.POSSIBLE_TYPES - nodePropertyDescriptors(4191) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4630) = FormalQtyType.StringType // METHOD_PARAMETER_IN.TYPE_FULL_NAME - nodePropertyDescriptors(4631) = FormalQtyType.QtyOne + nodePropertyDescriptors(2430) = FormalQtyType.IntType // METHOD_PARAMETER_IN.INDEX + nodePropertyDescriptors(2431) = FormalQtyType.QtyOne + nodePropertyDescriptors(2782) = FormalQtyType.BoolType // METHOD_PARAMETER_IN.IS_VARIADIC + nodePropertyDescriptors(2783) = FormalQtyType.QtyOne + nodePropertyDescriptors(3134) = FormalQtyType.IntType // METHOD_PARAMETER_IN.LINE_NUMBER + nodePropertyDescriptors(3135) = FormalQtyType.QtyOption + nodePropertyDescriptors(3574) = FormalQtyType.StringType // METHOD_PARAMETER_IN.NAME + nodePropertyDescriptors(3575) = FormalQtyType.QtyOne + nodePropertyDescriptors(3926) = FormalQtyType.IntType // METHOD_PARAMETER_IN.ORDER + nodePropertyDescriptors(3927) = FormalQtyType.QtyOne + nodePropertyDescriptors(4278) = FormalQtyType.StringType // METHOD_PARAMETER_IN.POSSIBLE_TYPES + nodePropertyDescriptors(4279) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4718) = FormalQtyType.StringType // METHOD_PARAMETER_IN.TYPE_FULL_NAME + nodePropertyDescriptors(4719) = FormalQtyType.QtyOne nodePropertyDescriptors(936) = FormalQtyType.StringType // METHOD_PARAMETER_OUT.CODE nodePropertyDescriptors(937) = FormalQtyType.QtyOne nodePropertyDescriptors(1024) = FormalQtyType.IntType // METHOD_PARAMETER_OUT.COLUMN_NUMBER nodePropertyDescriptors(1025) = FormalQtyType.QtyOption nodePropertyDescriptors(1728) = FormalQtyType.StringType // METHOD_PARAMETER_OUT.EVALUATION_STRATEGY nodePropertyDescriptors(1729) = FormalQtyType.QtyOne - nodePropertyDescriptors(2344) = FormalQtyType.IntType // METHOD_PARAMETER_OUT.INDEX - nodePropertyDescriptors(2345) = FormalQtyType.QtyOne - nodePropertyDescriptors(2696) = FormalQtyType.BoolType // METHOD_PARAMETER_OUT.IS_VARIADIC - nodePropertyDescriptors(2697) = FormalQtyType.QtyOne - nodePropertyDescriptors(3048) = FormalQtyType.IntType // METHOD_PARAMETER_OUT.LINE_NUMBER - nodePropertyDescriptors(3049) = FormalQtyType.QtyOption - nodePropertyDescriptors(3488) = FormalQtyType.StringType // METHOD_PARAMETER_OUT.NAME - nodePropertyDescriptors(3489) = FormalQtyType.QtyOne - nodePropertyDescriptors(3840) = FormalQtyType.IntType // METHOD_PARAMETER_OUT.ORDER - nodePropertyDescriptors(3841) = FormalQtyType.QtyOne - nodePropertyDescriptors(4632) = FormalQtyType.StringType // METHOD_PARAMETER_OUT.TYPE_FULL_NAME - nodePropertyDescriptors(4633) = FormalQtyType.QtyOne + nodePropertyDescriptors(2432) = FormalQtyType.IntType // METHOD_PARAMETER_OUT.INDEX + nodePropertyDescriptors(2433) = FormalQtyType.QtyOne + nodePropertyDescriptors(2784) = FormalQtyType.BoolType // METHOD_PARAMETER_OUT.IS_VARIADIC + nodePropertyDescriptors(2785) = FormalQtyType.QtyOne + nodePropertyDescriptors(3136) = FormalQtyType.IntType // METHOD_PARAMETER_OUT.LINE_NUMBER + nodePropertyDescriptors(3137) = FormalQtyType.QtyOption + nodePropertyDescriptors(3576) = FormalQtyType.StringType // METHOD_PARAMETER_OUT.NAME + nodePropertyDescriptors(3577) = FormalQtyType.QtyOne + nodePropertyDescriptors(3928) = FormalQtyType.IntType // METHOD_PARAMETER_OUT.ORDER + nodePropertyDescriptors(3929) = FormalQtyType.QtyOne + nodePropertyDescriptors(4720) = FormalQtyType.StringType // METHOD_PARAMETER_OUT.TYPE_FULL_NAME + nodePropertyDescriptors(4721) = FormalQtyType.QtyOne nodePropertyDescriptors(146) = FormalQtyType.IntType // METHOD_REF.ARGUMENT_INDEX nodePropertyDescriptors(147) = FormalQtyType.QtyOne nodePropertyDescriptors(234) = FormalQtyType.StringType // METHOD_REF.ARGUMENT_NAME @@ -726,16 +734,16 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1027) = FormalQtyType.QtyOption nodePropertyDescriptors(1642) = FormalQtyType.StringType // METHOD_REF.DYNAMIC_TYPE_HINT_FULL_NAME nodePropertyDescriptors(1643) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3050) = FormalQtyType.IntType // METHOD_REF.LINE_NUMBER - nodePropertyDescriptors(3051) = FormalQtyType.QtyOption - nodePropertyDescriptors(3226) = FormalQtyType.StringType // METHOD_REF.METHOD_FULL_NAME - nodePropertyDescriptors(3227) = FormalQtyType.QtyOne - nodePropertyDescriptors(3842) = FormalQtyType.IntType // METHOD_REF.ORDER - nodePropertyDescriptors(3843) = FormalQtyType.QtyOne - nodePropertyDescriptors(4194) = FormalQtyType.StringType // METHOD_REF.POSSIBLE_TYPES - nodePropertyDescriptors(4195) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4634) = FormalQtyType.StringType // METHOD_REF.TYPE_FULL_NAME - nodePropertyDescriptors(4635) = FormalQtyType.QtyOne + nodePropertyDescriptors(3138) = FormalQtyType.IntType // METHOD_REF.LINE_NUMBER + nodePropertyDescriptors(3139) = FormalQtyType.QtyOption + nodePropertyDescriptors(3314) = FormalQtyType.StringType // METHOD_REF.METHOD_FULL_NAME + nodePropertyDescriptors(3315) = FormalQtyType.QtyOne + nodePropertyDescriptors(3930) = FormalQtyType.IntType // METHOD_REF.ORDER + nodePropertyDescriptors(3931) = FormalQtyType.QtyOne + nodePropertyDescriptors(4282) = FormalQtyType.StringType // METHOD_REF.POSSIBLE_TYPES + nodePropertyDescriptors(4283) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4722) = FormalQtyType.StringType // METHOD_REF.TYPE_FULL_NAME + nodePropertyDescriptors(4723) = FormalQtyType.QtyOne nodePropertyDescriptors(940) = FormalQtyType.StringType // METHOD_RETURN.CODE nodePropertyDescriptors(941) = FormalQtyType.QtyOne nodePropertyDescriptors(1028) = FormalQtyType.IntType // METHOD_RETURN.COLUMN_NUMBER @@ -744,34 +752,34 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1645) = FormalQtyType.QtyMulti nodePropertyDescriptors(1732) = FormalQtyType.StringType // METHOD_RETURN.EVALUATION_STRATEGY nodePropertyDescriptors(1733) = FormalQtyType.QtyOne - nodePropertyDescriptors(3052) = FormalQtyType.IntType // METHOD_RETURN.LINE_NUMBER - nodePropertyDescriptors(3053) = FormalQtyType.QtyOption - nodePropertyDescriptors(3844) = FormalQtyType.IntType // METHOD_RETURN.ORDER - nodePropertyDescriptors(3845) = FormalQtyType.QtyOne - nodePropertyDescriptors(4196) = FormalQtyType.StringType // METHOD_RETURN.POSSIBLE_TYPES - nodePropertyDescriptors(4197) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4636) = FormalQtyType.StringType // METHOD_RETURN.TYPE_FULL_NAME - nodePropertyDescriptors(4637) = FormalQtyType.QtyOne + nodePropertyDescriptors(3140) = FormalQtyType.IntType // METHOD_RETURN.LINE_NUMBER + nodePropertyDescriptors(3141) = FormalQtyType.QtyOption + nodePropertyDescriptors(3932) = FormalQtyType.IntType // METHOD_RETURN.ORDER + nodePropertyDescriptors(3933) = FormalQtyType.QtyOne + nodePropertyDescriptors(4284) = FormalQtyType.StringType // METHOD_RETURN.POSSIBLE_TYPES + nodePropertyDescriptors(4285) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4724) = FormalQtyType.StringType // METHOD_RETURN.TYPE_FULL_NAME + nodePropertyDescriptors(4725) = FormalQtyType.QtyOne nodePropertyDescriptors(942) = FormalQtyType.StringType // MODIFIER.CODE nodePropertyDescriptors(943) = FormalQtyType.QtyOne nodePropertyDescriptors(1030) = FormalQtyType.IntType // MODIFIER.COLUMN_NUMBER nodePropertyDescriptors(1031) = FormalQtyType.QtyOption - nodePropertyDescriptors(3054) = FormalQtyType.IntType // MODIFIER.LINE_NUMBER - nodePropertyDescriptors(3055) = FormalQtyType.QtyOption - nodePropertyDescriptors(3406) = FormalQtyType.StringType // MODIFIER.MODIFIER_TYPE - nodePropertyDescriptors(3407) = FormalQtyType.QtyOne - nodePropertyDescriptors(3846) = FormalQtyType.IntType // MODIFIER.ORDER - nodePropertyDescriptors(3847) = FormalQtyType.QtyOne + nodePropertyDescriptors(3142) = FormalQtyType.IntType // MODIFIER.LINE_NUMBER + nodePropertyDescriptors(3143) = FormalQtyType.QtyOption + nodePropertyDescriptors(3494) = FormalQtyType.StringType // MODIFIER.MODIFIER_TYPE + nodePropertyDescriptors(3495) = FormalQtyType.QtyOne + nodePropertyDescriptors(3934) = FormalQtyType.IntType // MODIFIER.ORDER + nodePropertyDescriptors(3935) = FormalQtyType.QtyOne nodePropertyDescriptors(944) = FormalQtyType.StringType // NAMESPACE.CODE nodePropertyDescriptors(945) = FormalQtyType.QtyOne nodePropertyDescriptors(1032) = FormalQtyType.IntType // NAMESPACE.COLUMN_NUMBER nodePropertyDescriptors(1033) = FormalQtyType.QtyOption - nodePropertyDescriptors(3056) = FormalQtyType.IntType // NAMESPACE.LINE_NUMBER - nodePropertyDescriptors(3057) = FormalQtyType.QtyOption - nodePropertyDescriptors(3496) = FormalQtyType.StringType // NAMESPACE.NAME - nodePropertyDescriptors(3497) = FormalQtyType.QtyOne - nodePropertyDescriptors(3848) = FormalQtyType.IntType // NAMESPACE.ORDER - nodePropertyDescriptors(3849) = FormalQtyType.QtyOne + nodePropertyDescriptors(3144) = FormalQtyType.IntType // NAMESPACE.LINE_NUMBER + nodePropertyDescriptors(3145) = FormalQtyType.QtyOption + nodePropertyDescriptors(3584) = FormalQtyType.StringType // NAMESPACE.NAME + nodePropertyDescriptors(3585) = FormalQtyType.QtyOne + nodePropertyDescriptors(3936) = FormalQtyType.IntType // NAMESPACE.ORDER + nodePropertyDescriptors(3937) = FormalQtyType.QtyOne nodePropertyDescriptors(946) = FormalQtyType.StringType // NAMESPACE_BLOCK.CODE nodePropertyDescriptors(947) = FormalQtyType.QtyOne nodePropertyDescriptors(1034) = FormalQtyType.IntType // NAMESPACE_BLOCK.COLUMN_NUMBER @@ -780,12 +788,12 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1915) = FormalQtyType.QtyOne nodePropertyDescriptors(2002) = FormalQtyType.StringType // NAMESPACE_BLOCK.FULL_NAME nodePropertyDescriptors(2003) = FormalQtyType.QtyOne - nodePropertyDescriptors(3058) = FormalQtyType.IntType // NAMESPACE_BLOCK.LINE_NUMBER - nodePropertyDescriptors(3059) = FormalQtyType.QtyOption - nodePropertyDescriptors(3498) = FormalQtyType.StringType // NAMESPACE_BLOCK.NAME - nodePropertyDescriptors(3499) = FormalQtyType.QtyOne - nodePropertyDescriptors(3850) = FormalQtyType.IntType // NAMESPACE_BLOCK.ORDER - nodePropertyDescriptors(3851) = FormalQtyType.QtyOne + nodePropertyDescriptors(3146) = FormalQtyType.IntType // NAMESPACE_BLOCK.LINE_NUMBER + nodePropertyDescriptors(3147) = FormalQtyType.QtyOption + nodePropertyDescriptors(3586) = FormalQtyType.StringType // NAMESPACE_BLOCK.NAME + nodePropertyDescriptors(3587) = FormalQtyType.QtyOne + nodePropertyDescriptors(3938) = FormalQtyType.IntType // NAMESPACE_BLOCK.ORDER + nodePropertyDescriptors(3939) = FormalQtyType.QtyOne nodePropertyDescriptors(156) = FormalQtyType.IntType // RETURN.ARGUMENT_INDEX nodePropertyDescriptors(157) = FormalQtyType.QtyOne nodePropertyDescriptors(244) = FormalQtyType.StringType // RETURN.ARGUMENT_NAME @@ -794,18 +802,18 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(949) = FormalQtyType.QtyOne nodePropertyDescriptors(1036) = FormalQtyType.IntType // RETURN.COLUMN_NUMBER nodePropertyDescriptors(1037) = FormalQtyType.QtyOption - nodePropertyDescriptors(3060) = FormalQtyType.IntType // RETURN.LINE_NUMBER - nodePropertyDescriptors(3061) = FormalQtyType.QtyOption - nodePropertyDescriptors(3852) = FormalQtyType.IntType // RETURN.ORDER - nodePropertyDescriptors(3853) = FormalQtyType.QtyOne - nodePropertyDescriptors(3502) = FormalQtyType.StringType // TAG.NAME - nodePropertyDescriptors(3503) = FormalQtyType.QtyOne - nodePropertyDescriptors(4734) = FormalQtyType.StringType // TAG.VALUE - nodePropertyDescriptors(4735) = FormalQtyType.QtyOne - nodePropertyDescriptors(5088) = FormalQtyType.RefType // TAG_NODE_PAIR.node - nodePropertyDescriptors(5089) = FormalQtyType.QtyOne - nodePropertyDescriptors(5176) = FormalQtyType.RefType // TAG_NODE_PAIR.tag + nodePropertyDescriptors(3148) = FormalQtyType.IntType // RETURN.LINE_NUMBER + nodePropertyDescriptors(3149) = FormalQtyType.QtyOption + nodePropertyDescriptors(3940) = FormalQtyType.IntType // RETURN.ORDER + nodePropertyDescriptors(3941) = FormalQtyType.QtyOne + nodePropertyDescriptors(3590) = FormalQtyType.StringType // TAG.NAME + nodePropertyDescriptors(3591) = FormalQtyType.QtyOne + nodePropertyDescriptors(4822) = FormalQtyType.StringType // TAG.VALUE + nodePropertyDescriptors(4823) = FormalQtyType.QtyOne + nodePropertyDescriptors(5176) = FormalQtyType.RefType // TAG_NODE_PAIR.node nodePropertyDescriptors(5177) = FormalQtyType.QtyOne + nodePropertyDescriptors(5264) = FormalQtyType.RefType // TAG_NODE_PAIR.tag + nodePropertyDescriptors(5265) = FormalQtyType.QtyOne nodePropertyDescriptors(162) = FormalQtyType.IntType // TEMPLATE_DOM.ARGUMENT_INDEX nodePropertyDescriptors(163) = FormalQtyType.QtyOne nodePropertyDescriptors(250) = FormalQtyType.StringType // TEMPLATE_DOM.ARGUMENT_NAME @@ -814,26 +822,26 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(955) = FormalQtyType.QtyOne nodePropertyDescriptors(1042) = FormalQtyType.IntType // TEMPLATE_DOM.COLUMN_NUMBER nodePropertyDescriptors(1043) = FormalQtyType.QtyOption - nodePropertyDescriptors(3066) = FormalQtyType.IntType // TEMPLATE_DOM.LINE_NUMBER - nodePropertyDescriptors(3067) = FormalQtyType.QtyOption - nodePropertyDescriptors(3506) = FormalQtyType.StringType // TEMPLATE_DOM.NAME - nodePropertyDescriptors(3507) = FormalQtyType.QtyOne - nodePropertyDescriptors(3858) = FormalQtyType.IntType // TEMPLATE_DOM.ORDER - nodePropertyDescriptors(3859) = FormalQtyType.QtyOne + nodePropertyDescriptors(3154) = FormalQtyType.IntType // TEMPLATE_DOM.LINE_NUMBER + nodePropertyDescriptors(3155) = FormalQtyType.QtyOption + nodePropertyDescriptors(3594) = FormalQtyType.StringType // TEMPLATE_DOM.NAME + nodePropertyDescriptors(3595) = FormalQtyType.QtyOne + nodePropertyDescriptors(3946) = FormalQtyType.IntType // TEMPLATE_DOM.ORDER + nodePropertyDescriptors(3947) = FormalQtyType.QtyOne nodePropertyDescriptors(2012) = FormalQtyType.StringType // TYPE.FULL_NAME nodePropertyDescriptors(2013) = FormalQtyType.QtyOne - nodePropertyDescriptors(3508) = FormalQtyType.StringType // TYPE.NAME - nodePropertyDescriptors(3509) = FormalQtyType.QtyOne - nodePropertyDescriptors(4564) = FormalQtyType.StringType // TYPE.TYPE_DECL_FULL_NAME - nodePropertyDescriptors(4565) = FormalQtyType.QtyOne + nodePropertyDescriptors(3596) = FormalQtyType.StringType // TYPE.NAME + nodePropertyDescriptors(3597) = FormalQtyType.QtyOne + nodePropertyDescriptors(4652) = FormalQtyType.StringType // TYPE.TYPE_DECL_FULL_NAME + nodePropertyDescriptors(4653) = FormalQtyType.QtyOne nodePropertyDescriptors(958) = FormalQtyType.StringType // TYPE_ARGUMENT.CODE nodePropertyDescriptors(959) = FormalQtyType.QtyOne nodePropertyDescriptors(1046) = FormalQtyType.IntType // TYPE_ARGUMENT.COLUMN_NUMBER nodePropertyDescriptors(1047) = FormalQtyType.QtyOption - nodePropertyDescriptors(3070) = FormalQtyType.IntType // TYPE_ARGUMENT.LINE_NUMBER - nodePropertyDescriptors(3071) = FormalQtyType.QtyOption - nodePropertyDescriptors(3862) = FormalQtyType.IntType // TYPE_ARGUMENT.ORDER - nodePropertyDescriptors(3863) = FormalQtyType.QtyOne + nodePropertyDescriptors(3158) = FormalQtyType.IntType // TYPE_ARGUMENT.LINE_NUMBER + nodePropertyDescriptors(3159) = FormalQtyType.QtyOption + nodePropertyDescriptors(3950) = FormalQtyType.IntType // TYPE_ARGUMENT.ORDER + nodePropertyDescriptors(3951) = FormalQtyType.QtyOne nodePropertyDescriptors(80) = FormalQtyType.StringType // TYPE_DECL.ALIAS_TYPE_FULL_NAME nodePropertyDescriptors(81) = FormalQtyType.QtyOption nodePropertyDescriptors(344) = FormalQtyType.StringType // TYPE_DECL.AST_PARENT_FULL_NAME @@ -848,30 +856,32 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1929) = FormalQtyType.QtyOne nodePropertyDescriptors(2016) = FormalQtyType.StringType // TYPE_DECL.FULL_NAME nodePropertyDescriptors(2017) = FormalQtyType.QtyOne - nodePropertyDescriptors(2456) = FormalQtyType.StringType // TYPE_DECL.INHERITS_FROM_TYPE_FULL_NAME - nodePropertyDescriptors(2457) = FormalQtyType.QtyMulti - nodePropertyDescriptors(2632) = FormalQtyType.BoolType // TYPE_DECL.IS_EXTERNAL - nodePropertyDescriptors(2633) = FormalQtyType.QtyOne - nodePropertyDescriptors(3072) = FormalQtyType.IntType // TYPE_DECL.LINE_NUMBER - nodePropertyDescriptors(3073) = FormalQtyType.QtyOption - nodePropertyDescriptors(3512) = FormalQtyType.StringType // TYPE_DECL.NAME - nodePropertyDescriptors(3513) = FormalQtyType.QtyOne - nodePropertyDescriptors(3688) = FormalQtyType.IntType // TYPE_DECL.OFFSET - nodePropertyDescriptors(3689) = FormalQtyType.QtyOption - nodePropertyDescriptors(3776) = FormalQtyType.IntType // TYPE_DECL.OFFSET_END + nodePropertyDescriptors(2104) = FormalQtyType.StringType // TYPE_DECL.GENERIC_SIGNATURE + nodePropertyDescriptors(2105) = FormalQtyType.QtyOne + nodePropertyDescriptors(2544) = FormalQtyType.StringType // TYPE_DECL.INHERITS_FROM_TYPE_FULL_NAME + nodePropertyDescriptors(2545) = FormalQtyType.QtyMulti + nodePropertyDescriptors(2720) = FormalQtyType.BoolType // TYPE_DECL.IS_EXTERNAL + nodePropertyDescriptors(2721) = FormalQtyType.QtyOne + nodePropertyDescriptors(3160) = FormalQtyType.IntType // TYPE_DECL.LINE_NUMBER + nodePropertyDescriptors(3161) = FormalQtyType.QtyOption + nodePropertyDescriptors(3600) = FormalQtyType.StringType // TYPE_DECL.NAME + nodePropertyDescriptors(3601) = FormalQtyType.QtyOne + nodePropertyDescriptors(3776) = FormalQtyType.IntType // TYPE_DECL.OFFSET nodePropertyDescriptors(3777) = FormalQtyType.QtyOption - nodePropertyDescriptors(3864) = FormalQtyType.IntType // TYPE_DECL.ORDER - nodePropertyDescriptors(3865) = FormalQtyType.QtyOne + nodePropertyDescriptors(3864) = FormalQtyType.IntType // TYPE_DECL.OFFSET_END + nodePropertyDescriptors(3865) = FormalQtyType.QtyOption + nodePropertyDescriptors(3952) = FormalQtyType.IntType // TYPE_DECL.ORDER + nodePropertyDescriptors(3953) = FormalQtyType.QtyOne nodePropertyDescriptors(962) = FormalQtyType.StringType // TYPE_PARAMETER.CODE nodePropertyDescriptors(963) = FormalQtyType.QtyOne nodePropertyDescriptors(1050) = FormalQtyType.IntType // TYPE_PARAMETER.COLUMN_NUMBER nodePropertyDescriptors(1051) = FormalQtyType.QtyOption - nodePropertyDescriptors(3074) = FormalQtyType.IntType // TYPE_PARAMETER.LINE_NUMBER - nodePropertyDescriptors(3075) = FormalQtyType.QtyOption - nodePropertyDescriptors(3514) = FormalQtyType.StringType // TYPE_PARAMETER.NAME - nodePropertyDescriptors(3515) = FormalQtyType.QtyOne - nodePropertyDescriptors(3866) = FormalQtyType.IntType // TYPE_PARAMETER.ORDER - nodePropertyDescriptors(3867) = FormalQtyType.QtyOne + nodePropertyDescriptors(3162) = FormalQtyType.IntType // TYPE_PARAMETER.LINE_NUMBER + nodePropertyDescriptors(3163) = FormalQtyType.QtyOption + nodePropertyDescriptors(3602) = FormalQtyType.StringType // TYPE_PARAMETER.NAME + nodePropertyDescriptors(3603) = FormalQtyType.QtyOne + nodePropertyDescriptors(3954) = FormalQtyType.IntType // TYPE_PARAMETER.ORDER + nodePropertyDescriptors(3955) = FormalQtyType.QtyOne nodePropertyDescriptors(172) = FormalQtyType.IntType // TYPE_REF.ARGUMENT_INDEX nodePropertyDescriptors(173) = FormalQtyType.QtyOne nodePropertyDescriptors(260) = FormalQtyType.StringType // TYPE_REF.ARGUMENT_NAME @@ -882,14 +892,14 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1053) = FormalQtyType.QtyOption nodePropertyDescriptors(1668) = FormalQtyType.StringType // TYPE_REF.DYNAMIC_TYPE_HINT_FULL_NAME nodePropertyDescriptors(1669) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3076) = FormalQtyType.IntType // TYPE_REF.LINE_NUMBER - nodePropertyDescriptors(3077) = FormalQtyType.QtyOption - nodePropertyDescriptors(3868) = FormalQtyType.IntType // TYPE_REF.ORDER - nodePropertyDescriptors(3869) = FormalQtyType.QtyOne - nodePropertyDescriptors(4220) = FormalQtyType.StringType // TYPE_REF.POSSIBLE_TYPES - nodePropertyDescriptors(4221) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4660) = FormalQtyType.StringType // TYPE_REF.TYPE_FULL_NAME - nodePropertyDescriptors(4661) = FormalQtyType.QtyOne + nodePropertyDescriptors(3164) = FormalQtyType.IntType // TYPE_REF.LINE_NUMBER + nodePropertyDescriptors(3165) = FormalQtyType.QtyOption + nodePropertyDescriptors(3956) = FormalQtyType.IntType // TYPE_REF.ORDER + nodePropertyDescriptors(3957) = FormalQtyType.QtyOne + nodePropertyDescriptors(4308) = FormalQtyType.StringType // TYPE_REF.POSSIBLE_TYPES + nodePropertyDescriptors(4309) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4748) = FormalQtyType.StringType // TYPE_REF.TYPE_FULL_NAME + nodePropertyDescriptors(4749) = FormalQtyType.QtyOne nodePropertyDescriptors(174) = FormalQtyType.IntType // UNKNOWN.ARGUMENT_INDEX nodePropertyDescriptors(175) = FormalQtyType.QtyOne nodePropertyDescriptors(262) = FormalQtyType.StringType // UNKNOWN.ARGUMENT_NAME @@ -902,195 +912,197 @@ object GraphSchema extends flatgraph.Schema { nodePropertyDescriptors(1231) = FormalQtyType.QtyOne nodePropertyDescriptors(1670) = FormalQtyType.StringType // UNKNOWN.DYNAMIC_TYPE_HINT_FULL_NAME nodePropertyDescriptors(1671) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3078) = FormalQtyType.IntType // UNKNOWN.LINE_NUMBER - nodePropertyDescriptors(3079) = FormalQtyType.QtyOption - nodePropertyDescriptors(3870) = FormalQtyType.IntType // UNKNOWN.ORDER - nodePropertyDescriptors(3871) = FormalQtyType.QtyOne - nodePropertyDescriptors(4134) = FormalQtyType.StringType // UNKNOWN.PARSER_TYPE_NAME - nodePropertyDescriptors(4135) = FormalQtyType.QtyOne - nodePropertyDescriptors(4222) = FormalQtyType.StringType // UNKNOWN.POSSIBLE_TYPES - nodePropertyDescriptors(4223) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4662) = FormalQtyType.StringType // UNKNOWN.TYPE_FULL_NAME - nodePropertyDescriptors(4663) = FormalQtyType.QtyOne + nodePropertyDescriptors(3166) = FormalQtyType.IntType // UNKNOWN.LINE_NUMBER + nodePropertyDescriptors(3167) = FormalQtyType.QtyOption + nodePropertyDescriptors(3958) = FormalQtyType.IntType // UNKNOWN.ORDER + nodePropertyDescriptors(3959) = FormalQtyType.QtyOne + nodePropertyDescriptors(4222) = FormalQtyType.StringType // UNKNOWN.PARSER_TYPE_NAME + nodePropertyDescriptors(4223) = FormalQtyType.QtyOne + nodePropertyDescriptors(4310) = FormalQtyType.StringType // UNKNOWN.POSSIBLE_TYPES + nodePropertyDescriptors(4311) = FormalQtyType.QtyMulti + nodePropertyDescriptors(4750) = FormalQtyType.StringType // UNKNOWN.TYPE_FULL_NAME + nodePropertyDescriptors(4751) = FormalQtyType.QtyOne nodePropertyDescriptors } private val newNodeInsertionHelpers: Array[flatgraph.NewNodePropertyInsertionHelper] = { - val _newNodeInserters = new Array[flatgraph.NewNodePropertyInsertionHelper](5192) + val _newNodeInserters = new Array[flatgraph.NewNodePropertyInsertionHelper](5280) _newNodeInserters(88) = nodes.NewAnnotation.InsertionHelpers.NewNodeInserter_Annotation_argumentIndex _newNodeInserters(176) = nodes.NewAnnotation.InsertionHelpers.NewNodeInserter_Annotation_argumentName _newNodeInserters(880) = nodes.NewAnnotation.InsertionHelpers.NewNodeInserter_Annotation_code _newNodeInserters(968) = nodes.NewAnnotation.InsertionHelpers.NewNodeInserter_Annotation_columnNumber _newNodeInserters(1936) = nodes.NewAnnotation.InsertionHelpers.NewNodeInserter_Annotation_fullName - _newNodeInserters(2992) = nodes.NewAnnotation.InsertionHelpers.NewNodeInserter_Annotation_lineNumber - _newNodeInserters(3432) = nodes.NewAnnotation.InsertionHelpers.NewNodeInserter_Annotation_name - _newNodeInserters(3784) = nodes.NewAnnotation.InsertionHelpers.NewNodeInserter_Annotation_order + _newNodeInserters(3080) = nodes.NewAnnotation.InsertionHelpers.NewNodeInserter_Annotation_lineNumber + _newNodeInserters(3520) = nodes.NewAnnotation.InsertionHelpers.NewNodeInserter_Annotation_name + _newNodeInserters(3872) = nodes.NewAnnotation.InsertionHelpers.NewNodeInserter_Annotation_order _newNodeInserters(90) = nodes.NewAnnotationLiteral.InsertionHelpers.NewNodeInserter_AnnotationLiteral_argumentIndex _newNodeInserters(178) = nodes.NewAnnotationLiteral.InsertionHelpers.NewNodeInserter_AnnotationLiteral_argumentName _newNodeInserters(882) = nodes.NewAnnotationLiteral.InsertionHelpers.NewNodeInserter_AnnotationLiteral_code _newNodeInserters(970) = nodes.NewAnnotationLiteral.InsertionHelpers.NewNodeInserter_AnnotationLiteral_columnNumber - _newNodeInserters(2994) = nodes.NewAnnotationLiteral.InsertionHelpers.NewNodeInserter_AnnotationLiteral_lineNumber - _newNodeInserters(3434) = nodes.NewAnnotationLiteral.InsertionHelpers.NewNodeInserter_AnnotationLiteral_name - _newNodeInserters(3786) = nodes.NewAnnotationLiteral.InsertionHelpers.NewNodeInserter_AnnotationLiteral_order + _newNodeInserters(3082) = nodes.NewAnnotationLiteral.InsertionHelpers.NewNodeInserter_AnnotationLiteral_lineNumber + _newNodeInserters(3522) = nodes.NewAnnotationLiteral.InsertionHelpers.NewNodeInserter_AnnotationLiteral_name + _newNodeInserters(3874) = nodes.NewAnnotationLiteral.InsertionHelpers.NewNodeInserter_AnnotationLiteral_order _newNodeInserters(884) = nodes.NewAnnotationParameter.InsertionHelpers.NewNodeInserter_AnnotationParameter_code _newNodeInserters(972) = nodes.NewAnnotationParameter.InsertionHelpers.NewNodeInserter_AnnotationParameter_columnNumber - _newNodeInserters(2996) = + _newNodeInserters(3084) = nodes.NewAnnotationParameter.InsertionHelpers.NewNodeInserter_AnnotationParameter_lineNumber - _newNodeInserters(3788) = nodes.NewAnnotationParameter.InsertionHelpers.NewNodeInserter_AnnotationParameter_order + _newNodeInserters(3876) = nodes.NewAnnotationParameter.InsertionHelpers.NewNodeInserter_AnnotationParameter_order _newNodeInserters(886) = nodes.NewAnnotationParameterAssign.InsertionHelpers.NewNodeInserter_AnnotationParameterAssign_code _newNodeInserters(974) = nodes.NewAnnotationParameterAssign.InsertionHelpers.NewNodeInserter_AnnotationParameterAssign_columnNumber - _newNodeInserters(2998) = + _newNodeInserters(3086) = nodes.NewAnnotationParameterAssign.InsertionHelpers.NewNodeInserter_AnnotationParameterAssign_lineNumber - _newNodeInserters(3790) = + _newNodeInserters(3878) = nodes.NewAnnotationParameterAssign.InsertionHelpers.NewNodeInserter_AnnotationParameterAssign_order _newNodeInserters(96) = nodes.NewArrayInitializer.InsertionHelpers.NewNodeInserter_ArrayInitializer_argumentIndex _newNodeInserters(184) = nodes.NewArrayInitializer.InsertionHelpers.NewNodeInserter_ArrayInitializer_argumentName _newNodeInserters(888) = nodes.NewArrayInitializer.InsertionHelpers.NewNodeInserter_ArrayInitializer_code _newNodeInserters(976) = nodes.NewArrayInitializer.InsertionHelpers.NewNodeInserter_ArrayInitializer_columnNumber - _newNodeInserters(3000) = nodes.NewArrayInitializer.InsertionHelpers.NewNodeInserter_ArrayInitializer_lineNumber - _newNodeInserters(3792) = nodes.NewArrayInitializer.InsertionHelpers.NewNodeInserter_ArrayInitializer_order - _newNodeInserters(3178) = nodes.NewBinding.InsertionHelpers.NewNodeInserter_Binding_methodFullName - _newNodeInserters(3442) = nodes.NewBinding.InsertionHelpers.NewNodeInserter_Binding_name - _newNodeInserters(4322) = nodes.NewBinding.InsertionHelpers.NewNodeInserter_Binding_signature + _newNodeInserters(3088) = nodes.NewArrayInitializer.InsertionHelpers.NewNodeInserter_ArrayInitializer_lineNumber + _newNodeInserters(3880) = nodes.NewArrayInitializer.InsertionHelpers.NewNodeInserter_ArrayInitializer_order + _newNodeInserters(3266) = nodes.NewBinding.InsertionHelpers.NewNodeInserter_Binding_methodFullName + _newNodeInserters(3530) = nodes.NewBinding.InsertionHelpers.NewNodeInserter_Binding_name + _newNodeInserters(4410) = nodes.NewBinding.InsertionHelpers.NewNodeInserter_Binding_signature _newNodeInserters(100) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_argumentIndex _newNodeInserters(188) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_argumentName _newNodeInserters(892) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_code _newNodeInserters(980) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_columnNumber _newNodeInserters(1596) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_dynamicTypeHintFullName - _newNodeInserters(3004) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_lineNumber - _newNodeInserters(3796) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_order - _newNodeInserters(4148) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_possibleTypes - _newNodeInserters(4588) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_typeFullName + _newNodeInserters(3092) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_lineNumber + _newNodeInserters(3884) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_order + _newNodeInserters(4236) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_possibleTypes + _newNodeInserters(4676) = nodes.NewBlock.InsertionHelpers.NewNodeInserter_Block_typeFullName _newNodeInserters(102) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_argumentIndex _newNodeInserters(190) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_argumentName _newNodeInserters(894) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_code _newNodeInserters(982) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_columnNumber _newNodeInserters(1510) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_dispatchType _newNodeInserters(1598) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_dynamicTypeHintFullName - _newNodeInserters(3006) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_lineNumber - _newNodeInserters(3182) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_methodFullName - _newNodeInserters(3446) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_name - _newNodeInserters(3798) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_order - _newNodeInserters(4150) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_possibleTypes - _newNodeInserters(4326) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_signature - _newNodeInserters(4590) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_typeFullName + _newNodeInserters(3094) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_lineNumber + _newNodeInserters(3270) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_methodFullName + _newNodeInserters(3534) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_name + _newNodeInserters(3886) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_order + _newNodeInserters(4238) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_possibleTypes + _newNodeInserters(4414) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_signature + _newNodeInserters(4678) = nodes.NewCall.InsertionHelpers.NewNodeInserter_Call_typeFullName _newNodeInserters(720) = nodes.NewClosureBinding.InsertionHelpers.NewNodeInserter_ClosureBinding_closureBindingId _newNodeInserters(808) = nodes.NewClosureBinding.InsertionHelpers.NewNodeInserter_ClosureBinding_closureOriginalName _newNodeInserters(1688) = nodes.NewClosureBinding.InsertionHelpers.NewNodeInserter_ClosureBinding_evaluationStrategy _newNodeInserters(898) = nodes.NewComment.InsertionHelpers.NewNodeInserter_Comment_code _newNodeInserters(986) = nodes.NewComment.InsertionHelpers.NewNodeInserter_Comment_columnNumber _newNodeInserters(1866) = nodes.NewComment.InsertionHelpers.NewNodeInserter_Comment_filename - _newNodeInserters(3010) = nodes.NewComment.InsertionHelpers.NewNodeInserter_Comment_lineNumber - _newNodeInserters(3802) = nodes.NewComment.InsertionHelpers.NewNodeInserter_Comment_order + _newNodeInserters(3098) = nodes.NewComment.InsertionHelpers.NewNodeInserter_Comment_lineNumber + _newNodeInserters(3890) = nodes.NewComment.InsertionHelpers.NewNodeInserter_Comment_order _newNodeInserters(1252) = nodes.NewConfigFile.InsertionHelpers.NewNodeInserter_ConfigFile_content - _newNodeInserters(3452) = nodes.NewConfigFile.InsertionHelpers.NewNodeInserter_ConfigFile_name + _newNodeInserters(3540) = nodes.NewConfigFile.InsertionHelpers.NewNodeInserter_ConfigFile_name _newNodeInserters(110) = nodes.NewControlStructure.InsertionHelpers.NewNodeInserter_ControlStructure_argumentIndex _newNodeInserters(198) = nodes.NewControlStructure.InsertionHelpers.NewNodeInserter_ControlStructure_argumentName _newNodeInserters(902) = nodes.NewControlStructure.InsertionHelpers.NewNodeInserter_ControlStructure_code _newNodeInserters(990) = nodes.NewControlStructure.InsertionHelpers.NewNodeInserter_ControlStructure_columnNumber _newNodeInserters(1342) = nodes.NewControlStructure.InsertionHelpers.NewNodeInserter_ControlStructure_controlStructureType - _newNodeInserters(3014) = nodes.NewControlStructure.InsertionHelpers.NewNodeInserter_ControlStructure_lineNumber - _newNodeInserters(3806) = nodes.NewControlStructure.InsertionHelpers.NewNodeInserter_ControlStructure_order - _newNodeInserters(4070) = nodes.NewControlStructure.InsertionHelpers.NewNodeInserter_ControlStructure_parserTypeName + _newNodeInserters(3102) = nodes.NewControlStructure.InsertionHelpers.NewNodeInserter_ControlStructure_lineNumber + _newNodeInserters(3894) = nodes.NewControlStructure.InsertionHelpers.NewNodeInserter_ControlStructure_order + _newNodeInserters(4158) = nodes.NewControlStructure.InsertionHelpers.NewNodeInserter_ControlStructure_parserTypeName _newNodeInserters(1432) = nodes.NewDependency.InsertionHelpers.NewNodeInserter_Dependency_dependencyGroupId - _newNodeInserters(3456) = nodes.NewDependency.InsertionHelpers.NewNodeInserter_Dependency_name - _newNodeInserters(4776) = nodes.NewDependency.InsertionHelpers.NewNodeInserter_Dependency_version + _newNodeInserters(3544) = nodes.NewDependency.InsertionHelpers.NewNodeInserter_Dependency_name + _newNodeInserters(4864) = nodes.NewDependency.InsertionHelpers.NewNodeInserter_Dependency_version _newNodeInserters(114) = nodes.NewFieldIdentifier.InsertionHelpers.NewNodeInserter_FieldIdentifier_argumentIndex _newNodeInserters(202) = nodes.NewFieldIdentifier.InsertionHelpers.NewNodeInserter_FieldIdentifier_argumentName _newNodeInserters(466) = nodes.NewFieldIdentifier.InsertionHelpers.NewNodeInserter_FieldIdentifier_canonicalName _newNodeInserters(906) = nodes.NewFieldIdentifier.InsertionHelpers.NewNodeInserter_FieldIdentifier_code _newNodeInserters(994) = nodes.NewFieldIdentifier.InsertionHelpers.NewNodeInserter_FieldIdentifier_columnNumber - _newNodeInserters(3018) = nodes.NewFieldIdentifier.InsertionHelpers.NewNodeInserter_FieldIdentifier_lineNumber - _newNodeInserters(3810) = nodes.NewFieldIdentifier.InsertionHelpers.NewNodeInserter_FieldIdentifier_order + _newNodeInserters(3106) = nodes.NewFieldIdentifier.InsertionHelpers.NewNodeInserter_FieldIdentifier_lineNumber + _newNodeInserters(3898) = nodes.NewFieldIdentifier.InsertionHelpers.NewNodeInserter_FieldIdentifier_order _newNodeInserters(908) = nodes.NewFile.InsertionHelpers.NewNodeInserter_File_code _newNodeInserters(996) = nodes.NewFile.InsertionHelpers.NewNodeInserter_File_columnNumber _newNodeInserters(1260) = nodes.NewFile.InsertionHelpers.NewNodeInserter_File_content - _newNodeInserters(2052) = nodes.NewFile.InsertionHelpers.NewNodeInserter_File_hash - _newNodeInserters(3020) = nodes.NewFile.InsertionHelpers.NewNodeInserter_File_lineNumber - _newNodeInserters(3460) = nodes.NewFile.InsertionHelpers.NewNodeInserter_File_name - _newNodeInserters(3812) = nodes.NewFile.InsertionHelpers.NewNodeInserter_File_order - _newNodeInserters(4870) = nodes.NewFinding.InsertionHelpers.NewNodeInserter_Finding_evidence - _newNodeInserters(4958) = nodes.NewFinding.InsertionHelpers.NewNodeInserter_Finding_keyValuePairs + _newNodeInserters(2140) = nodes.NewFile.InsertionHelpers.NewNodeInserter_File_hash + _newNodeInserters(3108) = nodes.NewFile.InsertionHelpers.NewNodeInserter_File_lineNumber + _newNodeInserters(3548) = nodes.NewFile.InsertionHelpers.NewNodeInserter_File_name + _newNodeInserters(3900) = nodes.NewFile.InsertionHelpers.NewNodeInserter_File_order + _newNodeInserters(4958) = nodes.NewFinding.InsertionHelpers.NewNodeInserter_Finding_evidence + _newNodeInserters(5046) = nodes.NewFinding.InsertionHelpers.NewNodeInserter_Finding_keyValuePairs _newNodeInserters(120) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_argumentIndex _newNodeInserters(208) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_argumentName _newNodeInserters(912) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_code _newNodeInserters(1000) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_columnNumber _newNodeInserters(1616) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_dynamicTypeHintFullName - _newNodeInserters(3024) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_lineNumber - _newNodeInserters(3464) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_name - _newNodeInserters(3816) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_order - _newNodeInserters(4168) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_possibleTypes - _newNodeInserters(4608) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_typeFullName + _newNodeInserters(3112) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_lineNumber + _newNodeInserters(3552) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_name + _newNodeInserters(3904) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_order + _newNodeInserters(4256) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_possibleTypes + _newNodeInserters(4696) = nodes.NewIdentifier.InsertionHelpers.NewNodeInserter_Identifier_typeFullName _newNodeInserters(914) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_code _newNodeInserters(1002) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_columnNumber _newNodeInserters(1794) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_explicitAs - _newNodeInserters(2146) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_importedAs - _newNodeInserters(2234) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_importedEntity - _newNodeInserters(2498) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_isExplicit - _newNodeInserters(2762) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_isWildcard - _newNodeInserters(3026) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_lineNumber - _newNodeInserters(3818) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_order + _newNodeInserters(2234) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_importedAs + _newNodeInserters(2322) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_importedEntity + _newNodeInserters(2586) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_isExplicit + _newNodeInserters(2850) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_isWildcard + _newNodeInserters(3114) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_lineNumber + _newNodeInserters(3906) = nodes.NewImport.InsertionHelpers.NewNodeInserter_Import_order _newNodeInserters(916) = nodes.NewJumpLabel.InsertionHelpers.NewNodeInserter_JumpLabel_code _newNodeInserters(1004) = nodes.NewJumpLabel.InsertionHelpers.NewNodeInserter_JumpLabel_columnNumber - _newNodeInserters(3028) = nodes.NewJumpLabel.InsertionHelpers.NewNodeInserter_JumpLabel_lineNumber - _newNodeInserters(3468) = nodes.NewJumpLabel.InsertionHelpers.NewNodeInserter_JumpLabel_name - _newNodeInserters(3820) = nodes.NewJumpLabel.InsertionHelpers.NewNodeInserter_JumpLabel_order - _newNodeInserters(4084) = nodes.NewJumpLabel.InsertionHelpers.NewNodeInserter_JumpLabel_parserTypeName + _newNodeInserters(3116) = nodes.NewJumpLabel.InsertionHelpers.NewNodeInserter_JumpLabel_lineNumber + _newNodeInserters(3556) = nodes.NewJumpLabel.InsertionHelpers.NewNodeInserter_JumpLabel_name + _newNodeInserters(3908) = nodes.NewJumpLabel.InsertionHelpers.NewNodeInserter_JumpLabel_order + _newNodeInserters(4172) = nodes.NewJumpLabel.InsertionHelpers.NewNodeInserter_JumpLabel_parserTypeName _newNodeInserters(126) = nodes.NewJumpTarget.InsertionHelpers.NewNodeInserter_JumpTarget_argumentIndex _newNodeInserters(918) = nodes.NewJumpTarget.InsertionHelpers.NewNodeInserter_JumpTarget_code _newNodeInserters(1006) = nodes.NewJumpTarget.InsertionHelpers.NewNodeInserter_JumpTarget_columnNumber - _newNodeInserters(3030) = nodes.NewJumpTarget.InsertionHelpers.NewNodeInserter_JumpTarget_lineNumber - _newNodeInserters(3470) = nodes.NewJumpTarget.InsertionHelpers.NewNodeInserter_JumpTarget_name - _newNodeInserters(3822) = nodes.NewJumpTarget.InsertionHelpers.NewNodeInserter_JumpTarget_order - _newNodeInserters(4086) = nodes.NewJumpTarget.InsertionHelpers.NewNodeInserter_JumpTarget_parserTypeName - _newNodeInserters(2856) = nodes.NewKeyValuePair.InsertionHelpers.NewNodeInserter_KeyValuePair_key - _newNodeInserters(4704) = nodes.NewKeyValuePair.InsertionHelpers.NewNodeInserter_KeyValuePair_value + _newNodeInserters(3118) = nodes.NewJumpTarget.InsertionHelpers.NewNodeInserter_JumpTarget_lineNumber + _newNodeInserters(3558) = nodes.NewJumpTarget.InsertionHelpers.NewNodeInserter_JumpTarget_name + _newNodeInserters(3910) = nodes.NewJumpTarget.InsertionHelpers.NewNodeInserter_JumpTarget_order + _newNodeInserters(4174) = nodes.NewJumpTarget.InsertionHelpers.NewNodeInserter_JumpTarget_parserTypeName + _newNodeInserters(2944) = nodes.NewKeyValuePair.InsertionHelpers.NewNodeInserter_KeyValuePair_key + _newNodeInserters(4792) = nodes.NewKeyValuePair.InsertionHelpers.NewNodeInserter_KeyValuePair_value _newNodeInserters(130) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_argumentIndex _newNodeInserters(218) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_argumentName _newNodeInserters(922) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_code _newNodeInserters(1010) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_columnNumber _newNodeInserters(1626) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_dynamicTypeHintFullName - _newNodeInserters(3034) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_lineNumber - _newNodeInserters(3826) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_order - _newNodeInserters(4178) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_possibleTypes - _newNodeInserters(4618) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_typeFullName + _newNodeInserters(3122) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_lineNumber + _newNodeInserters(3914) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_order + _newNodeInserters(4266) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_possibleTypes + _newNodeInserters(4706) = nodes.NewLiteral.InsertionHelpers.NewNodeInserter_Literal_typeFullName _newNodeInserters(748) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_closureBindingId _newNodeInserters(924) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_code _newNodeInserters(1012) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_columnNumber _newNodeInserters(1628) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_dynamicTypeHintFullName - _newNodeInserters(3036) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_lineNumber - _newNodeInserters(3476) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_name - _newNodeInserters(3828) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_order - _newNodeInserters(4180) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_possibleTypes - _newNodeInserters(4620) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_typeFullName + _newNodeInserters(2068) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_genericSignature + _newNodeInserters(3124) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_lineNumber + _newNodeInserters(3564) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_name + _newNodeInserters(3916) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_order + _newNodeInserters(4268) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_possibleTypes + _newNodeInserters(4708) = nodes.NewLocal.InsertionHelpers.NewNodeInserter_Local_typeFullName _newNodeInserters(574) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_className _newNodeInserters(662) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_classShortName _newNodeInserters(1894) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_filename - _newNodeInserters(3038) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_lineNumber - _newNodeInserters(3214) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_methodFullName - _newNodeInserters(3302) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_methodShortName - _newNodeInserters(3566) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_nodeLabel - _newNodeInserters(4006) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_packageName - _newNodeInserters(4446) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_symbol - _newNodeInserters(5062) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_node + _newNodeInserters(3126) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_lineNumber + _newNodeInserters(3302) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_methodFullName + _newNodeInserters(3390) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_methodShortName + _newNodeInserters(3654) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_nodeLabel + _newNodeInserters(4094) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_packageName + _newNodeInserters(4534) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_symbol + _newNodeInserters(5150) = nodes.NewLocation.InsertionHelpers.NewNodeInserter_Location_node _newNodeInserters(312) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_astParentFullName _newNodeInserters(400) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_astParentType _newNodeInserters(928) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_code _newNodeInserters(1016) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_columnNumber _newNodeInserters(1632) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_dynamicTypeHintFullName - _newNodeInserters(3040) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_lineNumber - _newNodeInserters(3480) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_name - _newNodeInserters(3832) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_order - _newNodeInserters(4184) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_possibleTypes - _newNodeInserters(4624) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_typeFullName - _newNodeInserters(2074) = nodes.NewMetaData.InsertionHelpers.NewNodeInserter_MetaData_hash - _newNodeInserters(2954) = nodes.NewMetaData.InsertionHelpers.NewNodeInserter_MetaData_language - _newNodeInserters(3922) = nodes.NewMetaData.InsertionHelpers.NewNodeInserter_MetaData_overlays - _newNodeInserters(4274) = nodes.NewMetaData.InsertionHelpers.NewNodeInserter_MetaData_root - _newNodeInserters(4802) = nodes.NewMetaData.InsertionHelpers.NewNodeInserter_MetaData_version + _newNodeInserters(2072) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_genericSignature + _newNodeInserters(3128) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_lineNumber + _newNodeInserters(3568) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_name + _newNodeInserters(3920) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_order + _newNodeInserters(4272) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_possibleTypes + _newNodeInserters(4712) = nodes.NewMember.InsertionHelpers.NewNodeInserter_Member_typeFullName + _newNodeInserters(2162) = nodes.NewMetaData.InsertionHelpers.NewNodeInserter_MetaData_hash + _newNodeInserters(3042) = nodes.NewMetaData.InsertionHelpers.NewNodeInserter_MetaData_language + _newNodeInserters(4010) = nodes.NewMetaData.InsertionHelpers.NewNodeInserter_MetaData_overlays + _newNodeInserters(4362) = nodes.NewMetaData.InsertionHelpers.NewNodeInserter_MetaData_root + _newNodeInserters(4890) = nodes.NewMetaData.InsertionHelpers.NewNodeInserter_MetaData_version _newNodeInserters(316) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_astParentFullName _newNodeInserters(404) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_astParentType _newNodeInserters(932) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_code @@ -1098,15 +1110,16 @@ object GraphSchema extends flatgraph.Schema { _newNodeInserters(1108) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_columnNumberEnd _newNodeInserters(1900) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_filename _newNodeInserters(1988) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_fullName - _newNodeInserters(2076) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_hash - _newNodeInserters(2604) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_isExternal - _newNodeInserters(3044) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_lineNumber - _newNodeInserters(3132) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_lineNumberEnd - _newNodeInserters(3484) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_name - _newNodeInserters(3660) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_offset - _newNodeInserters(3748) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_offsetEnd - _newNodeInserters(3836) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_order - _newNodeInserters(4364) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_signature + _newNodeInserters(2076) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_genericSignature + _newNodeInserters(2164) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_hash + _newNodeInserters(2692) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_isExternal + _newNodeInserters(3132) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_lineNumber + _newNodeInserters(3220) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_lineNumberEnd + _newNodeInserters(3572) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_name + _newNodeInserters(3748) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_offset + _newNodeInserters(3836) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_offsetEnd + _newNodeInserters(3924) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_order + _newNodeInserters(4452) = nodes.NewMethod.InsertionHelpers.NewNodeInserter_Method_signature _newNodeInserters(758) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_closureBindingId _newNodeInserters(934) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_code @@ -1115,86 +1128,86 @@ object GraphSchema extends flatgraph.Schema { nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_dynamicTypeHintFullName _newNodeInserters(1726) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_evaluationStrategy - _newNodeInserters(2342) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_index - _newNodeInserters(2694) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_isVariadic - _newNodeInserters(3046) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_lineNumber - _newNodeInserters(3486) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_name - _newNodeInserters(3838) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_order - _newNodeInserters(4190) = + _newNodeInserters(2430) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_index + _newNodeInserters(2782) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_isVariadic + _newNodeInserters(3134) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_lineNumber + _newNodeInserters(3574) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_name + _newNodeInserters(3926) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_order + _newNodeInserters(4278) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_possibleTypes - _newNodeInserters(4630) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_typeFullName + _newNodeInserters(4718) = nodes.NewMethodParameterIn.InsertionHelpers.NewNodeInserter_MethodParameterIn_typeFullName _newNodeInserters(936) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_code _newNodeInserters(1024) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_columnNumber _newNodeInserters(1728) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_evaluationStrategy - _newNodeInserters(2344) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_index - _newNodeInserters(2696) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_isVariadic - _newNodeInserters(3048) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_lineNumber - _newNodeInserters(3488) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_name - _newNodeInserters(3840) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_order - _newNodeInserters(4632) = + _newNodeInserters(2432) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_index + _newNodeInserters(2784) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_isVariadic + _newNodeInserters(3136) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_lineNumber + _newNodeInserters(3576) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_name + _newNodeInserters(3928) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_order + _newNodeInserters(4720) = nodes.NewMethodParameterOut.InsertionHelpers.NewNodeInserter_MethodParameterOut_typeFullName _newNodeInserters(146) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_argumentIndex _newNodeInserters(234) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_argumentName _newNodeInserters(938) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_code _newNodeInserters(1026) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_columnNumber _newNodeInserters(1642) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_dynamicTypeHintFullName - _newNodeInserters(3050) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_lineNumber - _newNodeInserters(3226) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_methodFullName - _newNodeInserters(3842) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_order - _newNodeInserters(4194) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_possibleTypes - _newNodeInserters(4634) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_typeFullName + _newNodeInserters(3138) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_lineNumber + _newNodeInserters(3314) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_methodFullName + _newNodeInserters(3930) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_order + _newNodeInserters(4282) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_possibleTypes + _newNodeInserters(4722) = nodes.NewMethodRef.InsertionHelpers.NewNodeInserter_MethodRef_typeFullName _newNodeInserters(940) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_code _newNodeInserters(1028) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_columnNumber _newNodeInserters(1644) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_dynamicTypeHintFullName _newNodeInserters(1732) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_evaluationStrategy - _newNodeInserters(3052) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_lineNumber - _newNodeInserters(3844) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_order - _newNodeInserters(4196) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_possibleTypes - _newNodeInserters(4636) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_typeFullName + _newNodeInserters(3140) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_lineNumber + _newNodeInserters(3932) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_order + _newNodeInserters(4284) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_possibleTypes + _newNodeInserters(4724) = nodes.NewMethodReturn.InsertionHelpers.NewNodeInserter_MethodReturn_typeFullName _newNodeInserters(942) = nodes.NewModifier.InsertionHelpers.NewNodeInserter_Modifier_code _newNodeInserters(1030) = nodes.NewModifier.InsertionHelpers.NewNodeInserter_Modifier_columnNumber - _newNodeInserters(3054) = nodes.NewModifier.InsertionHelpers.NewNodeInserter_Modifier_lineNumber - _newNodeInserters(3406) = nodes.NewModifier.InsertionHelpers.NewNodeInserter_Modifier_modifierType - _newNodeInserters(3846) = nodes.NewModifier.InsertionHelpers.NewNodeInserter_Modifier_order + _newNodeInserters(3142) = nodes.NewModifier.InsertionHelpers.NewNodeInserter_Modifier_lineNumber + _newNodeInserters(3494) = nodes.NewModifier.InsertionHelpers.NewNodeInserter_Modifier_modifierType + _newNodeInserters(3934) = nodes.NewModifier.InsertionHelpers.NewNodeInserter_Modifier_order _newNodeInserters(944) = nodes.NewNamespace.InsertionHelpers.NewNodeInserter_Namespace_code _newNodeInserters(1032) = nodes.NewNamespace.InsertionHelpers.NewNodeInserter_Namespace_columnNumber - _newNodeInserters(3056) = nodes.NewNamespace.InsertionHelpers.NewNodeInserter_Namespace_lineNumber - _newNodeInserters(3496) = nodes.NewNamespace.InsertionHelpers.NewNodeInserter_Namespace_name - _newNodeInserters(3848) = nodes.NewNamespace.InsertionHelpers.NewNodeInserter_Namespace_order + _newNodeInserters(3144) = nodes.NewNamespace.InsertionHelpers.NewNodeInserter_Namespace_lineNumber + _newNodeInserters(3584) = nodes.NewNamespace.InsertionHelpers.NewNodeInserter_Namespace_name + _newNodeInserters(3936) = nodes.NewNamespace.InsertionHelpers.NewNodeInserter_Namespace_order _newNodeInserters(946) = nodes.NewNamespaceBlock.InsertionHelpers.NewNodeInserter_NamespaceBlock_code _newNodeInserters(1034) = nodes.NewNamespaceBlock.InsertionHelpers.NewNodeInserter_NamespaceBlock_columnNumber _newNodeInserters(1914) = nodes.NewNamespaceBlock.InsertionHelpers.NewNodeInserter_NamespaceBlock_filename _newNodeInserters(2002) = nodes.NewNamespaceBlock.InsertionHelpers.NewNodeInserter_NamespaceBlock_fullName - _newNodeInserters(3058) = nodes.NewNamespaceBlock.InsertionHelpers.NewNodeInserter_NamespaceBlock_lineNumber - _newNodeInserters(3498) = nodes.NewNamespaceBlock.InsertionHelpers.NewNodeInserter_NamespaceBlock_name - _newNodeInserters(3850) = nodes.NewNamespaceBlock.InsertionHelpers.NewNodeInserter_NamespaceBlock_order + _newNodeInserters(3146) = nodes.NewNamespaceBlock.InsertionHelpers.NewNodeInserter_NamespaceBlock_lineNumber + _newNodeInserters(3586) = nodes.NewNamespaceBlock.InsertionHelpers.NewNodeInserter_NamespaceBlock_name + _newNodeInserters(3938) = nodes.NewNamespaceBlock.InsertionHelpers.NewNodeInserter_NamespaceBlock_order _newNodeInserters(156) = nodes.NewReturn.InsertionHelpers.NewNodeInserter_Return_argumentIndex _newNodeInserters(244) = nodes.NewReturn.InsertionHelpers.NewNodeInserter_Return_argumentName _newNodeInserters(948) = nodes.NewReturn.InsertionHelpers.NewNodeInserter_Return_code _newNodeInserters(1036) = nodes.NewReturn.InsertionHelpers.NewNodeInserter_Return_columnNumber - _newNodeInserters(3060) = nodes.NewReturn.InsertionHelpers.NewNodeInserter_Return_lineNumber - _newNodeInserters(3852) = nodes.NewReturn.InsertionHelpers.NewNodeInserter_Return_order - _newNodeInserters(3502) = nodes.NewTag.InsertionHelpers.NewNodeInserter_Tag_name - _newNodeInserters(4734) = nodes.NewTag.InsertionHelpers.NewNodeInserter_Tag_value - _newNodeInserters(5088) = nodes.NewTagNodePair.InsertionHelpers.NewNodeInserter_TagNodePair_node - _newNodeInserters(5176) = nodes.NewTagNodePair.InsertionHelpers.NewNodeInserter_TagNodePair_tag + _newNodeInserters(3148) = nodes.NewReturn.InsertionHelpers.NewNodeInserter_Return_lineNumber + _newNodeInserters(3940) = nodes.NewReturn.InsertionHelpers.NewNodeInserter_Return_order + _newNodeInserters(3590) = nodes.NewTag.InsertionHelpers.NewNodeInserter_Tag_name + _newNodeInserters(4822) = nodes.NewTag.InsertionHelpers.NewNodeInserter_Tag_value + _newNodeInserters(5176) = nodes.NewTagNodePair.InsertionHelpers.NewNodeInserter_TagNodePair_node + _newNodeInserters(5264) = nodes.NewTagNodePair.InsertionHelpers.NewNodeInserter_TagNodePair_tag _newNodeInserters(162) = nodes.NewTemplateDom.InsertionHelpers.NewNodeInserter_TemplateDom_argumentIndex _newNodeInserters(250) = nodes.NewTemplateDom.InsertionHelpers.NewNodeInserter_TemplateDom_argumentName _newNodeInserters(954) = nodes.NewTemplateDom.InsertionHelpers.NewNodeInserter_TemplateDom_code _newNodeInserters(1042) = nodes.NewTemplateDom.InsertionHelpers.NewNodeInserter_TemplateDom_columnNumber - _newNodeInserters(3066) = nodes.NewTemplateDom.InsertionHelpers.NewNodeInserter_TemplateDom_lineNumber - _newNodeInserters(3506) = nodes.NewTemplateDom.InsertionHelpers.NewNodeInserter_TemplateDom_name - _newNodeInserters(3858) = nodes.NewTemplateDom.InsertionHelpers.NewNodeInserter_TemplateDom_order + _newNodeInserters(3154) = nodes.NewTemplateDom.InsertionHelpers.NewNodeInserter_TemplateDom_lineNumber + _newNodeInserters(3594) = nodes.NewTemplateDom.InsertionHelpers.NewNodeInserter_TemplateDom_name + _newNodeInserters(3946) = nodes.NewTemplateDom.InsertionHelpers.NewNodeInserter_TemplateDom_order _newNodeInserters(2012) = nodes.NewType.InsertionHelpers.NewNodeInserter_Type_fullName - _newNodeInserters(3508) = nodes.NewType.InsertionHelpers.NewNodeInserter_Type_name - _newNodeInserters(4564) = nodes.NewType.InsertionHelpers.NewNodeInserter_Type_typeDeclFullName + _newNodeInserters(3596) = nodes.NewType.InsertionHelpers.NewNodeInserter_Type_name + _newNodeInserters(4652) = nodes.NewType.InsertionHelpers.NewNodeInserter_Type_typeDeclFullName _newNodeInserters(958) = nodes.NewTypeArgument.InsertionHelpers.NewNodeInserter_TypeArgument_code _newNodeInserters(1046) = nodes.NewTypeArgument.InsertionHelpers.NewNodeInserter_TypeArgument_columnNumber - _newNodeInserters(3070) = nodes.NewTypeArgument.InsertionHelpers.NewNodeInserter_TypeArgument_lineNumber - _newNodeInserters(3862) = nodes.NewTypeArgument.InsertionHelpers.NewNodeInserter_TypeArgument_order + _newNodeInserters(3158) = nodes.NewTypeArgument.InsertionHelpers.NewNodeInserter_TypeArgument_lineNumber + _newNodeInserters(3950) = nodes.NewTypeArgument.InsertionHelpers.NewNodeInserter_TypeArgument_order _newNodeInserters(80) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_aliasTypeFullName _newNodeInserters(344) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_astParentFullName _newNodeInserters(432) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_astParentType @@ -1202,38 +1215,39 @@ object GraphSchema extends flatgraph.Schema { _newNodeInserters(1048) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_columnNumber _newNodeInserters(1928) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_filename _newNodeInserters(2016) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_fullName - _newNodeInserters(2456) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_inheritsFromTypeFullName - _newNodeInserters(2632) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_isExternal - _newNodeInserters(3072) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_lineNumber - _newNodeInserters(3512) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_name - _newNodeInserters(3688) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_offset - _newNodeInserters(3776) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_offsetEnd - _newNodeInserters(3864) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_order + _newNodeInserters(2104) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_genericSignature + _newNodeInserters(2544) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_inheritsFromTypeFullName + _newNodeInserters(2720) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_isExternal + _newNodeInserters(3160) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_lineNumber + _newNodeInserters(3600) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_name + _newNodeInserters(3776) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_offset + _newNodeInserters(3864) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_offsetEnd + _newNodeInserters(3952) = nodes.NewTypeDecl.InsertionHelpers.NewNodeInserter_TypeDecl_order _newNodeInserters(962) = nodes.NewTypeParameter.InsertionHelpers.NewNodeInserter_TypeParameter_code _newNodeInserters(1050) = nodes.NewTypeParameter.InsertionHelpers.NewNodeInserter_TypeParameter_columnNumber - _newNodeInserters(3074) = nodes.NewTypeParameter.InsertionHelpers.NewNodeInserter_TypeParameter_lineNumber - _newNodeInserters(3514) = nodes.NewTypeParameter.InsertionHelpers.NewNodeInserter_TypeParameter_name - _newNodeInserters(3866) = nodes.NewTypeParameter.InsertionHelpers.NewNodeInserter_TypeParameter_order + _newNodeInserters(3162) = nodes.NewTypeParameter.InsertionHelpers.NewNodeInserter_TypeParameter_lineNumber + _newNodeInserters(3602) = nodes.NewTypeParameter.InsertionHelpers.NewNodeInserter_TypeParameter_name + _newNodeInserters(3954) = nodes.NewTypeParameter.InsertionHelpers.NewNodeInserter_TypeParameter_order _newNodeInserters(172) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_argumentIndex _newNodeInserters(260) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_argumentName _newNodeInserters(964) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_code _newNodeInserters(1052) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_columnNumber _newNodeInserters(1668) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_dynamicTypeHintFullName - _newNodeInserters(3076) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_lineNumber - _newNodeInserters(3868) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_order - _newNodeInserters(4220) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_possibleTypes - _newNodeInserters(4660) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_typeFullName + _newNodeInserters(3164) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_lineNumber + _newNodeInserters(3956) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_order + _newNodeInserters(4308) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_possibleTypes + _newNodeInserters(4748) = nodes.NewTypeRef.InsertionHelpers.NewNodeInserter_TypeRef_typeFullName _newNodeInserters(174) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_argumentIndex _newNodeInserters(262) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_argumentName _newNodeInserters(966) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_code _newNodeInserters(1054) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_columnNumber _newNodeInserters(1230) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_containedRef _newNodeInserters(1670) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_dynamicTypeHintFullName - _newNodeInserters(3078) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_lineNumber - _newNodeInserters(3870) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_order - _newNodeInserters(4134) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_parserTypeName - _newNodeInserters(4222) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_possibleTypes - _newNodeInserters(4662) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_typeFullName + _newNodeInserters(3166) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_lineNumber + _newNodeInserters(3958) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_order + _newNodeInserters(4222) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_parserTypeName + _newNodeInserters(4310) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_possibleTypes + _newNodeInserters(4750) = nodes.NewUnknown.InsertionHelpers.NewNodeInserter_Unknown_typeFullName _newNodeInserters } override def getNumberOfNodeKinds: Int = 44 @@ -1347,6 +1361,7 @@ object GraphSchema extends flatgraph.Schema { "CODE", "COLUMN_NUMBER", "DYNAMIC_TYPE_HINT_FULL_NAME", + "GENERIC_SIGNATURE", "LINE_NUMBER", "NAME", "ORDER", @@ -1372,6 +1387,7 @@ object GraphSchema extends flatgraph.Schema { "CODE", "COLUMN_NUMBER", "DYNAMIC_TYPE_HINT_FULL_NAME", + "GENERIC_SIGNATURE", "LINE_NUMBER", "NAME", "ORDER", @@ -1388,6 +1404,7 @@ object GraphSchema extends flatgraph.Schema { "COLUMN_NUMBER_END", "FILENAME", "FULL_NAME", + "GENERIC_SIGNATURE", "HASH", "IS_EXTERNAL", "LINE_NUMBER", @@ -1468,6 +1485,7 @@ object GraphSchema extends flatgraph.Schema { "COLUMN_NUMBER", "FILENAME", "FULL_NAME", + "GENERIC_SIGNATURE", "INHERITS_FROM_TYPE_FULL_NAME", "IS_EXTERNAL", "LINE_NUMBER", @@ -1514,18 +1532,18 @@ object GraphSchema extends flatgraph.Schema { } override def getPropertyLabel(nodeKind: Int, propertyKind: Int): String = { - if (propertyKind < 55) normalNodePropertyNames(propertyKind) - else if (propertyKind == 55 && nodeKind == 15) "evidence" /*on node FINDING*/ - else if (propertyKind == 56 && nodeKind == 15) "keyValuePairs" /*on node FINDING*/ - else if (propertyKind == 57 && nodeKind == 23) "node" /*on node LOCATION*/ - else if (propertyKind == 57 && nodeKind == 36) "node" /*on node TAG_NODE_PAIR*/ - else if (propertyKind == 58 && nodeKind == 36) "tag" /*on node TAG_NODE_PAIR*/ + if (propertyKind < 56) normalNodePropertyNames(propertyKind) + else if (propertyKind == 56 && nodeKind == 15) "evidence" /*on node FINDING*/ + else if (propertyKind == 57 && nodeKind == 15) "keyValuePairs" /*on node FINDING*/ + else if (propertyKind == 58 && nodeKind == 23) "node" /*on node LOCATION*/ + else if (propertyKind == 58 && nodeKind == 36) "node" /*on node TAG_NODE_PAIR*/ + else if (propertyKind == 59 && nodeKind == 36) "tag" /*on node TAG_NODE_PAIR*/ else null } override def getPropertyKindByName(label: String): Int = nodePropertyByLabel.getOrElse(label, flatgraph.Schema.UndefinedKind) - override def getNumberOfPropertyKinds: Int = 59 + override def getNumberOfPropertyKinds: Int = 60 override def makeNode(graph: flatgraph.Graph, nodeKind: Short, seq: Int): nodes.StoredNode = nodeFactories(nodeKind)(graph, seq) override def makeEdge( diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/Properties.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/Properties.scala index 953c10a67..56df20312 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/Properties.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/Properties.scala @@ -117,87 +117,93 @@ object Properties { */ val FullName = flatgraph.SinglePropertyKey[String](kind = 22, name = "FULL_NAME", default = "") + /** This field is experimental. It will likely be removed in the future without any notice. It stores type information + * for generic types and methods as well as type information for members and locals where the type either contains a + * type parameter reference or an instantiated type reference. + */ + val GenericSignature = flatgraph.SinglePropertyKey[String](kind = 23, name = "GENERIC_SIGNATURE", default = "") + /** This property contains a hash value in the form of a string. Hashes can be used to summarize data, e.g., to * summarize the contents of source files or sub graphs. Such summaries are useful to determine whether code has * already been analyzed in incremental analysis pipelines. This property is optional to allow its calculation to be * deferred or skipped if the hash is not needed. */ - val Hash = flatgraph.OptionalPropertyKey[String](kind = 23, name = "HASH") + val Hash = flatgraph.OptionalPropertyKey[String](kind = 24, name = "HASH") /** The identifier under which the import can be accessed in the importing context. For a Java import this is always * identical to the class name. But e.g. for a Kotlin import like "import java.nio.ByteBuffer as BBuffer" this would * be "BBuffer". This property is ignored if IS_WILDCARD is true. */ - val ImportedAs = flatgraph.OptionalPropertyKey[String](kind = 24, name = "IMPORTED_AS") + val ImportedAs = flatgraph.OptionalPropertyKey[String](kind = 25, name = "IMPORTED_AS") /** The identifying string of the imported entity. For a Java import like "import java.nio.ByteBuffer;" this would be * "java.nio.ByteBuffer". */ - val ImportedEntity = flatgraph.OptionalPropertyKey[String](kind = 25, name = "IMPORTED_ENTITY") + val ImportedEntity = flatgraph.OptionalPropertyKey[String](kind = 26, name = "IMPORTED_ENTITY") /** Specifies an index, e.g., for a parameter or argument. Explicit parameters are numbered from 1 to N, while index 0 * is reserved for implicit self / this parameter. */ - val Index = flatgraph.SinglePropertyKey[Int](kind = 26, name = "INDEX", default = -1: Int) + val Index = flatgraph.SinglePropertyKey[Int](kind = 27, name = "INDEX", default = -1: Int) /** The static types a TYPE_DECL inherits from. This property is matched against the FULL_NAME of TYPE nodes and thus * it is required to have at least one TYPE node for each TYPE_FULL_NAME */ - val InheritsFromTypeFullName = flatgraph.MultiPropertyKey[String](kind = 27, name = "INHERITS_FROM_TYPE_FULL_NAME") + val InheritsFromTypeFullName = flatgraph.MultiPropertyKey[String](kind = 28, name = "INHERITS_FROM_TYPE_FULL_NAME") /** Specifies whether this is an explicit import. Most languages have implicit default imports of some standard * library elements and this flag is used to distinguish those from explicit imports found in the code base. */ - val IsExplicit = flatgraph.OptionalPropertyKey[Boolean](kind = 28, name = "IS_EXPLICIT") + val IsExplicit = flatgraph.OptionalPropertyKey[Boolean](kind = 29, name = "IS_EXPLICIT") /** Indicates that the construct (METHOD or TYPE_DECL) is external, that is, it is referenced but not defined in the * code (applies both to insular parsing and to library functions where we have header files only) */ - val IsExternal = flatgraph.SinglePropertyKey[Boolean](kind = 29, name = "IS_EXTERNAL", default = false) + val IsExternal = flatgraph.SinglePropertyKey[Boolean](kind = 30, name = "IS_EXTERNAL", default = false) /** Specifies whether a parameter is the variadic argument handling parameter of a variadic method. Only one parameter * of a method is allowed to have this property set to true. */ - val IsVariadic = flatgraph.SinglePropertyKey[Boolean](kind = 30, name = "IS_VARIADIC", default = false) + val IsVariadic = flatgraph.SinglePropertyKey[Boolean](kind = 31, name = "IS_VARIADIC", default = false) /** Specifies whether this is a wildcard import. For a Java import like "import java.nio.*;" IS_WILDCARD would be * "true" and IMPORTED_ENTITY would be "java.nio". For wildcard imports the IMPORTED_AS property is ignored. */ - val IsWildcard = flatgraph.OptionalPropertyKey[Boolean](kind = 31, name = "IS_WILDCARD") + val IsWildcard = flatgraph.OptionalPropertyKey[Boolean](kind = 32, name = "IS_WILDCARD") /** This property denotes a key of a key-value pair. */ - val Key = flatgraph.SinglePropertyKey[String](kind = 32, name = "KEY", default = "") + val Key = flatgraph.SinglePropertyKey[String](kind = 33, name = "KEY", default = "") /** This field indicates which CPG language frontend generated the CPG. Frontend developers may freely choose a value * that describes their frontend so long as it is not used by an existing frontend. Reserved values are to date: C, * LLVM, GHIDRA, PHP. */ - val Language = flatgraph.SinglePropertyKey[String](kind = 33, name = "LANGUAGE", default = "") + val Language = flatgraph.SinglePropertyKey[String](kind = 34, name = "LANGUAGE", default = "") /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This optional fields provides the line number at which the program construct represented by the node ends. */ - val LineNumberEnd = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER_END") + val LineNumberEnd = flatgraph.OptionalPropertyKey[Int](kind = 36, name = "LINE_NUMBER_END") /** The FULL_NAME of a method. Used to link CALL and METHOD nodes. It is required to have exactly one METHOD node for * each METHOD_FULL_NAME */ - val MethodFullName = flatgraph.SinglePropertyKey[String](kind = 36, name = "METHOD_FULL_NAME", default = "") + val MethodFullName = flatgraph.SinglePropertyKey[String](kind = 37, name = "METHOD_FULL_NAME", default = "") - val MethodShortName = flatgraph.SinglePropertyKey[String](kind = 37, name = "METHOD_SHORT_NAME", default = "") + val MethodShortName = flatgraph.SinglePropertyKey[String](kind = 38, name = "METHOD_SHORT_NAME", default = "") /** The modifier type is a free-form string. The following are known modifier types: `STATIC`, `PUBLIC`, `PROTECTED`, * `PRIVATE`, `ABSTRACT`, `NATIVE`, `CONSTRUCTOR`, `VIRTUAL`. */ - val ModifierType = flatgraph.SinglePropertyKey[String](kind = 38, name = "MODIFIER_TYPE", default = "") + val ModifierType = flatgraph.SinglePropertyKey[String](kind = 39, name = "MODIFIER_TYPE", default = "") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") - val NodeLabel = flatgraph.SinglePropertyKey[String](kind = 40, name = "NODE_LABEL", default = "") + val NodeLabel = flatgraph.SinglePropertyKey[String](kind = 41, name = "NODE_LABEL", default = "") /** Start offset into the CONTENT property of the corresponding FILE node. The offset is such that parts of the * content can easily be accessed via `content.substring(offset, offsetEnd)`. This means that the offset must be @@ -205,64 +211,64 @@ object Properties { * for METHOD nodes this start offset points to the start of the methods source code in the string holding the source * code of the entire file. */ - val Offset = flatgraph.OptionalPropertyKey[Int](kind = 41, name = "OFFSET") + val Offset = flatgraph.OptionalPropertyKey[Int](kind = 42, name = "OFFSET") /** End offset (exclusive) into the CONTENT property of the corresponding FILE node. See OFFSET documentation for * finer details. E.g. for METHOD nodes this end offset points to the first code position which is not part of the * method. */ - val OffsetEnd = flatgraph.OptionalPropertyKey[Int](kind = 42, name = "OFFSET_END") + val OffsetEnd = flatgraph.OptionalPropertyKey[Int](kind = 43, name = "OFFSET_END") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order of * 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** The field contains the names of the overlays applied to this CPG, in order of their application. Names are * free-form strings, that is, this specification does not dictate them but rather requires tool producers and * consumers to communicate them between each other. */ - val Overlays = flatgraph.MultiPropertyKey[String](kind = 44, name = "OVERLAYS") + val Overlays = flatgraph.MultiPropertyKey[String](kind = 45, name = "OVERLAYS") - val PackageName = flatgraph.SinglePropertyKey[String](kind = 45, name = "PACKAGE_NAME", default = "") + val PackageName = flatgraph.SinglePropertyKey[String](kind = 46, name = "PACKAGE_NAME", default = "") /** AST node type name emitted by parser. */ - val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 46, name = "PARSER_TYPE_NAME", default = "") + val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 47, name = "PARSER_TYPE_NAME", default = "") /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** The path to the root directory of the source/binary this CPG is generated from. */ - val Root = flatgraph.SinglePropertyKey[String](kind = 48, name = "ROOT", default = "") + val Root = flatgraph.SinglePropertyKey[String](kind = 49, name = "ROOT", default = "") /** The method signature encodes the types of parameters in a string. The string SHOULD be human readable and suitable * for differentiating methods with different parameter types sufficiently to allow for resolving of function * overloading. The present specification does not enforce a strict format for the signature, that is, it can be * chosen by the frontend implementor to fit the source language. */ - val Signature = flatgraph.SinglePropertyKey[String](kind = 49, name = "SIGNATURE", default = "") + val Signature = flatgraph.SinglePropertyKey[String](kind = 50, name = "SIGNATURE", default = "") - val Symbol = flatgraph.SinglePropertyKey[String](kind = 50, name = "SYMBOL", default = "") + val Symbol = flatgraph.SinglePropertyKey[String](kind = 51, name = "SYMBOL", default = "") /** The static type decl of a TYPE. This property is matched against the FULL_NAME of TYPE_DECL nodes. It is required * to have exactly one TYPE_DECL for each different TYPE_DECL_FULL_NAME */ val TypeDeclFullName = - flatgraph.SinglePropertyKey[String](kind = 51, name = "TYPE_DECL_FULL_NAME", default = "") + flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_DECL_FULL_NAME", default = "") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is the * name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type cannot * be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") /** This property denotes a string value as used in a key-value pair. */ - val Value = flatgraph.SinglePropertyKey[String](kind = 53, name = "VALUE", default = "") + val Value = flatgraph.SinglePropertyKey[String](kind = 54, name = "VALUE", default = "") /** A version, given as a string. Used, for example, in the META_DATA node to indicate which version of the CPG spec * this CPG conforms to */ - val Version = flatgraph.SinglePropertyKey[String](kind = 54, name = "VERSION", default = "") + val Version = flatgraph.SinglePropertyKey[String](kind = 55, name = "VERSION", default = "") } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/PropertyNames.java b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/PropertyNames.java index 37b948af8..4e462adc8 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/PropertyNames.java +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/PropertyNames.java @@ -115,6 +115,12 @@ runtime as it may depend on the type of an object (as is the case for virtual me name are language specific. This field SHOULD be human readable. */ public static final String FULL_NAME = "FULL_NAME"; +/** This field is experimental. It will likely be removed in the future without any notice. +It stores type information for generic types and methods as well as type information +for members and locals where the type either contains a type parameter reference or +an instantiated type reference. */ +public static final String GENERIC_SIGNATURE = "GENERIC_SIGNATURE"; + /** This property contains a hash value in the form of a string. Hashes can be used to summarize data, e.g., to summarize the contents of source files or sub graphs. Such summaries are useful @@ -297,6 +303,7 @@ This means that the offset must be measured in utf16 encoding (i.e. neither in add(EXPLICIT_AS); add(FILENAME); add(FULL_NAME); +add(GENERIC_SIGNATURE); add(HASH); add(IMPORTED_AS); add(IMPORTED_ENTITY); diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/accessors/Accessors.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/accessors/Accessors.scala index 02195f058..87130a2ae 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/accessors/Accessors.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/accessors/Accessors.scala @@ -99,128 +99,132 @@ object Accessors { def fullName: String = flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 22, node.seq(), "": String) } + final class AccessPropertyGenericSignature(val node: nodes.StoredNode) extends AnyVal { + def genericSignature: String = + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 23, node.seq(), "": String) + } final class AccessPropertyHash(val node: nodes.StoredNode) extends AnyVal { def hash: Option[String] = - flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 23, node.seq) + flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 24, node.seq) } final class AccessPropertyImportedAs(val node: nodes.StoredNode) extends AnyVal { def importedAs: Option[String] = - flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 24, node.seq) + flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 25, node.seq) } final class AccessPropertyImportedEntity(val node: nodes.StoredNode) extends AnyVal { def importedEntity: Option[String] = - flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 25, node.seq) + flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 26, node.seq) } final class AccessPropertyIndex(val node: nodes.StoredNode) extends AnyVal { - def index: Int = flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 26, node.seq(), -1: Int) + def index: Int = flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 27, node.seq(), -1: Int) } final class AccessPropertyInheritsFromTypeFullName(val node: nodes.StoredNode) extends AnyVal { def inheritsFromTypeFullName: IndexedSeq[String] = - flatgraph.Accessors.getNodePropertyMulti[String](node.graph, node.nodeKind, 27, node.seq) + flatgraph.Accessors.getNodePropertyMulti[String](node.graph, node.nodeKind, 28, node.seq) } final class AccessPropertyIsExplicit(val node: nodes.StoredNode) extends AnyVal { def isExplicit: Option[Boolean] = - flatgraph.Accessors.getNodePropertyOption[Boolean](node.graph, node.nodeKind, 28, node.seq) + flatgraph.Accessors.getNodePropertyOption[Boolean](node.graph, node.nodeKind, 29, node.seq) } final class AccessPropertyIsExternal(val node: nodes.StoredNode) extends AnyVal { def isExternal: Boolean = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 29, node.seq(), false: Boolean) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 30, node.seq(), false: Boolean) } final class AccessPropertyIsVariadic(val node: nodes.StoredNode) extends AnyVal { def isVariadic: Boolean = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 30, node.seq(), false: Boolean) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 31, node.seq(), false: Boolean) } final class AccessPropertyIsWildcard(val node: nodes.StoredNode) extends AnyVal { def isWildcard: Option[Boolean] = - flatgraph.Accessors.getNodePropertyOption[Boolean](node.graph, node.nodeKind, 31, node.seq) + flatgraph.Accessors.getNodePropertyOption[Boolean](node.graph, node.nodeKind, 32, node.seq) } final class AccessPropertyKey(val node: nodes.StoredNode) extends AnyVal { def key: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 32, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 33, node.seq(), "": String) } final class AccessPropertyLanguage(val node: nodes.StoredNode) extends AnyVal { def language: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 33, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 34, node.seq(), "": String) } final class AccessPropertyLineNumber(val node: nodes.StoredNode) extends AnyVal { def lineNumber: Option[Int] = - flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 34, node.seq) + flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 35, node.seq) } final class AccessPropertyLineNumberEnd(val node: nodes.StoredNode) extends AnyVal { def lineNumberEnd: Option[Int] = - flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 35, node.seq) + flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 36, node.seq) } final class AccessPropertyMethodFullName(val node: nodes.StoredNode) extends AnyVal { def methodFullName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 36, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 37, node.seq(), "": String) } final class AccessPropertyMethodShortName(val node: nodes.StoredNode) extends AnyVal { def methodShortName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 37, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 38, node.seq(), "": String) } final class AccessPropertyModifierType(val node: nodes.StoredNode) extends AnyVal { def modifierType: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 38, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 39, node.seq(), "": String) } final class AccessPropertyName(val node: nodes.StoredNode) extends AnyVal { def name: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 39, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 40, node.seq(), "": String) } final class AccessPropertyNodeLabel(val node: nodes.StoredNode) extends AnyVal { def nodeLabel: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 40, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 41, node.seq(), "": String) } final class AccessPropertyOffset(val node: nodes.StoredNode) extends AnyVal { - def offset: Option[Int] = flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 41, node.seq) + def offset: Option[Int] = flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 42, node.seq) } final class AccessPropertyOffsetEnd(val node: nodes.StoredNode) extends AnyVal { - def offsetEnd: Option[Int] = flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 42, node.seq) + def offsetEnd: Option[Int] = flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 43, node.seq) } final class AccessPropertyOrder(val node: nodes.StoredNode) extends AnyVal { - def order: Int = flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 43, node.seq(), -1: Int) + def order: Int = flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 44, node.seq(), -1: Int) } final class AccessPropertyOverlays(val node: nodes.StoredNode) extends AnyVal { def overlays: IndexedSeq[String] = - flatgraph.Accessors.getNodePropertyMulti[String](node.graph, node.nodeKind, 44, node.seq) + flatgraph.Accessors.getNodePropertyMulti[String](node.graph, node.nodeKind, 45, node.seq) } final class AccessPropertyPackageName(val node: nodes.StoredNode) extends AnyVal { def packageName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 45, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 46, node.seq(), "": String) } final class AccessPropertyParserTypeName(val node: nodes.StoredNode) extends AnyVal { def parserTypeName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 46, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 47, node.seq(), "": String) } final class AccessPropertyPossibleTypes(val node: nodes.StoredNode) extends AnyVal { def possibleTypes: IndexedSeq[String] = - flatgraph.Accessors.getNodePropertyMulti[String](node.graph, node.nodeKind, 47, node.seq) + flatgraph.Accessors.getNodePropertyMulti[String](node.graph, node.nodeKind, 48, node.seq) } final class AccessPropertyRoot(val node: nodes.StoredNode) extends AnyVal { def root: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 48, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 49, node.seq(), "": String) } final class AccessPropertySignature(val node: nodes.StoredNode) extends AnyVal { def signature: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 49, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 50, node.seq(), "": String) } final class AccessPropertySymbol(val node: nodes.StoredNode) extends AnyVal { def symbol: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 50, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 51, node.seq(), "": String) } final class AccessPropertyTypeDeclFullName(val node: nodes.StoredNode) extends AnyVal { def typeDeclFullName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 51, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 52, node.seq(), "": String) } final class AccessPropertyTypeFullName(val node: nodes.StoredNode) extends AnyVal { def typeFullName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 52, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 53, node.seq(), "": String) } final class AccessPropertyValue(val node: nodes.StoredNode) extends AnyVal { - def value: String = flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 53, node.seq(), "": String) + def value: String = flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 54, node.seq(), "": String) } final class AccessPropertyVersion(val node: nodes.StoredNode) extends AnyVal { def version: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 54, node.seq(), "": String) + flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 55, node.seq(), "": String) } /* accessors for concrete stored nodes end */ @@ -466,6 +470,10 @@ object Accessors { case stored: nodes.StoredNode => new AccessPropertyDynamicTypeHintFullName(stored).dynamicTypeHintFullName case newNode: nodes.NewLocal => newNode.dynamicTypeHintFullName } + def genericSignature: String = node match { + case stored: nodes.StoredNode => new AccessPropertyGenericSignature(stored).genericSignature + case newNode: nodes.NewLocal => newNode.genericSignature + } def possibleTypes: IndexedSeq[String] = node match { case stored: nodes.StoredNode => new AccessPropertyPossibleTypes(stored).possibleTypes case newNode: nodes.NewLocal => newNode.possibleTypes @@ -526,6 +534,10 @@ object Accessors { case stored: nodes.StoredNode => new AccessPropertyDynamicTypeHintFullName(stored).dynamicTypeHintFullName case newNode: nodes.NewMember => newNode.dynamicTypeHintFullName } + def genericSignature: String = node match { + case stored: nodes.StoredNode => new AccessPropertyGenericSignature(stored).genericSignature + case newNode: nodes.NewMember => newNode.genericSignature + } def possibleTypes: IndexedSeq[String] = node match { case stored: nodes.StoredNode => new AccessPropertyPossibleTypes(stored).possibleTypes case newNode: nodes.NewMember => newNode.possibleTypes @@ -578,6 +590,10 @@ object Accessors { case stored: nodes.StoredNode => new AccessPropertyFullName(stored).fullName case newNode: nodes.NewMethod => newNode.fullName } + def genericSignature: String = node match { + case stored: nodes.StoredNode => new AccessPropertyGenericSignature(stored).genericSignature + case newNode: nodes.NewMethod => newNode.genericSignature + } def hash: Option[String] = node match { case stored: nodes.StoredNode => new AccessPropertyHash(stored).hash case newNode: nodes.NewMethod => newNode.hash @@ -767,6 +783,10 @@ object Accessors { case stored: nodes.StoredNode => new AccessPropertyFullName(stored).fullName case newNode: nodes.NewTypeDecl => newNode.fullName } + def genericSignature: String = node match { + case stored: nodes.StoredNode => new AccessPropertyGenericSignature(stored).genericSignature + case newNode: nodes.NewTypeDecl => newNode.genericSignature + } def inheritsFromTypeFullName: IndexedSeq[String] = node match { case stored: nodes.StoredNode => new AccessPropertyInheritsFromTypeFullName(stored).inheritsFromTypeFullName case newNode: nodes.NewTypeDecl => newNode.inheritsFromTypeFullName @@ -948,6 +968,9 @@ trait ConcreteStoredConversions extends ConcreteBaseConversions { implicit def accessPropertyFullName( node: nodes.StoredNode & nodes.StaticType[nodes.HasFullNameEMT] ): AccessPropertyFullName = new AccessPropertyFullName(node) + implicit def accessPropertyGenericSignature( + node: nodes.StoredNode & nodes.StaticType[nodes.HasGenericSignatureEMT] + ): AccessPropertyGenericSignature = new AccessPropertyGenericSignature(node) implicit def accessPropertyHash(node: nodes.StoredNode & nodes.StaticType[nodes.HasHashEMT]): AccessPropertyHash = new AccessPropertyHash(node) implicit def accessPropertyImportedAs( diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Annotation.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Annotation.scala index c3cc0c982..b139f6519 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Annotation.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Annotation.scala @@ -98,15 +98,15 @@ object Annotation { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1643,9 +1643,9 @@ class NewAnnotation extends NewNode(0.toShort) with AnnotationBase with Expressi interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 22, 1) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationLiteral.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationLiteral.scala index bfb932828..011afdb85 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationLiteral.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationLiteral.scala @@ -87,15 +87,15 @@ object AnnotationLiteral { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1601,9 +1601,9 @@ class NewAnnotationLiteral extends NewNode(1.toShort) with AnnotationLiteralBase interface.countProperty(this, 2, argumentName.size) interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameter.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameter.scala index 604b563eb..977df2e45 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameter.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameter.scala @@ -53,12 +53,12 @@ object AnnotationParameter { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val Code = "" @@ -1468,8 +1468,8 @@ class NewAnnotationParameter extends NewNode(2.toShort) with AnnotationParameter override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameterAssign.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameterAssign.scala index 0b81c2eb6..dade7dce1 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameterAssign.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameterAssign.scala @@ -56,12 +56,12 @@ object AnnotationParameterAssign { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val Code = "" @@ -1471,8 +1471,8 @@ class NewAnnotationParameterAssign extends NewNode(3.toShort) with AnnotationPar override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ArrayInitializer.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ArrayInitializer.scala index 4db8f7c2c..7ed8119ae 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ArrayInitializer.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ArrayInitializer.scala @@ -83,12 +83,12 @@ object ArrayInitializer { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1564,8 +1564,8 @@ class NewArrayInitializer extends NewNode(4.toShort) with ArrayInitializerBase w interface.countProperty(this, 2, argumentName.size) interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/BaseTypes.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/BaseTypes.scala index 236347e03..6091a2c98 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/BaseTypes.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/BaseTypes.scala @@ -234,6 +234,11 @@ trait HasFilenameEMT */ trait HasFullNameEMT +/** Node types with this marker trait are guaranteed to have the GENERIC_SIGNATURE property. EMT stands for: "erased + * marker trait", it exists only at compile time in order to improve type safety. + */ +trait HasGenericSignatureEMT + /** Node types with this marker trait are guaranteed to have the HASH property. EMT stands for: "erased marker trait", * it exists only at compile time in order to improve type safety. */ diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Binding.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Binding.scala index c32f1369b..babe0c210 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Binding.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Binding.scala @@ -45,17 +45,17 @@ object Binding { /** The FULL_NAME of a method. Used to link CALL and METHOD nodes. It is required to have exactly one METHOD node * for each METHOD_FULL_NAME */ - val MethodFullName = flatgraph.SinglePropertyKey[String](kind = 36, name = "METHOD_FULL_NAME", default = "") + val MethodFullName = flatgraph.SinglePropertyKey[String](kind = 37, name = "METHOD_FULL_NAME", default = "") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** The method signature encodes the types of parameters in a string. The string SHOULD be human readable and * suitable for differentiating methods with different parameter types sufficiently to allow for resolving of * function overloading. The present specification does not enforce a strict format for the signature, that is, it * can be chosen by the frontend implementor to fit the source language. */ - val Signature = flatgraph.SinglePropertyKey[String](kind = 49, name = "SIGNATURE", default = "") + val Signature = flatgraph.SinglePropertyKey[String](kind = 50, name = "SIGNATURE", default = "") } object PropertyDefaults { val MethodFullName = "" @@ -193,9 +193,9 @@ class NewBinding extends NewNode(5.toShort) with BindingBase { def name(value: String): this.type = { this.name = value; this } def signature(value: String): this.type = { this.signature = value; this } override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.countProperty(this, 36, 1) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 49, 1) + interface.countProperty(this, 37, 1) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 50, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Block.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Block.scala index c9904d0cc..a142e3af7 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Block.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Block.scala @@ -110,23 +110,23 @@ object Block { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1697,10 +1697,10 @@ class NewBlock extends NewNode(6.toShort) with BlockBase with ExpressionNew { interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 18, dynamicTypeHintFullName.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 47, possibleTypes.size) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 48, possibleTypes.size) + interface.countProperty(this, 53, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Call.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Call.scala index af6047ddd..1ec172eb4 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Call.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Call.scala @@ -146,38 +146,38 @@ object Call { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** The FULL_NAME of a method. Used to link CALL and METHOD nodes. It is required to have exactly one METHOD node * for each METHOD_FULL_NAME */ - val MethodFullName = flatgraph.SinglePropertyKey[String](kind = 36, name = "METHOD_FULL_NAME", default = "") + val MethodFullName = flatgraph.SinglePropertyKey[String](kind = 37, name = "METHOD_FULL_NAME", default = "") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** The method signature encodes the types of parameters in a string. The string SHOULD be human readable and * suitable for differentiating methods with different parameter types sufficiently to allow for resolving of * function overloading. The present specification does not enforce a strict format for the signature, that is, it * can be chosen by the frontend implementor to fit the source language. */ - val Signature = flatgraph.SinglePropertyKey[String](kind = 49, name = "SIGNATURE", default = "") + val Signature = flatgraph.SinglePropertyKey[String](kind = 50, name = "SIGNATURE", default = "") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1870,13 +1870,13 @@ class NewCall extends NewNode(7.toShort) with CallBase with CallReprNew with Exp interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 17, 1) interface.countProperty(this, 18, dynamicTypeHintFullName.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 36, 1) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 47, possibleTypes.size) - interface.countProperty(this, 49, 1) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 37, 1) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 48, possibleTypes.size) + interface.countProperty(this, 50, 1) + interface.countProperty(this, 53, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Comment.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Comment.scala index 9ae374802..9243f91a7 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Comment.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Comment.scala @@ -68,12 +68,12 @@ object Comment { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val Code = "" @@ -1514,8 +1514,8 @@ class NewComment extends NewNode(9.toShort) with CommentBase with AstNodeNew { interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 21, 1) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ConfigFile.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ConfigFile.scala index 6d07924bd..dfc25adda 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ConfigFile.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ConfigFile.scala @@ -40,7 +40,7 @@ object ConfigFile { val Content = flatgraph.SinglePropertyKey[String](kind = 14, name = "CONTENT", default = "") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") } object PropertyDefaults { val Content = "" @@ -149,7 +149,7 @@ class NewConfigFile extends NewNode(10.toShort) with ConfigFileBase { def name(value: String): this.type = { this.name = value; this } override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { interface.countProperty(this, 14, 1) - interface.countProperty(this, 39, 1) + interface.countProperty(this, 40, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ControlStructure.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ControlStructure.scala index 9dab4190c..eb52ecfef 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ControlStructure.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/ControlStructure.scala @@ -101,15 +101,15 @@ object ControlStructure { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** AST node type name emitted by parser. */ - val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 46, name = "PARSER_TYPE_NAME", default = "") + val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 47, name = "PARSER_TYPE_NAME", default = "") } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1646,9 +1646,9 @@ class NewControlStructure extends NewNode(11.toShort) with ControlStructureBase interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 15, 1) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 46, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 47, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Dependency.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Dependency.scala index 5f580ef26..33517b12c 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Dependency.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Dependency.scala @@ -42,12 +42,12 @@ object Dependency { val DependencyGroupId = flatgraph.OptionalPropertyKey[String](kind = 16, name = "DEPENDENCY_GROUP_ID") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** A version, given as a string. Used, for example, in the META_DATA node to indicate which version of the CPG spec * this CPG conforms to */ - val Version = flatgraph.SinglePropertyKey[String](kind = 54, name = "VERSION", default = "") + val Version = flatgraph.SinglePropertyKey[String](kind = 55, name = "VERSION", default = "") } object PropertyDefaults { val Name = "" @@ -190,8 +190,8 @@ class NewDependency extends NewNode(12.toShort) with DependencyBase { def version(value: String): this.type = { this.version = value; this } override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { interface.countProperty(this, 16, dependencyGroupId.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 54, 1) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 55, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/FieldIdentifier.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/FieldIdentifier.scala index be3312d20..700521db7 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/FieldIdentifier.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/FieldIdentifier.scala @@ -100,12 +100,12 @@ object FieldIdentifier { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1612,8 +1612,8 @@ class NewFieldIdentifier extends NewNode(13.toShort) with FieldIdentifierBase wi interface.countProperty(this, 5, 1) interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/File.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/File.scala index 2e909c8fe..8385369fc 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/File.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/File.scala @@ -79,19 +79,19 @@ object File { * already been analyzed in incremental analysis pipelines. This property is optional to allow its calculation to * be deferred or skipped if the hash is not needed. */ - val Hash = flatgraph.OptionalPropertyKey[String](kind = 23, name = "HASH") + val Hash = flatgraph.OptionalPropertyKey[String](kind = 24, name = "HASH") /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val Code = "" @@ -1596,10 +1596,10 @@ class NewFile extends NewNode(14.toShort) with FileBase with AstNodeNew { interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 14, 1) - interface.countProperty(this, 23, hash.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 24, hash.size) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Finding.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Finding.scala index b001087ff..47c76d562 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Finding.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Finding.scala @@ -35,9 +35,9 @@ class Finding(graph_4762: flatgraph.Graph, seq_4762: Int) extends StoredNode(graph_4762, 15.toShort, seq_4762) with FindingBase with StaticType[FindingEMT] { - def evidence: IndexedSeq[StoredNode] = flatgraph.Accessors.getNodePropertyMulti[StoredNode](graph, nodeKind, 55, seq) + def evidence: IndexedSeq[StoredNode] = flatgraph.Accessors.getNodePropertyMulti[StoredNode](graph, nodeKind, 56, seq) def keyValuePairs: IndexedSeq[KeyValuePair] = - flatgraph.Accessors.getNodePropertyMulti[KeyValuePair](graph, nodeKind, 56, seq) + flatgraph.Accessors.getNodePropertyMulti[KeyValuePair](graph, nodeKind, 57, seq) override def productElementName(n: Int): String = n match { @@ -146,9 +146,9 @@ class NewFinding extends NewNode(15.toShort) with FindingBase { this.keyValuePairs = value.iterator.to(ArraySeq); this } override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.countProperty(this, 55, evidence.size) + interface.countProperty(this, 56, evidence.size) evidence.foreach(interface.visitContainedNode) - interface.countProperty(this, 56, keyValuePairs.size) + interface.countProperty(this, 57, keyValuePairs.size) keyValuePairs.foreach(interface.visitContainedNode) } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Identifier.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Identifier.scala index c09b9d99b..e196c211c 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Identifier.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Identifier.scala @@ -115,26 +115,26 @@ object Identifier { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1735,11 +1735,11 @@ class NewIdentifier extends NewNode(16.toShort) with IdentifierBase with Express interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 18, dynamicTypeHintFullName.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 47, possibleTypes.size) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 48, possibleTypes.size) + interface.countProperty(this, 53, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Import.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Import.scala index c5f6a2029..e28748478 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Import.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Import.scala @@ -100,31 +100,31 @@ object Import { * identical to the class name. But e.g. for a Kotlin import like "import java.nio.ByteBuffer as BBuffer" this * would be "BBuffer". This property is ignored if IS_WILDCARD is true. */ - val ImportedAs = flatgraph.OptionalPropertyKey[String](kind = 24, name = "IMPORTED_AS") + val ImportedAs = flatgraph.OptionalPropertyKey[String](kind = 25, name = "IMPORTED_AS") /** The identifying string of the imported entity. For a Java import like "import java.nio.ByteBuffer;" this would * be "java.nio.ByteBuffer". */ - val ImportedEntity = flatgraph.OptionalPropertyKey[String](kind = 25, name = "IMPORTED_ENTITY") + val ImportedEntity = flatgraph.OptionalPropertyKey[String](kind = 26, name = "IMPORTED_ENTITY") /** Specifies whether this is an explicit import. Most languages have implicit default imports of some standard * library elements and this flag is used to distinguish those from explicit imports found in the code base. */ - val IsExplicit = flatgraph.OptionalPropertyKey[Boolean](kind = 28, name = "IS_EXPLICIT") + val IsExplicit = flatgraph.OptionalPropertyKey[Boolean](kind = 29, name = "IS_EXPLICIT") /** Specifies whether this is a wildcard import. For a Java import like "import java.nio.*;" IS_WILDCARD would be * "true" and IMPORTED_ENTITY would be "java.nio". For wildcard imports the IMPORTED_AS property is ignored. */ - val IsWildcard = flatgraph.OptionalPropertyKey[Boolean](kind = 31, name = "IS_WILDCARD") + val IsWildcard = flatgraph.OptionalPropertyKey[Boolean](kind = 32, name = "IS_WILDCARD") /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val Code = "" @@ -1705,12 +1705,12 @@ class NewImport extends NewNode(17.toShort) with ImportBase with AstNodeNew { interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 20, explicitAs.size) - interface.countProperty(this, 24, importedAs.size) - interface.countProperty(this, 25, importedEntity.size) - interface.countProperty(this, 28, isExplicit.size) - interface.countProperty(this, 31, isWildcard.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 25, importedAs.size) + interface.countProperty(this, 26, importedEntity.size) + interface.countProperty(this, 29, isExplicit.size) + interface.countProperty(this, 32, isWildcard.size) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/JumpLabel.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/JumpLabel.scala index 1f27e43ef..79a2a8e56 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/JumpLabel.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/JumpLabel.scala @@ -61,18 +61,18 @@ object JumpLabel { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** AST node type name emitted by parser. */ - val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 46, name = "PARSER_TYPE_NAME", default = "") + val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 47, name = "PARSER_TYPE_NAME", default = "") } object PropertyDefaults { val Code = "" @@ -1542,10 +1542,10 @@ class NewJumpLabel extends NewNode(18.toShort) with JumpLabelBase with AstNodeNe override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 46, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 47, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/JumpTarget.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/JumpTarget.scala index b944ca345..cf79ce09e 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/JumpTarget.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/JumpTarget.scala @@ -80,18 +80,18 @@ object JumpTarget { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** AST node type name emitted by parser. */ - val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 46, name = "PARSER_TYPE_NAME", default = "") + val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 47, name = "PARSER_TYPE_NAME", default = "") } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1592,10 +1592,10 @@ class NewJumpTarget extends NewNode(19.toShort) with JumpTargetBase with AstNode interface.countProperty(this, 1, 1) interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 46, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 47, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/KeyValuePair.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/KeyValuePair.scala index de213d207..3ca48e5c7 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/KeyValuePair.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/KeyValuePair.scala @@ -33,10 +33,10 @@ object KeyValuePair { object Properties { /** This property denotes a key of a key-value pair. */ - val Key = flatgraph.SinglePropertyKey[String](kind = 32, name = "KEY", default = "") + val Key = flatgraph.SinglePropertyKey[String](kind = 33, name = "KEY", default = "") /** This property denotes a string value as used in a key-value pair. */ - val Value = flatgraph.SinglePropertyKey[String](kind = 53, name = "VALUE", default = "") + val Value = flatgraph.SinglePropertyKey[String](kind = 54, name = "VALUE", default = "") } object PropertyDefaults { val Key = "" @@ -144,8 +144,8 @@ class NewKeyValuePair extends NewNode(20.toShort) with KeyValuePairBase { def key(value: String): this.type = { this.key = value; this } def value(value: String): this.type = { this.value = value; this } override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.countProperty(this, 32, 1) - interface.countProperty(this, 53, 1) + interface.countProperty(this, 33, 1) + interface.countProperty(this, 54, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Literal.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Literal.scala index d306d0e4b..03b4da58a 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Literal.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Literal.scala @@ -110,23 +110,23 @@ object Literal { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1697,10 +1697,10 @@ class NewLiteral extends NewNode(21.toShort) with LiteralBase with ExpressionNew interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 18, dynamicTypeHintFullName.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 47, possibleTypes.size) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 48, possibleTypes.size) + interface.countProperty(this, 53, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Local.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Local.scala index fdb97232e..8db868d01 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Local.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Local.scala @@ -13,6 +13,7 @@ trait LocalEMT with DeclarationEMT with HasClosureBindingIdEMT with HasDynamicTypeHintFullNameEMT + with HasGenericSignatureEMT with HasPossibleTypesEMT with HasTypeFullNameEMT @@ -26,6 +27,7 @@ trait LocalBase extends AbstractNode with AstNodeBase with DeclarationBase with this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) + if (("": String) != this.genericSignature) res.put("GENERIC_SIGNATURE", this.genericSignature) this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } if (("": String) != this.name) res.put("NAME", this.name) if ((-1: Int) != this.order) res.put("ORDER", this.order) @@ -55,6 +57,12 @@ object Local { /** Type hint for the dynamic type. These are observed to be verifiable at runtime. */ val DynamicTypeHintFullName = "DYNAMIC_TYPE_HINT_FULL_NAME" + /** This field is experimental. It will likely be removed in the future without any notice. It stores type + * information for generic types and methods as well as type information for members and locals where the type + * either contains a type parameter reference or an instantiated type reference. + */ + val GenericSignature = "GENERIC_SIGNATURE" + /** This optional field provides the line number of the program construct represented by the node. */ val LineNumber = "LINE_NUMBER" @@ -95,34 +103,42 @@ object Local { /** Type hint for the dynamic type. These are observed to be verifiable at runtime. */ val DynamicTypeHintFullName = flatgraph.MultiPropertyKey[String](kind = 18, name = "DYNAMIC_TYPE_HINT_FULL_NAME") + /** This field is experimental. It will likely be removed in the future without any notice. It stores type + * information for generic types and methods as well as type information for members and locals where the type + * either contains a type parameter reference or an instantiated type reference. + */ + val GenericSignature = + flatgraph.SinglePropertyKey[String](kind = 23, name = "GENERIC_SIGNATURE", default = "") + /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { - val Code = "" - val Name = "" - val Order = -1: Int - val TypeFullName = "" + val Code = "" + val GenericSignature = "" + val Name = "" + val Order = -1: Int + val TypeFullName = "" } } @@ -139,11 +155,12 @@ class Local(graph_4762: flatgraph.Graph, seq_4762: Int) case 1 => "code" case 2 => "columnNumber" case 3 => "dynamicTypeHintFullName" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case 7 => "possibleTypes" - case 8 => "typeFullName" + case 4 => "genericSignature" + case 5 => "lineNumber" + case 6 => "name" + case 7 => "order" + case 8 => "possibleTypes" + case 9 => "typeFullName" case _ => "" } @@ -153,16 +170,17 @@ class Local(graph_4762: flatgraph.Graph, seq_4762: Int) case 1 => this.code case 2 => this.columnNumber case 3 => this.dynamicTypeHintFullName - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case 7 => this.possibleTypes - case 8 => this.typeFullName + case 4 => this.genericSignature + case 5 => this.lineNumber + case 6 => this.name + case 7 => this.order + case 8 => this.possibleTypes + case 9 => this.typeFullName case _ => null } override def productPrefix = "Local" - override def productArity = 9 + override def productArity = 10 override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Local] } @@ -1514,6 +1532,31 @@ object NewLocal { } } } + object NewNodeInserter_Local_genericSignature extends flatgraph.NewNodePropertyInsertionHelper { + override def insertNewNodeProperties( + newNodes: mutable.ArrayBuffer[flatgraph.DNode], + dst: AnyRef, + offsets: Array[Int] + ): Unit = { + if (newNodes.isEmpty) return + val dstCast = dst.asInstanceOf[Array[String]] + val seq = newNodes.head.storedRef.get.seq() + var offset = offsets(seq) + var idx = 0 + while (idx < newNodes.length) { + val nn = newNodes(idx) + nn match { + case generated: NewLocal => + dstCast(offset) = generated.genericSignature + offset += 1 + case _ => + } + assert(seq + idx == nn.storedRef.get.seq(), "internal consistency check") + idx += 1 + offsets(idx + seq) = offset + } + } + } object NewNodeInserter_Local_lineNumber extends flatgraph.NewNodePropertyInsertionHelper { override def insertNewNodeProperties( newNodes: mutable.ArrayBuffer[flatgraph.DNode], @@ -1663,6 +1706,7 @@ class NewLocal extends NewNode(22.toShort) with LocalBase with AstNodeNew with D var code: String = "": String var columnNumber: Option[Int] = None var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty + var genericSignature: String = "": String var lineNumber: Option[Int] = None var name: String = "": String var order: Int = -1: Int @@ -1676,6 +1720,7 @@ class NewLocal extends NewNode(22.toShort) with LocalBase with AstNodeNew with D def dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); this } + def genericSignature(value: String): this.type = { this.genericSignature = value; this } def lineNumber(value: Int): this.type = { this.lineNumber = Option(value); this } def lineNumber(value: Option[Int]): this.type = { this.lineNumber = value; this } def name(value: String): this.type = { this.name = value; this } @@ -1687,11 +1732,12 @@ class NewLocal extends NewNode(22.toShort) with LocalBase with AstNodeNew with D interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 18, dynamicTypeHintFullName.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 47, possibleTypes.size) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 23, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 48, possibleTypes.size) + interface.countProperty(this, 53, 1) } override def copy: this.type = { @@ -1700,6 +1746,7 @@ class NewLocal extends NewNode(22.toShort) with LocalBase with AstNodeNew with D newInstance.code = this.code newInstance.columnNumber = this.columnNumber newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName + newInstance.genericSignature = this.genericSignature newInstance.lineNumber = this.lineNumber newInstance.name = this.name newInstance.order = this.order @@ -1714,11 +1761,12 @@ class NewLocal extends NewNode(22.toShort) with LocalBase with AstNodeNew with D case 1 => "code" case 2 => "columnNumber" case 3 => "dynamicTypeHintFullName" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case 7 => "possibleTypes" - case 8 => "typeFullName" + case 4 => "genericSignature" + case 5 => "lineNumber" + case 6 => "name" + case 7 => "order" + case 8 => "possibleTypes" + case 9 => "typeFullName" case _ => "" } @@ -1728,15 +1776,16 @@ class NewLocal extends NewNode(22.toShort) with LocalBase with AstNodeNew with D case 1 => this.code case 2 => this.columnNumber case 3 => this.dynamicTypeHintFullName - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case 7 => this.possibleTypes - case 8 => this.typeFullName + case 4 => this.genericSignature + case 5 => this.lineNumber + case 6 => this.name + case 7 => this.order + case 8 => this.possibleTypes + case 9 => this.typeFullName case _ => null } override def productPrefix = "NewLocal" - override def productArity = 9 + override def productArity = 10 override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewLocal] } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Location.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Location.scala index 1b95ae646..2fcd0351c 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Location.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Location.scala @@ -84,17 +84,17 @@ object Location { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** The FULL_NAME of a method. Used to link CALL and METHOD nodes. It is required to have exactly one METHOD node * for each METHOD_FULL_NAME */ - val MethodFullName = flatgraph.SinglePropertyKey[String](kind = 36, name = "METHOD_FULL_NAME", default = "") + val MethodFullName = flatgraph.SinglePropertyKey[String](kind = 37, name = "METHOD_FULL_NAME", default = "") val MethodShortName = - flatgraph.SinglePropertyKey[String](kind = 37, name = "METHOD_SHORT_NAME", default = "") - val NodeLabel = flatgraph.SinglePropertyKey[String](kind = 40, name = "NODE_LABEL", default = "") - val PackageName = flatgraph.SinglePropertyKey[String](kind = 45, name = "PACKAGE_NAME", default = "") - val Symbol = flatgraph.SinglePropertyKey[String](kind = 50, name = "SYMBOL", default = "") + flatgraph.SinglePropertyKey[String](kind = 38, name = "METHOD_SHORT_NAME", default = "") + val NodeLabel = flatgraph.SinglePropertyKey[String](kind = 41, name = "NODE_LABEL", default = "") + val PackageName = flatgraph.SinglePropertyKey[String](kind = 46, name = "PACKAGE_NAME", default = "") + val Symbol = flatgraph.SinglePropertyKey[String](kind = 51, name = "SYMBOL", default = "") } object PropertyDefaults { val ClassName = "" @@ -112,7 +112,7 @@ class Location(graph_4762: flatgraph.Graph, seq_4762: Int) extends StoredNode(graph_4762, 23.toShort, seq_4762) with LocationBase with StaticType[LocationEMT] { - def node: Option[StoredNode] = flatgraph.Accessors.getNodePropertyOption[StoredNode](graph, nodeKind, 57, seq) + def node: Option[StoredNode] = flatgraph.Accessors.getNodePropertyOption[StoredNode](graph, nodeKind, 58, seq) override def productElementName(n: Int): String = n match { @@ -457,13 +457,13 @@ class NewLocation extends NewNode(23.toShort) with LocationBase { interface.countProperty(this, 6, 1) interface.countProperty(this, 7, 1) interface.countProperty(this, 21, 1) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 36, 1) + interface.countProperty(this, 35, lineNumber.size) interface.countProperty(this, 37, 1) - interface.countProperty(this, 40, 1) - interface.countProperty(this, 45, 1) - interface.countProperty(this, 50, 1) - interface.countProperty(this, 57, node.size) + interface.countProperty(this, 38, 1) + interface.countProperty(this, 41, 1) + interface.countProperty(this, 46, 1) + interface.countProperty(this, 51, 1) + interface.countProperty(this, 58, node.size) node.foreach(interface.visitContainedNode) } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Member.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Member.scala index f6e3b5168..6a67f6bd5 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Member.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Member.scala @@ -14,6 +14,7 @@ trait MemberEMT with HasAstParentFullNameEMT with HasAstParentTypeEMT with HasDynamicTypeHintFullNameEMT + with HasGenericSignatureEMT with HasPossibleTypesEMT with HasTypeFullNameEMT @@ -28,6 +29,7 @@ trait MemberBase extends AbstractNode with AstNodeBase with DeclarationBase with this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) + if (("": String) != this.genericSignature) res.put("GENERIC_SIGNATURE", this.genericSignature) this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } if (("": String) != this.name) res.put("NAME", this.name) if ((-1: Int) != this.order) res.put("ORDER", this.order) @@ -60,6 +62,12 @@ object Member { /** Type hint for the dynamic type. These are observed to be verifiable at runtime. */ val DynamicTypeHintFullName = "DYNAMIC_TYPE_HINT_FULL_NAME" + /** This field is experimental. It will likely be removed in the future without any notice. It stores type + * information for generic types and methods as well as type information for members and locals where the type + * either contains a type parameter reference or an instantiated type reference. + */ + val GenericSignature = "GENERIC_SIGNATURE" + /** This optional field provides the line number of the program construct represented by the node. */ val LineNumber = "LINE_NUMBER" @@ -104,33 +112,41 @@ object Member { /** Type hint for the dynamic type. These are observed to be verifiable at runtime. */ val DynamicTypeHintFullName = flatgraph.MultiPropertyKey[String](kind = 18, name = "DYNAMIC_TYPE_HINT_FULL_NAME") + /** This field is experimental. It will likely be removed in the future without any notice. It stores type + * information for generic types and methods as well as type information for members and locals where the type + * either contains a type parameter reference or an instantiated type reference. + */ + val GenericSignature = + flatgraph.SinglePropertyKey[String](kind = 23, name = "GENERIC_SIGNATURE", default = "") + /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { val AstParentFullName = "" val AstParentType = "" val Code = "" + val GenericSignature = "" val Name = "" val Order = -1: Int val TypeFullName = "" @@ -146,36 +162,38 @@ class Member(graph_4762: flatgraph.Graph, seq_4762: Int) override def productElementName(n: Int): String = n match { - case 0 => "astParentFullName" - case 1 => "astParentType" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "name" - case 7 => "order" - case 8 => "possibleTypes" - case 9 => "typeFullName" - case _ => "" + case 0 => "astParentFullName" + case 1 => "astParentType" + case 2 => "code" + case 3 => "columnNumber" + case 4 => "dynamicTypeHintFullName" + case 5 => "genericSignature" + case 6 => "lineNumber" + case 7 => "name" + case 8 => "order" + case 9 => "possibleTypes" + case 10 => "typeFullName" + case _ => "" } override def productElement(n: Int): Any = n match { - case 0 => this.astParentFullName - case 1 => this.astParentType - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.name - case 7 => this.order - case 8 => this.possibleTypes - case 9 => this.typeFullName - case _ => null + case 0 => this.astParentFullName + case 1 => this.astParentType + case 2 => this.code + case 3 => this.columnNumber + case 4 => this.dynamicTypeHintFullName + case 5 => this.genericSignature + case 6 => this.lineNumber + case 7 => this.name + case 8 => this.order + case 9 => this.possibleTypes + case 10 => this.typeFullName + case _ => null } override def productPrefix = "Member" - override def productArity = 10 + override def productArity = 11 override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Member] } @@ -1548,6 +1566,31 @@ object NewMember { } } } + object NewNodeInserter_Member_genericSignature extends flatgraph.NewNodePropertyInsertionHelper { + override def insertNewNodeProperties( + newNodes: mutable.ArrayBuffer[flatgraph.DNode], + dst: AnyRef, + offsets: Array[Int] + ): Unit = { + if (newNodes.isEmpty) return + val dstCast = dst.asInstanceOf[Array[String]] + val seq = newNodes.head.storedRef.get.seq() + var offset = offsets(seq) + var idx = 0 + while (idx < newNodes.length) { + val nn = newNodes(idx) + nn match { + case generated: NewMember => + dstCast(offset) = generated.genericSignature + offset += 1 + case _ => + } + assert(seq + idx == nn.storedRef.get.seq(), "internal consistency check") + idx += 1 + offsets(idx + seq) = offset + } + } + } object NewNodeInserter_Member_lineNumber extends flatgraph.NewNodePropertyInsertionHelper { override def insertNewNodeProperties( newNodes: mutable.ArrayBuffer[flatgraph.DNode], @@ -1698,6 +1741,7 @@ class NewMember extends NewNode(24.toShort) with MemberBase with AstNodeNew with var code: String = "": String var columnNumber: Option[Int] = None var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty + var genericSignature: String = "": String var lineNumber: Option[Int] = None var name: String = "": String var order: Int = -1: Int @@ -1711,6 +1755,7 @@ class NewMember extends NewNode(24.toShort) with MemberBase with AstNodeNew with def dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); this } + def genericSignature(value: String): this.type = { this.genericSignature = value; this } def lineNumber(value: Int): this.type = { this.lineNumber = Option(value); this } def lineNumber(value: Option[Int]): this.type = { this.lineNumber = value; this } def name(value: String): this.type = { this.name = value; this } @@ -1723,11 +1768,12 @@ class NewMember extends NewNode(24.toShort) with MemberBase with AstNodeNew with interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 18, dynamicTypeHintFullName.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 47, possibleTypes.size) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 23, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 48, possibleTypes.size) + interface.countProperty(this, 53, 1) } override def copy: this.type = { @@ -1737,6 +1783,7 @@ class NewMember extends NewNode(24.toShort) with MemberBase with AstNodeNew with newInstance.code = this.code newInstance.columnNumber = this.columnNumber newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName + newInstance.genericSignature = this.genericSignature newInstance.lineNumber = this.lineNumber newInstance.name = this.name newInstance.order = this.order @@ -1747,35 +1794,37 @@ class NewMember extends NewNode(24.toShort) with MemberBase with AstNodeNew with override def productElementName(n: Int): String = n match { - case 0 => "astParentFullName" - case 1 => "astParentType" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "name" - case 7 => "order" - case 8 => "possibleTypes" - case 9 => "typeFullName" - case _ => "" + case 0 => "astParentFullName" + case 1 => "astParentType" + case 2 => "code" + case 3 => "columnNumber" + case 4 => "dynamicTypeHintFullName" + case 5 => "genericSignature" + case 6 => "lineNumber" + case 7 => "name" + case 8 => "order" + case 9 => "possibleTypes" + case 10 => "typeFullName" + case _ => "" } override def productElement(n: Int): Any = n match { - case 0 => this.astParentFullName - case 1 => this.astParentType - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.name - case 7 => this.order - case 8 => this.possibleTypes - case 9 => this.typeFullName - case _ => null + case 0 => this.astParentFullName + case 1 => this.astParentType + case 2 => this.code + case 3 => this.columnNumber + case 4 => this.dynamicTypeHintFullName + case 5 => this.genericSignature + case 6 => this.lineNumber + case 7 => this.name + case 8 => this.order + case 9 => this.possibleTypes + case 10 => this.typeFullName + case _ => null } override def productPrefix = "NewMember" - override def productArity = 10 + override def productArity = 11 override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewMember] } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MetaData.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MetaData.scala index a3d89505f..62d063959 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MetaData.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MetaData.scala @@ -67,27 +67,27 @@ object MetaData { * already been analyzed in incremental analysis pipelines. This property is optional to allow its calculation to * be deferred or skipped if the hash is not needed. */ - val Hash = flatgraph.OptionalPropertyKey[String](kind = 23, name = "HASH") + val Hash = flatgraph.OptionalPropertyKey[String](kind = 24, name = "HASH") /** This field indicates which CPG language frontend generated the CPG. Frontend developers may freely choose a * value that describes their frontend so long as it is not used by an existing frontend. Reserved values are to * date: C, LLVM, GHIDRA, PHP. */ - val Language = flatgraph.SinglePropertyKey[String](kind = 33, name = "LANGUAGE", default = "") + val Language = flatgraph.SinglePropertyKey[String](kind = 34, name = "LANGUAGE", default = "") /** The field contains the names of the overlays applied to this CPG, in order of their application. Names are * free-form strings, that is, this specification does not dictate them but rather requires tool producers and * consumers to communicate them between each other. */ - val Overlays = flatgraph.MultiPropertyKey[String](kind = 44, name = "OVERLAYS") + val Overlays = flatgraph.MultiPropertyKey[String](kind = 45, name = "OVERLAYS") /** The path to the root directory of the source/binary this CPG is generated from. */ - val Root = flatgraph.SinglePropertyKey[String](kind = 48, name = "ROOT", default = "") + val Root = flatgraph.SinglePropertyKey[String](kind = 49, name = "ROOT", default = "") /** A version, given as a string. Used, for example, in the META_DATA node to indicate which version of the CPG spec * this CPG conforms to */ - val Version = flatgraph.SinglePropertyKey[String](kind = 54, name = "VERSION", default = "") + val Version = flatgraph.SinglePropertyKey[String](kind = 55, name = "VERSION", default = "") } object PropertyDefaults { val Language = "" @@ -290,11 +290,11 @@ class NewMetaData extends NewNode(25.toShort) with MetaDataBase { def root(value: String): this.type = { this.root = value; this } def version(value: String): this.type = { this.version = value; this } override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.countProperty(this, 23, hash.size) - interface.countProperty(this, 33, 1) - interface.countProperty(this, 44, overlays.size) - interface.countProperty(this, 48, 1) - interface.countProperty(this, 54, 1) + interface.countProperty(this, 24, hash.size) + interface.countProperty(this, 34, 1) + interface.countProperty(this, 45, overlays.size) + interface.countProperty(this, 49, 1) + interface.countProperty(this, 55, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Method.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Method.scala index 06c980202..9395e17b6 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Method.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Method.scala @@ -16,6 +16,7 @@ trait MethodEMT with HasColumnNumberEndEMT with HasFilenameEMT with HasFullNameEMT + with HasGenericSignatureEMT with HasHashEMT with HasIsExternalEMT with HasLineNumberEndEMT @@ -35,6 +36,7 @@ trait MethodBase extends AbstractNode with CfgNodeBase with DeclarationBase with this.columnNumberEnd.foreach { p => res.put("COLUMN_NUMBER_END", p) } if (("": String) != this.filename) res.put("FILENAME", this.filename) if (("": String) != this.fullName) res.put("FULL_NAME", this.fullName) + if (("": String) != this.genericSignature) res.put("GENERIC_SIGNATURE", this.genericSignature) this.hash.foreach { p => res.put("HASH", p) } if ((false: Boolean) != this.isExternal) res.put("IS_EXTERNAL", this.isExternal) this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } @@ -83,6 +85,12 @@ object Method { */ val FullName = "FULL_NAME" + /** This field is experimental. It will likely be removed in the future without any notice. It stores type + * information for generic types and methods as well as type information for members and locals where the type + * either contains a type parameter reference or an instantiated type reference. + */ + val GenericSignature = "GENERIC_SIGNATURE" + /** This property contains a hash value in the form of a string. Hashes can be used to summarize data, e.g., to * summarize the contents of source files or sub graphs. Such summaries are useful to determine whether code has * already been analyzed in incremental analysis pipelines. This property is optional to allow its calculation to @@ -166,28 +174,35 @@ object Method { */ val FullName = flatgraph.SinglePropertyKey[String](kind = 22, name = "FULL_NAME", default = "") + /** This field is experimental. It will likely be removed in the future without any notice. It stores type + * information for generic types and methods as well as type information for members and locals where the type + * either contains a type parameter reference or an instantiated type reference. + */ + val GenericSignature = + flatgraph.SinglePropertyKey[String](kind = 23, name = "GENERIC_SIGNATURE", default = "") + /** This property contains a hash value in the form of a string. Hashes can be used to summarize data, e.g., to * summarize the contents of source files or sub graphs. Such summaries are useful to determine whether code has * already been analyzed in incremental analysis pipelines. This property is optional to allow its calculation to * be deferred or skipped if the hash is not needed. */ - val Hash = flatgraph.OptionalPropertyKey[String](kind = 23, name = "HASH") + val Hash = flatgraph.OptionalPropertyKey[String](kind = 24, name = "HASH") /** Indicates that the construct (METHOD or TYPE_DECL) is external, that is, it is referenced but not defined in the * code (applies both to insular parsing and to library functions where we have header files only) */ - val IsExternal = flatgraph.SinglePropertyKey[Boolean](kind = 29, name = "IS_EXTERNAL", default = false) + val IsExternal = flatgraph.SinglePropertyKey[Boolean](kind = 30, name = "IS_EXTERNAL", default = false) /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This optional fields provides the line number at which the program construct represented by the node ends. */ - val LineNumberEnd = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER_END") + val LineNumberEnd = flatgraph.OptionalPropertyKey[Int](kind = 36, name = "LINE_NUMBER_END") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** Start offset into the CONTENT property of the corresponding FILE node. The offset is such that parts of the * content can easily be accessed via `content.substring(offset, offsetEnd)`. This means that the offset must be @@ -195,25 +210,25 @@ object Method { * for METHOD nodes this start offset points to the start of the methods source code in the string holding the * source code of the entire file. */ - val Offset = flatgraph.OptionalPropertyKey[Int](kind = 41, name = "OFFSET") + val Offset = flatgraph.OptionalPropertyKey[Int](kind = 42, name = "OFFSET") /** End offset (exclusive) into the CONTENT property of the corresponding FILE node. See OFFSET documentation for * finer details. E.g. for METHOD nodes this end offset points to the first code position which is not part of the * method. */ - val OffsetEnd = flatgraph.OptionalPropertyKey[Int](kind = 42, name = "OFFSET_END") + val OffsetEnd = flatgraph.OptionalPropertyKey[Int](kind = 43, name = "OFFSET_END") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** The method signature encodes the types of parameters in a string. The string SHOULD be human readable and * suitable for differentiating methods with different parameter types sufficiently to allow for resolving of * function overloading. The present specification does not enforce a strict format for the signature, that is, it * can be chosen by the frontend implementor to fit the source language. */ - val Signature = flatgraph.SinglePropertyKey[String](kind = 49, name = "SIGNATURE", default = "") + val Signature = flatgraph.SinglePropertyKey[String](kind = 50, name = "SIGNATURE", default = "") } object PropertyDefaults { val AstParentFullName = "" @@ -221,6 +236,7 @@ object Method { val Code = "" val Filename = "" val FullName = "" + val GenericSignature = "" val IsExternal = false val Name = "" val Order = -1: Int @@ -244,15 +260,16 @@ class Method(graph_4762: flatgraph.Graph, seq_4762: Int) case 4 => "columnNumberEnd" case 5 => "filename" case 6 => "fullName" - case 7 => "hash" - case 8 => "isExternal" - case 9 => "lineNumber" - case 10 => "lineNumberEnd" - case 11 => "name" - case 12 => "offset" - case 13 => "offsetEnd" - case 14 => "order" - case 15 => "signature" + case 7 => "genericSignature" + case 8 => "hash" + case 9 => "isExternal" + case 10 => "lineNumber" + case 11 => "lineNumberEnd" + case 12 => "name" + case 13 => "offset" + case 14 => "offsetEnd" + case 15 => "order" + case 16 => "signature" case _ => "" } @@ -265,20 +282,21 @@ class Method(graph_4762: flatgraph.Graph, seq_4762: Int) case 4 => this.columnNumberEnd case 5 => this.filename case 6 => this.fullName - case 7 => this.hash - case 8 => this.isExternal - case 9 => this.lineNumber - case 10 => this.lineNumberEnd - case 11 => this.name - case 12 => this.offset - case 13 => this.offsetEnd - case 14 => this.order - case 15 => this.signature + case 7 => this.genericSignature + case 8 => this.hash + case 9 => this.isExternal + case 10 => this.lineNumber + case 11 => this.lineNumberEnd + case 12 => this.name + case 13 => this.offset + case 14 => this.offsetEnd + case 15 => this.order + case 16 => this.signature case _ => null } override def productPrefix = "Method" - override def productArity = 16 + override def productArity = 17 override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Method] } @@ -1703,6 +1721,31 @@ object NewMethod { } } } + object NewNodeInserter_Method_genericSignature extends flatgraph.NewNodePropertyInsertionHelper { + override def insertNewNodeProperties( + newNodes: mutable.ArrayBuffer[flatgraph.DNode], + dst: AnyRef, + offsets: Array[Int] + ): Unit = { + if (newNodes.isEmpty) return + val dstCast = dst.asInstanceOf[Array[String]] + val seq = newNodes.head.storedRef.get.seq() + var offset = offsets(seq) + var idx = 0 + while (idx < newNodes.length) { + val nn = newNodes(idx) + nn match { + case generated: NewMethod => + dstCast(offset) = generated.genericSignature + offset += 1 + case _ => + } + assert(seq + idx == nn.storedRef.get.seq(), "internal consistency check") + idx += 1 + offsets(idx + seq) = offset + } + } + } object NewNodeInserter_Method_hash extends flatgraph.NewNodePropertyInsertionHelper { override def insertNewNodeProperties( newNodes: mutable.ArrayBuffer[flatgraph.DNode], @@ -1969,6 +2012,7 @@ class NewMethod extends NewNode(26.toShort) with MethodBase with AstNodeNew with var columnNumberEnd: Option[Int] = None var filename: String = "": String var fullName: String = "": String + var genericSignature: String = "": String var hash: Option[String] = None var isExternal: Boolean = false: Boolean var lineNumber: Option[Int] = None @@ -1987,6 +2031,7 @@ class NewMethod extends NewNode(26.toShort) with MethodBase with AstNodeNew with def columnNumberEnd(value: Option[Int]): this.type = { this.columnNumberEnd = value; this } def filename(value: String): this.type = { this.filename = value; this } def fullName(value: String): this.type = { this.fullName = value; this } + def genericSignature(value: String): this.type = { this.genericSignature = value; this } def hash(value: Option[String]): this.type = { this.hash = value; this } def hash(value: String): this.type = { this.hash = Option(value); this } def isExternal(value: Boolean): this.type = { this.isExternal = value; this } @@ -2009,15 +2054,16 @@ class NewMethod extends NewNode(26.toShort) with MethodBase with AstNodeNew with interface.countProperty(this, 12, columnNumberEnd.size) interface.countProperty(this, 21, 1) interface.countProperty(this, 22, 1) - interface.countProperty(this, 23, hash.size) - interface.countProperty(this, 29, 1) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 35, lineNumberEnd.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 41, offset.size) - interface.countProperty(this, 42, offsetEnd.size) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 49, 1) + interface.countProperty(this, 23, 1) + interface.countProperty(this, 24, hash.size) + interface.countProperty(this, 30, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 36, lineNumberEnd.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 42, offset.size) + interface.countProperty(this, 43, offsetEnd.size) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 50, 1) } override def copy: this.type = { @@ -2029,6 +2075,7 @@ class NewMethod extends NewNode(26.toShort) with MethodBase with AstNodeNew with newInstance.columnNumberEnd = this.columnNumberEnd newInstance.filename = this.filename newInstance.fullName = this.fullName + newInstance.genericSignature = this.genericSignature newInstance.hash = this.hash newInstance.isExternal = this.isExternal newInstance.lineNumber = this.lineNumber @@ -2050,15 +2097,16 @@ class NewMethod extends NewNode(26.toShort) with MethodBase with AstNodeNew with case 4 => "columnNumberEnd" case 5 => "filename" case 6 => "fullName" - case 7 => "hash" - case 8 => "isExternal" - case 9 => "lineNumber" - case 10 => "lineNumberEnd" - case 11 => "name" - case 12 => "offset" - case 13 => "offsetEnd" - case 14 => "order" - case 15 => "signature" + case 7 => "genericSignature" + case 8 => "hash" + case 9 => "isExternal" + case 10 => "lineNumber" + case 11 => "lineNumberEnd" + case 12 => "name" + case 13 => "offset" + case 14 => "offsetEnd" + case 15 => "order" + case 16 => "signature" case _ => "" } @@ -2071,19 +2119,20 @@ class NewMethod extends NewNode(26.toShort) with MethodBase with AstNodeNew with case 4 => this.columnNumberEnd case 5 => this.filename case 6 => this.fullName - case 7 => this.hash - case 8 => this.isExternal - case 9 => this.lineNumber - case 10 => this.lineNumberEnd - case 11 => this.name - case 12 => this.offset - case 13 => this.offsetEnd - case 14 => this.order - case 15 => this.signature + case 7 => this.genericSignature + case 8 => this.hash + case 9 => this.isExternal + case 10 => this.lineNumber + case 11 => this.lineNumberEnd + case 12 => this.name + case 13 => this.offset + case 14 => this.offsetEnd + case 15 => this.order + case 16 => this.signature case _ => null } override def productPrefix = "NewMethod" - override def productArity = 16 + override def productArity = 17 override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewMethod] } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterIn.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterIn.scala index c225e31c3..2d9323928 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterIn.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterIn.scala @@ -135,35 +135,35 @@ object MethodParameterIn { /** Specifies an index, e.g., for a parameter or argument. Explicit parameters are numbered from 1 to N, while index * 0 is reserved for implicit self / this parameter. */ - val Index = flatgraph.SinglePropertyKey[Int](kind = 26, name = "INDEX", default = -1: Int) + val Index = flatgraph.SinglePropertyKey[Int](kind = 27, name = "INDEX", default = -1: Int) /** Specifies whether a parameter is the variadic argument handling parameter of a variadic method. Only one * parameter of a method is allowed to have this property set to true. */ - val IsVariadic = flatgraph.SinglePropertyKey[Boolean](kind = 30, name = "IS_VARIADIC", default = false) + val IsVariadic = flatgraph.SinglePropertyKey[Boolean](kind = 31, name = "IS_VARIADIC", default = false) /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { val Code = "" @@ -1830,13 +1830,13 @@ class NewMethodParameterIn interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 18, dynamicTypeHintFullName.size) interface.countProperty(this, 19, 1) - interface.countProperty(this, 26, 1) - interface.countProperty(this, 30, 1) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 47, possibleTypes.size) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 27, 1) + interface.countProperty(this, 31, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 48, possibleTypes.size) + interface.countProperty(this, 53, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterOut.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterOut.scala index eafa014fd..a4c340e0f 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterOut.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterOut.scala @@ -106,30 +106,30 @@ object MethodParameterOut { /** Specifies an index, e.g., for a parameter or argument. Explicit parameters are numbered from 1 to N, while index * 0 is reserved for implicit self / this parameter. */ - val Index = flatgraph.SinglePropertyKey[Int](kind = 26, name = "INDEX", default = -1: Int) + val Index = flatgraph.SinglePropertyKey[Int](kind = 27, name = "INDEX", default = -1: Int) /** Specifies whether a parameter is the variadic argument handling parameter of a variadic method. Only one * parameter of a method is allowed to have this property set to true. */ - val IsVariadic = flatgraph.SinglePropertyKey[Boolean](kind = 30, name = "IS_VARIADIC", default = false) + val IsVariadic = flatgraph.SinglePropertyKey[Boolean](kind = 31, name = "IS_VARIADIC", default = false) /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { val Code = "" @@ -1696,12 +1696,12 @@ class NewMethodParameterOut interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 19, 1) - interface.countProperty(this, 26, 1) - interface.countProperty(this, 30, 1) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 27, 1) + interface.countProperty(this, 31, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 53, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodRef.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodRef.scala index 4f04821aa..2aa02577b 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodRef.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodRef.scala @@ -117,28 +117,28 @@ object MethodRef { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** The FULL_NAME of a method. Used to link CALL and METHOD nodes. It is required to have exactly one METHOD node * for each METHOD_FULL_NAME */ - val MethodFullName = flatgraph.SinglePropertyKey[String](kind = 36, name = "METHOD_FULL_NAME", default = "") + val MethodFullName = flatgraph.SinglePropertyKey[String](kind = 37, name = "METHOD_FULL_NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1739,11 +1739,11 @@ class NewMethodRef extends NewNode(29.toShort) with MethodRefBase with Expressio interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 18, dynamicTypeHintFullName.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 36, 1) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 47, possibleTypes.size) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 37, 1) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 48, possibleTypes.size) + interface.countProperty(this, 53, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodReturn.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodReturn.scala index 655e41ba4..332530e5b 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodReturn.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/MethodReturn.scala @@ -99,23 +99,23 @@ object MethodReturn { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { val Code = "" @@ -1651,10 +1651,10 @@ class NewMethodReturn extends NewNode(30.toShort) with MethodReturnBase with Cfg interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 18, dynamicTypeHintFullName.size) interface.countProperty(this, 19, 1) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 47, possibleTypes.size) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 48, possibleTypes.size) + interface.countProperty(this, 53, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Modifier.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Modifier.scala index 2a4e1aa74..e14525b78 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Modifier.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Modifier.scala @@ -59,17 +59,17 @@ object Modifier { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** The modifier type is a free-form string. The following are known modifier types: `STATIC`, `PUBLIC`, * `PROTECTED`, `PRIVATE`, `ABSTRACT`, `NATIVE`, `CONSTRUCTOR`, `VIRTUAL`. */ - val ModifierType = flatgraph.SinglePropertyKey[String](kind = 38, name = "MODIFIER_TYPE", default = "") + val ModifierType = flatgraph.SinglePropertyKey[String](kind = 39, name = "MODIFIER_TYPE", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val Code = "" @@ -1509,9 +1509,9 @@ class NewModifier extends NewNode(31.toShort) with ModifierBase with AstNodeNew override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 38, 1) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 39, 1) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Namespace.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Namespace.scala index 0b4361be9..a23b5fae4 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Namespace.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Namespace.scala @@ -57,15 +57,15 @@ object Namespace { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val Code = "" @@ -1505,9 +1505,9 @@ class NewNamespace extends NewNode(32.toShort) with NamespaceBase with AstNodeNe override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/NamespaceBlock.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/NamespaceBlock.scala index 0868d704a..cd4ed89b8 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/NamespaceBlock.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/NamespaceBlock.scala @@ -83,15 +83,15 @@ object NamespaceBlock { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val Code = "" @@ -1593,9 +1593,9 @@ class NewNamespaceBlock extends NewNode(33.toShort) with NamespaceBlockBase with interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 21, 1) interface.countProperty(this, 22, 1) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Return.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Return.scala index ab4c29837..ad065dbe3 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Return.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Return.scala @@ -83,12 +83,12 @@ object Return { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1564,8 +1564,8 @@ class NewReturn extends NewNode(34.toShort) with ReturnBase with ExpressionNew { interface.countProperty(this, 2, argumentName.size) interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Tag.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Tag.scala index 57331aab2..9a42880b2 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Tag.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Tag.scala @@ -33,10 +33,10 @@ object Tag { object Properties { /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This property denotes a string value as used in a key-value pair. */ - val Value = flatgraph.SinglePropertyKey[String](kind = 53, name = "VALUE", default = "") + val Value = flatgraph.SinglePropertyKey[String](kind = 54, name = "VALUE", default = "") } object PropertyDefaults { val Name = "" @@ -169,8 +169,8 @@ class NewTag extends NewNode(35.toShort) with TagBase { def name(value: String): this.type = { this.name = value; this } def value(value: String): this.type = { this.value = value; this } override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.countProperty(this, 39, 1) - interface.countProperty(this, 53, 1) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 54, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TagNodePair.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TagNodePair.scala index 3809765c8..37860b21f 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TagNodePair.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TagNodePair.scala @@ -35,8 +35,8 @@ class TagNodePair(graph_4762: flatgraph.Graph, seq_4762: Int) extends StoredNode(graph_4762, 36.toShort, seq_4762) with TagNodePairBase with StaticType[TagNodePairEMT] { - def node: StoredNode = flatgraph.Accessors.getNodePropertySingle(graph, nodeKind, 57, seq, null: StoredNode) - def tag: Tag = flatgraph.Accessors.getNodePropertySingle(graph, nodeKind, 58, seq, null: Tag) + def node: StoredNode = flatgraph.Accessors.getNodePropertySingle(graph, nodeKind, 58, seq, null: StoredNode) + def tag: Tag = flatgraph.Accessors.getNodePropertySingle(graph, nodeKind, 59, seq, null: Tag) override def productElementName(n: Int): String = n match { @@ -137,9 +137,9 @@ class NewTagNodePair extends NewNode(36.toShort) with TagNodePairBase { def node(value: AbstractNode): this.type = { this.node = value; this } def tag(value: TagBase): this.type = { this.tag = value; this } override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.countProperty(this, 57, 1) - interface.visitContainedNode(node) interface.countProperty(this, 58, 1) + interface.visitContainedNode(node) + interface.countProperty(this, 59, 1) interface.visitContainedNode(tag) } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TemplateDom.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TemplateDom.scala index d89616fa9..a3c0ac282 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TemplateDom.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TemplateDom.scala @@ -87,15 +87,15 @@ object TemplateDom { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1601,9 +1601,9 @@ class NewTemplateDom extends NewNode(37.toShort) with TemplateDomBase with Expre interface.countProperty(this, 2, argumentName.size) interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Type.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Type.scala index 4a73c5700..8e82e2493 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Type.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Type.scala @@ -46,13 +46,13 @@ object Type { val FullName = flatgraph.SinglePropertyKey[String](kind = 22, name = "FULL_NAME", default = "") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** The static type decl of a TYPE. This property is matched against the FULL_NAME of TYPE_DECL nodes. It is * required to have exactly one TYPE_DECL for each different TYPE_DECL_FULL_NAME */ val TypeDeclFullName = - flatgraph.SinglePropertyKey[String](kind = 51, name = "TYPE_DECL_FULL_NAME", default = "") + flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_DECL_FULL_NAME", default = "") } object PropertyDefaults { val FullName = "" @@ -211,8 +211,8 @@ class NewType extends NewNode(38.toShort) with TypeBase { def typeDeclFullName(value: String): this.type = { this.typeDeclFullName = value; this } override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { interface.countProperty(this, 22, 1) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 51, 1) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 52, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeArgument.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeArgument.scala index 3563673c5..c951aa932 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeArgument.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeArgument.scala @@ -53,12 +53,12 @@ object TypeArgument { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val Code = "" @@ -1468,8 +1468,8 @@ class NewTypeArgument extends NewNode(39.toShort) with TypeArgumentBase with Ast override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeDecl.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeDecl.scala index b7b2cd014..54f7fab03 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeDecl.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeDecl.scala @@ -15,6 +15,7 @@ trait TypeDeclEMT with HasAstParentTypeEMT with HasFilenameEMT with HasFullNameEMT + with HasGenericSignatureEMT with HasInheritsFromTypeFullNameEMT with HasIsExternalEMT with HasNameEMT @@ -33,6 +34,7 @@ trait TypeDeclBase extends AbstractNode with AstNodeBase with StaticType[TypeDec this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } if (("": String) != this.filename) res.put("FILENAME", this.filename) if (("": String) != this.fullName) res.put("FULL_NAME", this.fullName) + if (("": String) != this.genericSignature) res.put("GENERIC_SIGNATURE", this.genericSignature) val tmpInheritsFromTypeFullName = this.inheritsFromTypeFullName; if (tmpInheritsFromTypeFullName.nonEmpty) res.put("INHERITS_FROM_TYPE_FULL_NAME", tmpInheritsFromTypeFullName) if ((false: Boolean) != this.isExternal) res.put("IS_EXTERNAL", this.isExternal) @@ -80,6 +82,12 @@ object TypeDecl { */ val FullName = "FULL_NAME" + /** This field is experimental. It will likely be removed in the future without any notice. It stores type + * information for generic types and methods as well as type information for members and locals where the type + * either contains a type parameter reference or an instantiated type reference. + */ + val GenericSignature = "GENERIC_SIGNATURE" + /** The static types a TYPE_DECL inherits from. This property is matched against the FULL_NAME of TYPE nodes and * thus it is required to have at least one TYPE node for each TYPE_FULL_NAME */ @@ -150,22 +158,29 @@ object TypeDecl { */ val FullName = flatgraph.SinglePropertyKey[String](kind = 22, name = "FULL_NAME", default = "") + /** This field is experimental. It will likely be removed in the future without any notice. It stores type + * information for generic types and methods as well as type information for members and locals where the type + * either contains a type parameter reference or an instantiated type reference. + */ + val GenericSignature = + flatgraph.SinglePropertyKey[String](kind = 23, name = "GENERIC_SIGNATURE", default = "") + /** The static types a TYPE_DECL inherits from. This property is matched against the FULL_NAME of TYPE nodes and * thus it is required to have at least one TYPE node for each TYPE_FULL_NAME */ - val InheritsFromTypeFullName = flatgraph.MultiPropertyKey[String](kind = 27, name = "INHERITS_FROM_TYPE_FULL_NAME") + val InheritsFromTypeFullName = flatgraph.MultiPropertyKey[String](kind = 28, name = "INHERITS_FROM_TYPE_FULL_NAME") /** Indicates that the construct (METHOD or TYPE_DECL) is external, that is, it is referenced but not defined in the * code (applies both to insular parsing and to library functions where we have header files only) */ - val IsExternal = flatgraph.SinglePropertyKey[Boolean](kind = 29, name = "IS_EXTERNAL", default = false) + val IsExternal = flatgraph.SinglePropertyKey[Boolean](kind = 30, name = "IS_EXTERNAL", default = false) /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** Start offset into the CONTENT property of the corresponding FILE node. The offset is such that parts of the * content can easily be accessed via `content.substring(offset, offsetEnd)`. This means that the offset must be @@ -173,18 +188,18 @@ object TypeDecl { * for METHOD nodes this start offset points to the start of the methods source code in the string holding the * source code of the entire file. */ - val Offset = flatgraph.OptionalPropertyKey[Int](kind = 41, name = "OFFSET") + val Offset = flatgraph.OptionalPropertyKey[Int](kind = 42, name = "OFFSET") /** End offset (exclusive) into the CONTENT property of the corresponding FILE node. See OFFSET documentation for * finer details. E.g. for METHOD nodes this end offset points to the first code position which is not part of the * method. */ - val OffsetEnd = flatgraph.OptionalPropertyKey[Int](kind = 42, name = "OFFSET_END") + val OffsetEnd = flatgraph.OptionalPropertyKey[Int](kind = 43, name = "OFFSET_END") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val AstParentFullName = "" @@ -192,6 +207,7 @@ object TypeDecl { val Code = "" val Filename = "" val FullName = "" + val GenericSignature = "" val IsExternal = false val Name = "" val Order = -1: Int @@ -213,13 +229,14 @@ class TypeDecl(graph_4762: flatgraph.Graph, seq_4762: Int) case 4 => "columnNumber" case 5 => "filename" case 6 => "fullName" - case 7 => "inheritsFromTypeFullName" - case 8 => "isExternal" - case 9 => "lineNumber" - case 10 => "name" - case 11 => "offset" - case 12 => "offsetEnd" - case 13 => "order" + case 7 => "genericSignature" + case 8 => "inheritsFromTypeFullName" + case 9 => "isExternal" + case 10 => "lineNumber" + case 11 => "name" + case 12 => "offset" + case 13 => "offsetEnd" + case 14 => "order" case _ => "" } @@ -232,18 +249,19 @@ class TypeDecl(graph_4762: flatgraph.Graph, seq_4762: Int) case 4 => this.columnNumber case 5 => this.filename case 6 => this.fullName - case 7 => this.inheritsFromTypeFullName - case 8 => this.isExternal - case 9 => this.lineNumber - case 10 => this.name - case 11 => this.offset - case 12 => this.offsetEnd - case 13 => this.order + case 7 => this.genericSignature + case 8 => this.inheritsFromTypeFullName + case 9 => this.isExternal + case 10 => this.lineNumber + case 11 => this.name + case 12 => this.offset + case 13 => this.offsetEnd + case 14 => this.order case _ => null } override def productPrefix = "TypeDecl" - override def productArity = 14 + override def productArity = 15 override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[TypeDecl] } @@ -1668,6 +1686,31 @@ object NewTypeDecl { } } } + object NewNodeInserter_TypeDecl_genericSignature extends flatgraph.NewNodePropertyInsertionHelper { + override def insertNewNodeProperties( + newNodes: mutable.ArrayBuffer[flatgraph.DNode], + dst: AnyRef, + offsets: Array[Int] + ): Unit = { + if (newNodes.isEmpty) return + val dstCast = dst.asInstanceOf[Array[String]] + val seq = newNodes.head.storedRef.get.seq() + var offset = offsets(seq) + var idx = 0 + while (idx < newNodes.length) { + val nn = newNodes(idx) + nn match { + case generated: NewTypeDecl => + dstCast(offset) = generated.genericSignature + offset += 1 + case _ => + } + assert(seq + idx == nn.storedRef.get.seq(), "internal consistency check") + idx += 1 + offsets(idx + seq) = offset + } + } + } object NewNodeInserter_TypeDecl_inheritsFromTypeFullName extends flatgraph.NewNodePropertyInsertionHelper { override def insertNewNodeProperties( newNodes: mutable.ArrayBuffer[flatgraph.DNode], @@ -1878,6 +1921,7 @@ class NewTypeDecl extends NewNode(40.toShort) with TypeDeclBase with AstNodeNew var columnNumber: Option[Int] = None var filename: String = "": String var fullName: String = "": String + var genericSignature: String = "": String var inheritsFromTypeFullName: IndexedSeq[String] = ArraySeq.empty var isExternal: Boolean = false: Boolean var lineNumber: Option[Int] = None @@ -1894,6 +1938,7 @@ class NewTypeDecl extends NewNode(40.toShort) with TypeDeclBase with AstNodeNew def columnNumber(value: Option[Int]): this.type = { this.columnNumber = value; this } def filename(value: String): this.type = { this.filename = value; this } def fullName(value: String): this.type = { this.fullName = value; this } + def genericSignature(value: String): this.type = { this.genericSignature = value; this } def inheritsFromTypeFullName(value: IterableOnce[String]): this.type = { this.inheritsFromTypeFullName = value.iterator.to(ArraySeq); this } @@ -1914,13 +1959,14 @@ class NewTypeDecl extends NewNode(40.toShort) with TypeDeclBase with AstNodeNew interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 21, 1) interface.countProperty(this, 22, 1) - interface.countProperty(this, 27, inheritsFromTypeFullName.size) - interface.countProperty(this, 29, 1) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 41, offset.size) - interface.countProperty(this, 42, offsetEnd.size) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 23, 1) + interface.countProperty(this, 28, inheritsFromTypeFullName.size) + interface.countProperty(this, 30, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 42, offset.size) + interface.countProperty(this, 43, offsetEnd.size) + interface.countProperty(this, 44, 1) } override def copy: this.type = { @@ -1932,6 +1978,7 @@ class NewTypeDecl extends NewNode(40.toShort) with TypeDeclBase with AstNodeNew newInstance.columnNumber = this.columnNumber newInstance.filename = this.filename newInstance.fullName = this.fullName + newInstance.genericSignature = this.genericSignature newInstance.inheritsFromTypeFullName = this.inheritsFromTypeFullName newInstance.isExternal = this.isExternal newInstance.lineNumber = this.lineNumber @@ -1951,13 +1998,14 @@ class NewTypeDecl extends NewNode(40.toShort) with TypeDeclBase with AstNodeNew case 4 => "columnNumber" case 5 => "filename" case 6 => "fullName" - case 7 => "inheritsFromTypeFullName" - case 8 => "isExternal" - case 9 => "lineNumber" - case 10 => "name" - case 11 => "offset" - case 12 => "offsetEnd" - case 13 => "order" + case 7 => "genericSignature" + case 8 => "inheritsFromTypeFullName" + case 9 => "isExternal" + case 10 => "lineNumber" + case 11 => "name" + case 12 => "offset" + case 13 => "offsetEnd" + case 14 => "order" case _ => "" } @@ -1970,17 +2018,18 @@ class NewTypeDecl extends NewNode(40.toShort) with TypeDeclBase with AstNodeNew case 4 => this.columnNumber case 5 => this.filename case 6 => this.fullName - case 7 => this.inheritsFromTypeFullName - case 8 => this.isExternal - case 9 => this.lineNumber - case 10 => this.name - case 11 => this.offset - case 12 => this.offsetEnd - case 13 => this.order + case 7 => this.genericSignature + case 8 => this.inheritsFromTypeFullName + case 9 => this.isExternal + case 10 => this.lineNumber + case 11 => this.name + case 12 => this.offset + case 13 => this.offsetEnd + case 14 => this.order case _ => null } override def productPrefix = "NewTypeDecl" - override def productArity = 14 + override def productArity = 15 override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewTypeDecl] } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeParameter.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeParameter.scala index 4f0702736..1cd7abc3f 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeParameter.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeParameter.scala @@ -57,15 +57,15 @@ object TypeParameter { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") + val Name = flatgraph.SinglePropertyKey[String](kind = 40, name = "NAME", default = "") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) } object PropertyDefaults { val Code = "" @@ -1505,9 +1505,9 @@ class NewTypeParameter extends NewNode(41.toShort) with TypeParameterBase with A override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 39, 1) - interface.countProperty(this, 43, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 40, 1) + interface.countProperty(this, 44, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeRef.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeRef.scala index f73ad2b67..689572fca 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeRef.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/TypeRef.scala @@ -110,23 +110,23 @@ object TypeRef { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1697,10 +1697,10 @@ class NewTypeRef extends NewNode(42.toShort) with TypeRefBase with ExpressionNew interface.countProperty(this, 10, 1) interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 18, dynamicTypeHintFullName.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 47, possibleTypes.size) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 48, possibleTypes.size) + interface.countProperty(this, 53, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Unknown.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Unknown.scala index 7640c633f..866b2b62b 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Unknown.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/nodes/Unknown.scala @@ -127,26 +127,26 @@ object Unknown { /** This optional field provides the line number of the program construct represented by the node. */ - val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER") + val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER") /** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order * of 0. */ - val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int) + val Order = flatgraph.SinglePropertyKey[Int](kind = 44, name = "ORDER", default = -1: Int) /** AST node type name emitted by parser. */ - val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 46, name = "PARSER_TYPE_NAME", default = "") + val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 47, name = "PARSER_TYPE_NAME", default = "") /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are * correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") + val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 48, name = "POSSIBLE_TYPES") /** This field contains the fully-qualified static type name of the program construct represented by a node. It is * the name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type * cannot be determined, this field should be set to the empty string. */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") + val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 53, name = "TYPE_FULL_NAME", default = "") } object PropertyDefaults { val ArgumentIndex = -1: Int @@ -1778,11 +1778,11 @@ class NewUnknown extends NewNode(43.toShort) with UnknownBase with ExpressionNew interface.countProperty(this, 11, columnNumber.size) interface.countProperty(this, 13, 1) interface.countProperty(this, 18, dynamicTypeHintFullName.size) - interface.countProperty(this, 34, lineNumber.size) - interface.countProperty(this, 43, 1) - interface.countProperty(this, 46, 1) - interface.countProperty(this, 47, possibleTypes.size) - interface.countProperty(this, 52, 1) + interface.countProperty(this, 35, lineNumber.size) + interface.countProperty(this, 44, 1) + interface.countProperty(this, 47, 1) + interface.countProperty(this, 48, possibleTypes.size) + interface.countProperty(this, 53, 1) } override def copy: this.type = { diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalAnnotationBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalAnnotationBase.scala index 10dd8b9c1..19f978ca5 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalAnnotationBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalAnnotationBase.scala @@ -92,7 +92,7 @@ final class TraversalAnnotationBase[NodeType <: nodes.AnnotationBase](val traver case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalAnnotationliteralBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalAnnotationliteralBase.scala index dc9a241f1..5afe9a8e0 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalAnnotationliteralBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalAnnotationliteralBase.scala @@ -33,7 +33,7 @@ final class TraversalAnnotationliteralBase[NodeType <: nodes.AnnotationLiteralBa case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalBindingBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalBindingBase.scala index d62129e2d..62ec68685 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalBindingBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalBindingBase.scala @@ -32,7 +32,7 @@ final class TraversalBindingBase[NodeType <: nodes.BindingBase](val traversal: I case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 36, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 37, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.methodFullName == value } } @@ -91,7 +91,7 @@ final class TraversalBindingBase[NodeType <: nodes.BindingBase](val traversal: I case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } @@ -150,7 +150,7 @@ final class TraversalBindingBase[NodeType <: nodes.BindingBase](val traversal: I case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 49, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 50, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.signature == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalBlockBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalBlockBase.scala index f03f6f6f5..cc1561b9b 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalBlockBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalBlockBase.scala @@ -40,7 +40,7 @@ final class TraversalBlockBase[NodeType <: nodes.BlockBase](val traversal: Itera case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalCallBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalCallBase.scala index dd97faa5a..79aa3584f 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalCallBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalCallBase.scala @@ -95,7 +95,7 @@ final class TraversalCallBase[NodeType <: nodes.CallBase](val traversal: Iterato case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 36, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 37, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.methodFullName == value } } @@ -158,7 +158,7 @@ final class TraversalCallBase[NodeType <: nodes.CallBase](val traversal: Iterato case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalCallreprBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalCallreprBase.scala index b39b72b6c..1572bc86a 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalCallreprBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalCallreprBase.scala @@ -32,7 +32,7 @@ final class TraversalCallreprBase[NodeType <: nodes.CallReprBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } @@ -91,7 +91,7 @@ final class TraversalCallreprBase[NodeType <: nodes.CallReprBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 49, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 50, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.signature == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalConfigfileBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalConfigfileBase.scala index 9d7d363f9..6e0493184 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalConfigfileBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalConfigfileBase.scala @@ -92,7 +92,7 @@ final class TraversalConfigfileBase[NodeType <: nodes.ConfigFileBase](val traver case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalControlstructureBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalControlstructureBase.scala index 5c781913b..2018d6ff8 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalControlstructureBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalControlstructureBase.scala @@ -92,7 +92,7 @@ final class TraversalControlstructureBase[NodeType <: nodes.ControlStructureBase case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 47, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.parserTypeName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalDeclarationBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalDeclarationBase.scala index 2e5944c7a..3c7a41c6f 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalDeclarationBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalDeclarationBase.scala @@ -33,7 +33,7 @@ final class TraversalDeclarationBase[NodeType <: nodes.DeclarationBase](val trav case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalDependencyBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalDependencyBase.scala index 0772b6e71..bc5094df6 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalDependencyBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalDependencyBase.scala @@ -106,7 +106,7 @@ final class TraversalDependencyBase[NodeType <: nodes.DependencyBase](val traver case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } @@ -165,7 +165,7 @@ final class TraversalDependencyBase[NodeType <: nodes.DependencyBase](val traver case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 54, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 55, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.version == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalFileBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalFileBase.scala index 6b4082cb5..9dd07b985 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalFileBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalFileBase.scala @@ -96,7 +96,7 @@ final class TraversalFileBase[NodeType <: nodes.FileBase](val traversal: Iterato case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 24, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { node => @@ -164,7 +164,7 @@ final class TraversalFileBase[NodeType <: nodes.FileBase](val traversal: Iterato case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalIdentifierBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalIdentifierBase.scala index 37128b8ca..00f43c988 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalIdentifierBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalIdentifierBase.scala @@ -37,7 +37,7 @@ final class TraversalIdentifierBase[NodeType <: nodes.IdentifierBase](val traver case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } @@ -100,7 +100,7 @@ final class TraversalIdentifierBase[NodeType <: nodes.IdentifierBase](val traver case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalImportBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalImportBase.scala index e51d54da4..ceaf5ad56 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalImportBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalImportBase.scala @@ -46,7 +46,7 @@ final class TraversalImportBase[NodeType <: nodes.ImportBase](val traversal: Ite case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 24, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 25, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { node => @@ -119,7 +119,7 @@ final class TraversalImportBase[NodeType <: nodes.ImportBase](val traversal: Ite case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 25, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 26, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { node => diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalJumplabelBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalJumplabelBase.scala index 80442e24c..67eddadd3 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalJumplabelBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalJumplabelBase.scala @@ -32,7 +32,7 @@ final class TraversalJumplabelBase[NodeType <: nodes.JumpLabelBase](val traversa case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } @@ -91,7 +91,7 @@ final class TraversalJumplabelBase[NodeType <: nodes.JumpLabelBase](val traversa case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 47, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.parserTypeName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalJumptargetBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalJumptargetBase.scala index 24dc7d632..fdc11ceb4 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalJumptargetBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalJumptargetBase.scala @@ -81,7 +81,7 @@ final class TraversalJumptargetBase[NodeType <: nodes.JumpTargetBase](val traver case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } @@ -140,7 +140,7 @@ final class TraversalJumptargetBase[NodeType <: nodes.JumpTargetBase](val traver case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 47, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.parserTypeName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalKeyvaluepairBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalKeyvaluepairBase.scala index d08c63c9a..af11e45a9 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalKeyvaluepairBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalKeyvaluepairBase.scala @@ -33,7 +33,7 @@ final class TraversalKeyvaluepairBase[NodeType <: nodes.KeyValuePairBase](val tr case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 32, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 33, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.key == value } } @@ -92,7 +92,7 @@ final class TraversalKeyvaluepairBase[NodeType <: nodes.KeyValuePairBase](val tr case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 54, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.value == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLiteralBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLiteralBase.scala index b6719767e..9b5c2c847 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLiteralBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLiteralBase.scala @@ -40,7 +40,7 @@ final class TraversalLiteralBase[NodeType <: nodes.LiteralBase](val traversal: I case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLocalBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLocalBase.scala index eea241dc8..a92dec3c3 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLocalBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLocalBase.scala @@ -82,6 +82,65 @@ final class TraversalLocalBase[NodeType <: nodes.LocalBase](val traversal: Itera def dynamicTypeHintFullName: Iterator[String] = traversal.flatMap(_.dynamicTypeHintFullName) + /** Traverse to genericSignature property */ + def genericSignature: Iterator[String] = + traversal.map(_.genericSignature) + + /** Traverse to nodes where the genericSignature matches the regular expression `value` + */ + def genericSignature(pattern: String): Iterator[NodeType] = + if (!flatgraph.misc.Regex.isRegex(pattern)) { + genericSignatureExact(pattern) + } else { + val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) + traversal.filter { item => matcher.reset(item.genericSignature).matches } + } + + /** Traverse to nodes where the genericSignature matches at least one of the regular expressions in `values` + */ + def genericSignature(patterns: String*): Iterator[NodeType] = { + val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) + traversal.filter { item => matchers.exists { _.reset(item.genericSignature).matches } } + } + + /** Traverse to nodes where genericSignature matches `value` exactly. + */ + def genericSignatureExact(value: String): Iterator[NodeType] = traversal match { + case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => + val someNode = init.next + flatgraph.Accessors + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) + .asInstanceOf[Iterator[NodeType]] + case _ => traversal.filter { _.genericSignature == value } + } + + /** Traverse to nodes where genericSignature matches one of the elements in `values` exactly. + */ + def genericSignatureExact(values: String*): Iterator[NodeType] = + if (values.length == 1) genericSignatureExact(values.head) + else { + val valueSet = values.toSet + traversal.filter { item => valueSet.contains(item.genericSignature) } + } + + /** Traverse to nodes where genericSignature does not match the regular expression `value`. + */ + def genericSignatureNot(pattern: String): Iterator[NodeType] = { + if (!flatgraph.misc.Regex.isRegex(pattern)) { + traversal.filter { node => node.genericSignature != pattern } + } else { + val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) + traversal.filterNot { item => matcher.reset(item.genericSignature).matches } + } + } + + /** Traverse to nodes where genericSignature does not match any of the regular expressions in `values`. + */ + def genericSignatureNot(patterns: String*): Iterator[NodeType] = { + val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) + traversal.filter { item => matchers.find { _.reset(item.genericSignature).matches }.isEmpty } + } + /** Traverse to possibleTypes property */ def possibleTypes: Iterator[String] = traversal.flatMap(_.possibleTypes) @@ -113,7 +172,7 @@ final class TraversalLocalBase[NodeType <: nodes.LocalBase](val traversal: Itera case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLocationBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLocationBase.scala index 7d849acdb..a24191f5b 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLocationBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalLocationBase.scala @@ -273,7 +273,7 @@ final class TraversalLocationBase[NodeType <: nodes.LocationBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 36, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 37, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.methodFullName == value } } @@ -332,7 +332,7 @@ final class TraversalLocationBase[NodeType <: nodes.LocationBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 37, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 38, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.methodShortName == value } } @@ -391,7 +391,7 @@ final class TraversalLocationBase[NodeType <: nodes.LocationBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 41, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.nodeLabel == value } } @@ -450,7 +450,7 @@ final class TraversalLocationBase[NodeType <: nodes.LocationBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 45, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.packageName == value } } @@ -509,7 +509,7 @@ final class TraversalLocationBase[NodeType <: nodes.LocationBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 50, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 51, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.symbol == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMemberBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMemberBase.scala index 535d1e620..9a582b595 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMemberBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMemberBase.scala @@ -127,6 +127,65 @@ final class TraversalMemberBase[NodeType <: nodes.MemberBase](val traversal: Ite def dynamicTypeHintFullName: Iterator[String] = traversal.flatMap(_.dynamicTypeHintFullName) + /** Traverse to genericSignature property */ + def genericSignature: Iterator[String] = + traversal.map(_.genericSignature) + + /** Traverse to nodes where the genericSignature matches the regular expression `value` + */ + def genericSignature(pattern: String): Iterator[NodeType] = + if (!flatgraph.misc.Regex.isRegex(pattern)) { + genericSignatureExact(pattern) + } else { + val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) + traversal.filter { item => matcher.reset(item.genericSignature).matches } + } + + /** Traverse to nodes where the genericSignature matches at least one of the regular expressions in `values` + */ + def genericSignature(patterns: String*): Iterator[NodeType] = { + val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) + traversal.filter { item => matchers.exists { _.reset(item.genericSignature).matches } } + } + + /** Traverse to nodes where genericSignature matches `value` exactly. + */ + def genericSignatureExact(value: String): Iterator[NodeType] = traversal match { + case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => + val someNode = init.next + flatgraph.Accessors + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) + .asInstanceOf[Iterator[NodeType]] + case _ => traversal.filter { _.genericSignature == value } + } + + /** Traverse to nodes where genericSignature matches one of the elements in `values` exactly. + */ + def genericSignatureExact(values: String*): Iterator[NodeType] = + if (values.length == 1) genericSignatureExact(values.head) + else { + val valueSet = values.toSet + traversal.filter { item => valueSet.contains(item.genericSignature) } + } + + /** Traverse to nodes where genericSignature does not match the regular expression `value`. + */ + def genericSignatureNot(pattern: String): Iterator[NodeType] = { + if (!flatgraph.misc.Regex.isRegex(pattern)) { + traversal.filter { node => node.genericSignature != pattern } + } else { + val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) + traversal.filterNot { item => matcher.reset(item.genericSignature).matches } + } + } + + /** Traverse to nodes where genericSignature does not match any of the regular expressions in `values`. + */ + def genericSignatureNot(patterns: String*): Iterator[NodeType] = { + val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) + traversal.filter { item => matchers.find { _.reset(item.genericSignature).matches }.isEmpty } + } + /** Traverse to possibleTypes property */ def possibleTypes: Iterator[String] = traversal.flatMap(_.possibleTypes) @@ -158,7 +217,7 @@ final class TraversalMemberBase[NodeType <: nodes.MemberBase](val traversal: Ite case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMetadataBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMetadataBase.scala index b5a61b6c4..43da6bdcb 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMetadataBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMetadataBase.scala @@ -37,7 +37,7 @@ final class TraversalMetadataBase[NodeType <: nodes.MetaDataBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 24, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { node => @@ -105,7 +105,7 @@ final class TraversalMetadataBase[NodeType <: nodes.MetaDataBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 33, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 34, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.language == value } } @@ -168,7 +168,7 @@ final class TraversalMetadataBase[NodeType <: nodes.MetaDataBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 48, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 49, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.root == value } } @@ -227,7 +227,7 @@ final class TraversalMetadataBase[NodeType <: nodes.MetaDataBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 54, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 55, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.version == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodBase.scala index e261d8a3a..36cd7135f 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodBase.scala @@ -305,6 +305,65 @@ final class TraversalMethodBase[NodeType <: nodes.MethodBase](val traversal: Ite traversal.filter { item => matchers.find { _.reset(item.fullName).matches }.isEmpty } } + /** Traverse to genericSignature property */ + def genericSignature: Iterator[String] = + traversal.map(_.genericSignature) + + /** Traverse to nodes where the genericSignature matches the regular expression `value` + */ + def genericSignature(pattern: String): Iterator[NodeType] = + if (!flatgraph.misc.Regex.isRegex(pattern)) { + genericSignatureExact(pattern) + } else { + val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) + traversal.filter { item => matcher.reset(item.genericSignature).matches } + } + + /** Traverse to nodes where the genericSignature matches at least one of the regular expressions in `values` + */ + def genericSignature(patterns: String*): Iterator[NodeType] = { + val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) + traversal.filter { item => matchers.exists { _.reset(item.genericSignature).matches } } + } + + /** Traverse to nodes where genericSignature matches `value` exactly. + */ + def genericSignatureExact(value: String): Iterator[NodeType] = traversal match { + case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => + val someNode = init.next + flatgraph.Accessors + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) + .asInstanceOf[Iterator[NodeType]] + case _ => traversal.filter { _.genericSignature == value } + } + + /** Traverse to nodes where genericSignature matches one of the elements in `values` exactly. + */ + def genericSignatureExact(values: String*): Iterator[NodeType] = + if (values.length == 1) genericSignatureExact(values.head) + else { + val valueSet = values.toSet + traversal.filter { item => valueSet.contains(item.genericSignature) } + } + + /** Traverse to nodes where genericSignature does not match the regular expression `value`. + */ + def genericSignatureNot(pattern: String): Iterator[NodeType] = { + if (!flatgraph.misc.Regex.isRegex(pattern)) { + traversal.filter { node => node.genericSignature != pattern } + } else { + val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) + traversal.filterNot { item => matcher.reset(item.genericSignature).matches } + } + } + + /** Traverse to nodes where genericSignature does not match any of the regular expressions in `values`. + */ + def genericSignatureNot(patterns: String*): Iterator[NodeType] = { + val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) + traversal.filter { item => matchers.find { _.reset(item.genericSignature).matches }.isEmpty } + } + /** Traverse to hash property */ def hash: Iterator[String] = traversal.flatMap(_.hash) @@ -337,7 +396,7 @@ final class TraversalMethodBase[NodeType <: nodes.MethodBase](val traversal: Ite case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 24, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { node => @@ -606,7 +665,7 @@ final class TraversalMethodBase[NodeType <: nodes.MethodBase](val traversal: Ite case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 49, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 50, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.signature == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodparameterinBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodparameterinBase.scala index 5406f8d9a..aef9269d2 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodparameterinBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodparameterinBase.scala @@ -230,7 +230,7 @@ final class TraversalMethodparameterinBase[NodeType <: nodes.MethodParameterInBa case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodparameteroutBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodparameteroutBase.scala index d72465a76..266648fe0 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodparameteroutBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodparameteroutBase.scala @@ -149,7 +149,7 @@ final class TraversalMethodparameteroutBase[NodeType <: nodes.MethodParameterOut case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodrefBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodrefBase.scala index 9492b66cd..60b529ec3 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodrefBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodrefBase.scala @@ -36,7 +36,7 @@ final class TraversalMethodrefBase[NodeType <: nodes.MethodRefBase](val traversa case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 36, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 37, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.methodFullName == value } } @@ -99,7 +99,7 @@ final class TraversalMethodrefBase[NodeType <: nodes.MethodRefBase](val traversa case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodreturnBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodreturnBase.scala index 046df0048..c1fb70356 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodreturnBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalMethodreturnBase.scala @@ -100,7 +100,7 @@ final class TraversalMethodreturnBase[NodeType <: nodes.MethodReturnBase](val tr case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalModifierBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalModifierBase.scala index 587d9ee3c..6b8ee9aa4 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalModifierBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalModifierBase.scala @@ -32,7 +32,7 @@ final class TraversalModifierBase[NodeType <: nodes.ModifierBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 38, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.modifierType == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalNamespaceBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalNamespaceBase.scala index e7a6d6529..a78b47e29 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalNamespaceBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalNamespaceBase.scala @@ -32,7 +32,7 @@ final class TraversalNamespaceBase[NodeType <: nodes.NamespaceBase](val traversa case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalNamespaceblockBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalNamespaceblockBase.scala index f3ab11ea0..7c49fe7f2 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalNamespaceblockBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalNamespaceblockBase.scala @@ -151,7 +151,7 @@ final class TraversalNamespaceblockBase[NodeType <: nodes.NamespaceBlockBase](va case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyHash.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyHash.scala index d465d24b0..7a1ddd6e7 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyHash.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyHash.scala @@ -39,7 +39,7 @@ final class TraversalPropertyHash[NodeType <: nodes.StoredNode & nodes.StaticTyp case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 24, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { node => diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyImportedAs.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyImportedAs.scala index 23646c0ab..f4b3393b8 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyImportedAs.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyImportedAs.scala @@ -39,7 +39,7 @@ final class TraversalPropertyImportedAs[NodeType <: nodes.StoredNode & nodes.Sta case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 24, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 25, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { node => diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyImportedEntity.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyImportedEntity.scala index 3f189fffb..8a4ff607a 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyImportedEntity.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyImportedEntity.scala @@ -40,7 +40,7 @@ final class TraversalPropertyImportedEntity[ case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 25, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 26, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { node => diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyKey.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyKey.scala index 657c62eae..a9d97dfd8 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyKey.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyKey.scala @@ -34,7 +34,7 @@ final class TraversalPropertyKey[NodeType <: nodes.StoredNode & nodes.StaticType case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 32, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 33, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.key == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyLanguage.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyLanguage.scala index d881baaad..2f95647dd 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyLanguage.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyLanguage.scala @@ -34,7 +34,7 @@ final class TraversalPropertyLanguage[NodeType <: nodes.StoredNode & nodes.Stati case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 33, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 34, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.language == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyMethodFullName.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyMethodFullName.scala index c8e43bfc3..a070b2085 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyMethodFullName.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyMethodFullName.scala @@ -35,7 +35,7 @@ final class TraversalPropertyMethodFullName[ case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 36, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 37, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.methodFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyMethodShortName.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyMethodShortName.scala index 840a39b34..682542598 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyMethodShortName.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyMethodShortName.scala @@ -35,7 +35,7 @@ final class TraversalPropertyMethodShortName[ case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 37, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 38, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.methodShortName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyModifierType.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyModifierType.scala index 3f38887e0..c01ca8b0f 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyModifierType.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyModifierType.scala @@ -34,7 +34,7 @@ final class TraversalPropertyModifierType[NodeType <: nodes.StoredNode & nodes.S case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 38, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.modifierType == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyName.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyName.scala index b5c720dd2..eb9c498f6 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyName.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyName.scala @@ -34,7 +34,7 @@ final class TraversalPropertyName[NodeType <: nodes.StoredNode & nodes.StaticTyp case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyNodeLabel.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyNodeLabel.scala index acb57ad8e..316d0b435 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyNodeLabel.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyNodeLabel.scala @@ -34,7 +34,7 @@ final class TraversalPropertyNodeLabel[NodeType <: nodes.StoredNode & nodes.Stat case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 41, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.nodeLabel == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyPackageName.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyPackageName.scala index fad9f6891..b9b9174de 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyPackageName.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyPackageName.scala @@ -34,7 +34,7 @@ final class TraversalPropertyPackageName[NodeType <: nodes.StoredNode & nodes.St case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 45, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.packageName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyParserTypeName.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyParserTypeName.scala index 9efee7bee..702496d62 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyParserTypeName.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyParserTypeName.scala @@ -35,7 +35,7 @@ final class TraversalPropertyParserTypeName[ case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 47, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.parserTypeName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyRoot.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyRoot.scala index ba130959b..4a80c668b 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyRoot.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyRoot.scala @@ -34,7 +34,7 @@ final class TraversalPropertyRoot[NodeType <: nodes.StoredNode & nodes.StaticTyp case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 48, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 49, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.root == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertySignature.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertySignature.scala index 73d4041f2..ebfd0adf5 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertySignature.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertySignature.scala @@ -34,7 +34,7 @@ final class TraversalPropertySignature[NodeType <: nodes.StoredNode & nodes.Stat case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 49, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 50, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.signature == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertySymbol.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertySymbol.scala index 08787395a..d1aa373ef 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertySymbol.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertySymbol.scala @@ -34,7 +34,7 @@ final class TraversalPropertySymbol[NodeType <: nodes.StoredNode & nodes.StaticT case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 50, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 51, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.symbol == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyTypeDeclFullName.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyTypeDeclFullName.scala index 6378926c3..593ad330b 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyTypeDeclFullName.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyTypeDeclFullName.scala @@ -35,7 +35,7 @@ final class TraversalPropertyTypeDeclFullName[ case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 51, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeDeclFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyTypeFullName.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyTypeFullName.scala index 14de30e66..be2f38f94 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyTypeFullName.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyTypeFullName.scala @@ -34,7 +34,7 @@ final class TraversalPropertyTypeFullName[NodeType <: nodes.StoredNode & nodes.S case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyValue.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyValue.scala index 9e3feeb51..21799281f 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyValue.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyValue.scala @@ -34,7 +34,7 @@ final class TraversalPropertyValue[NodeType <: nodes.StoredNode & nodes.StaticTy case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 54, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.value == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyVersion.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyVersion.scala index 6974274e5..665c7007f 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyVersion.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalPropertyVersion.scala @@ -34,7 +34,7 @@ final class TraversalPropertyVersion[NodeType <: nodes.StoredNode & nodes.Static case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 54, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 55, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.version == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTagBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTagBase.scala index ec89bb2a1..ca311c871 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTagBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTagBase.scala @@ -32,7 +32,7 @@ final class TraversalTagBase[NodeType <: nodes.TagBase](val traversal: Iterator[ case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } @@ -91,7 +91,7 @@ final class TraversalTagBase[NodeType <: nodes.TagBase](val traversal: Iterator[ case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 54, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.value == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTemplatedomBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTemplatedomBase.scala index 2b2b68526..aeb5aa5ea 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTemplatedomBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTemplatedomBase.scala @@ -33,7 +33,7 @@ final class TraversalTemplatedomBase[NodeType <: nodes.TemplateDomBase](val trav case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypeBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypeBase.scala index 9bc084fc8..70beddbcf 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypeBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypeBase.scala @@ -91,7 +91,7 @@ final class TraversalTypeBase[NodeType <: nodes.TypeBase](val traversal: Iterato case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } @@ -150,7 +150,7 @@ final class TraversalTypeBase[NodeType <: nodes.TypeBase](val traversal: Iterato case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 51, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeDeclFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypedeclBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypedeclBase.scala index 4fde5e815..e336edfd2 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypedeclBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypedeclBase.scala @@ -314,6 +314,65 @@ final class TraversalTypedeclBase[NodeType <: nodes.TypeDeclBase](val traversal: traversal.filter { item => matchers.find { _.reset(item.fullName).matches }.isEmpty } } + /** Traverse to genericSignature property */ + def genericSignature: Iterator[String] = + traversal.map(_.genericSignature) + + /** Traverse to nodes where the genericSignature matches the regular expression `value` + */ + def genericSignature(pattern: String): Iterator[NodeType] = + if (!flatgraph.misc.Regex.isRegex(pattern)) { + genericSignatureExact(pattern) + } else { + val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) + traversal.filter { item => matcher.reset(item.genericSignature).matches } + } + + /** Traverse to nodes where the genericSignature matches at least one of the regular expressions in `values` + */ + def genericSignature(patterns: String*): Iterator[NodeType] = { + val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) + traversal.filter { item => matchers.exists { _.reset(item.genericSignature).matches } } + } + + /** Traverse to nodes where genericSignature matches `value` exactly. + */ + def genericSignatureExact(value: String): Iterator[NodeType] = traversal match { + case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => + val someNode = init.next + flatgraph.Accessors + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) + .asInstanceOf[Iterator[NodeType]] + case _ => traversal.filter { _.genericSignature == value } + } + + /** Traverse to nodes where genericSignature matches one of the elements in `values` exactly. + */ + def genericSignatureExact(values: String*): Iterator[NodeType] = + if (values.length == 1) genericSignatureExact(values.head) + else { + val valueSet = values.toSet + traversal.filter { item => valueSet.contains(item.genericSignature) } + } + + /** Traverse to nodes where genericSignature does not match the regular expression `value`. + */ + def genericSignatureNot(pattern: String): Iterator[NodeType] = { + if (!flatgraph.misc.Regex.isRegex(pattern)) { + traversal.filter { node => node.genericSignature != pattern } + } else { + val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) + traversal.filterNot { item => matcher.reset(item.genericSignature).matches } + } + } + + /** Traverse to nodes where genericSignature does not match any of the regular expressions in `values`. + */ + def genericSignatureNot(patterns: String*): Iterator[NodeType] = { + val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) + traversal.filter { item => matchers.find { _.reset(item.genericSignature).matches }.isEmpty } + } + /** Traverse to inheritsFromTypeFullName property */ def inheritsFromTypeFullName: Iterator[String] = traversal.flatMap(_.inheritsFromTypeFullName) @@ -354,7 +413,7 @@ final class TraversalTypedeclBase[NodeType <: nodes.TypeDeclBase](val traversal: case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypeparameterBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypeparameterBase.scala index 3ce639f0f..9ab39b8e0 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypeparameterBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTypeparameterBase.scala @@ -33,7 +33,7 @@ final class TraversalTypeparameterBase[NodeType <: nodes.TypeParameterBase](val case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.name == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTyperefBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTyperefBase.scala index 742e72b11..87f53b687 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTyperefBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalTyperefBase.scala @@ -40,7 +40,7 @@ final class TraversalTyperefBase[NodeType <: nodes.TypeRefBase](val traversal: I case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalUnknownBase.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalUnknownBase.scala index 51cc2cb00..f46ed6fee 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalUnknownBase.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/TraversalUnknownBase.scala @@ -95,7 +95,7 @@ final class TraversalUnknownBase[NodeType <: nodes.UnknownBase](val traversal: I case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 47, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.parserTypeName == value } } @@ -158,7 +158,7 @@ final class TraversalUnknownBase[NodeType <: nodes.UnknownBase](val traversal: I case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => val someNode = init.next flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) + .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) .asInstanceOf[Iterator[NodeType]] case _ => traversal.filter { _.typeFullName == value } } diff --git a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/package.scala b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/package.scala index d30502b2c..497e31cce 100644 --- a/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/package.scala +++ b/domainClasses/src/main/generated/io/shiftleft/codepropertygraph/generated/traversals/package.scala @@ -105,6 +105,10 @@ package object traversals { implicit def accessPropertyFullNameTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasFullNameEMT]]( traversal: IterableOnce[NodeType] ): TraversalPropertyFullName[NodeType] = new TraversalPropertyFullName(traversal.iterator) + implicit def accessPropertyGenericSignatureTraversal[ + NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasGenericSignatureEMT] + ](traversal: IterableOnce[NodeType]): TraversalPropertyGenericSignature[NodeType] = + new TraversalPropertyGenericSignature(traversal.iterator) implicit def accessPropertyHashTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasHashEMT]]( traversal: IterableOnce[NodeType] ): TraversalPropertyHash[NodeType] = new TraversalPropertyHash(traversal.iterator) diff --git a/schema/src/main/scala/io/shiftleft/codepropertygraph/schema/Hidden.scala b/schema/src/main/scala/io/shiftleft/codepropertygraph/schema/Hidden.scala index 13c55294e..960713e77 100644 --- a/schema/src/main/scala/io/shiftleft/codepropertygraph/schema/Hidden.scala +++ b/schema/src/main/scala/io/shiftleft/codepropertygraph/schema/Hidden.scala @@ -2,6 +2,7 @@ package io.shiftleft.codepropertygraph.schema import flatgraph.schema.Property.ValueType import flatgraph.schema.{EdgeType, NodeType, SchemaBuilder, SchemaInfo} +import io.shiftleft.codepropertygraph.schema.CpgSchema.PropertyDefaults object Hidden extends SchemaBase { override def docIndex: Int = -1 @@ -287,6 +288,23 @@ object Hidden extends SchemaBase { |we can use this to preserve the link to the original""".stripMargin ) + val genericSignature = builder + .addProperty( + name = "GENERIC_SIGNATURE", + valueType = ValueType.String, + comment = """This field is experimental. It will likely be removed in the future without any notice. + |It stores type information for generic types and methods as well as type information + |for members and locals where the type either contains a type parameter reference or + |an instantiated type reference. + |""".stripMargin + ) + .mandatory(PropertyDefaults.String) + .protoId(251) + + method.addProperty(genericSignature) + typeDecl.addProperty(genericSignature) + member.addProperty(genericSignature) + local.addProperty(genericSignature) } }