@@ -117,152 +117,158 @@ object Properties {
117
117
*/
118
118
val FullName = flatgraph.SinglePropertyKey [String ](kind = 22 , name = " FULL_NAME" , default = " <empty>" )
119
119
120
+ /** This field is experimental. It will likely be removed in the future without any notice. It stores type information
121
+ * for generic types and methods as well as type information for members and locals where the type either contains a
122
+ * type parameter reference or an instantiated type reference.
123
+ */
124
+ val GenericSignature = flatgraph.SinglePropertyKey [String ](kind = 23 , name = " GENERIC_SIGNATURE" , default = " <empty>" )
125
+
120
126
/** This property contains a hash value in the form of a string. Hashes can be used to summarize data, e.g., to
121
127
* summarize the contents of source files or sub graphs. Such summaries are useful to determine whether code has
122
128
* already been analyzed in incremental analysis pipelines. This property is optional to allow its calculation to be
123
129
* deferred or skipped if the hash is not needed.
124
130
*/
125
- val Hash = flatgraph.OptionalPropertyKey [String ](kind = 23 , name = " HASH" )
131
+ val Hash = flatgraph.OptionalPropertyKey [String ](kind = 24 , name = " HASH" )
126
132
127
133
/** The identifier under which the import can be accessed in the importing context. For a Java import this is always
128
134
* identical to the class name. But e.g. for a Kotlin import like "import java.nio.ByteBuffer as BBuffer" this would
129
135
* be "BBuffer". This property is ignored if IS_WILDCARD is true.
130
136
*/
131
- val ImportedAs = flatgraph.OptionalPropertyKey [String ](kind = 24 , name = " IMPORTED_AS" )
137
+ val ImportedAs = flatgraph.OptionalPropertyKey [String ](kind = 25 , name = " IMPORTED_AS" )
132
138
133
139
/** The identifying string of the imported entity. For a Java import like "import java.nio.ByteBuffer;" this would be
134
140
* "java.nio.ByteBuffer".
135
141
*/
136
- val ImportedEntity = flatgraph.OptionalPropertyKey [String ](kind = 25 , name = " IMPORTED_ENTITY" )
142
+ val ImportedEntity = flatgraph.OptionalPropertyKey [String ](kind = 26 , name = " IMPORTED_ENTITY" )
137
143
138
144
/** Specifies an index, e.g., for a parameter or argument. Explicit parameters are numbered from 1 to N, while index 0
139
145
* is reserved for implicit self / this parameter.
140
146
*/
141
- val Index = flatgraph.SinglePropertyKey [Int ](kind = 26 , name = " INDEX" , default = - 1 : Int )
147
+ val Index = flatgraph.SinglePropertyKey [Int ](kind = 27 , name = " INDEX" , default = - 1 : Int )
142
148
143
149
/** The static types a TYPE_DECL inherits from. This property is matched against the FULL_NAME of TYPE nodes and thus
144
150
* it is required to have at least one TYPE node for each TYPE_FULL_NAME
145
151
*/
146
- val InheritsFromTypeFullName = flatgraph.MultiPropertyKey [String ](kind = 27 , name = " INHERITS_FROM_TYPE_FULL_NAME" )
152
+ val InheritsFromTypeFullName = flatgraph.MultiPropertyKey [String ](kind = 28 , name = " INHERITS_FROM_TYPE_FULL_NAME" )
147
153
148
154
/** Specifies whether this is an explicit import. Most languages have implicit default imports of some standard
149
155
* library elements and this flag is used to distinguish those from explicit imports found in the code base.
150
156
*/
151
- val IsExplicit = flatgraph.OptionalPropertyKey [Boolean ](kind = 28 , name = " IS_EXPLICIT" )
157
+ val IsExplicit = flatgraph.OptionalPropertyKey [Boolean ](kind = 29 , name = " IS_EXPLICIT" )
152
158
153
159
/** Indicates that the construct (METHOD or TYPE_DECL) is external, that is, it is referenced but not defined in the
154
160
* code (applies both to insular parsing and to library functions where we have header files only)
155
161
*/
156
- val IsExternal = flatgraph.SinglePropertyKey [Boolean ](kind = 29 , name = " IS_EXTERNAL" , default = false )
162
+ val IsExternal = flatgraph.SinglePropertyKey [Boolean ](kind = 30 , name = " IS_EXTERNAL" , default = false )
157
163
158
164
/** Specifies whether a parameter is the variadic argument handling parameter of a variadic method. Only one parameter
159
165
* of a method is allowed to have this property set to true.
160
166
*/
161
- val IsVariadic = flatgraph.SinglePropertyKey [Boolean ](kind = 30 , name = " IS_VARIADIC" , default = false )
167
+ val IsVariadic = flatgraph.SinglePropertyKey [Boolean ](kind = 31 , name = " IS_VARIADIC" , default = false )
162
168
163
169
/** Specifies whether this is a wildcard import. For a Java import like "import java.nio.*;" IS_WILDCARD would be
164
170
* "true" and IMPORTED_ENTITY would be "java.nio". For wildcard imports the IMPORTED_AS property is ignored.
165
171
*/
166
- val IsWildcard = flatgraph.OptionalPropertyKey [Boolean ](kind = 31 , name = " IS_WILDCARD" )
172
+ val IsWildcard = flatgraph.OptionalPropertyKey [Boolean ](kind = 32 , name = " IS_WILDCARD" )
167
173
168
174
/** This property denotes a key of a key-value pair. */
169
- val Key = flatgraph.SinglePropertyKey [String ](kind = 32 , name = " KEY" , default = " <empty>" )
175
+ val Key = flatgraph.SinglePropertyKey [String ](kind = 33 , name = " KEY" , default = " <empty>" )
170
176
171
177
/** This field indicates which CPG language frontend generated the CPG. Frontend developers may freely choose a value
172
178
* that describes their frontend so long as it is not used by an existing frontend. Reserved values are to date: C,
173
179
* LLVM, GHIDRA, PHP.
174
180
*/
175
- val Language = flatgraph.SinglePropertyKey [String ](kind = 33 , name = " LANGUAGE" , default = " <empty>" )
181
+ val Language = flatgraph.SinglePropertyKey [String ](kind = 34 , name = " LANGUAGE" , default = " <empty>" )
176
182
177
183
/** This optional field provides the line number of the program construct represented by the node.
178
184
*/
179
- val LineNumber = flatgraph.OptionalPropertyKey [Int ](kind = 34 , name = " LINE_NUMBER" )
185
+ val LineNumber = flatgraph.OptionalPropertyKey [Int ](kind = 35 , name = " LINE_NUMBER" )
180
186
181
187
/** This optional fields provides the line number at which the program construct represented by the node ends.
182
188
*/
183
- val LineNumberEnd = flatgraph.OptionalPropertyKey [Int ](kind = 35 , name = " LINE_NUMBER_END" )
189
+ val LineNumberEnd = flatgraph.OptionalPropertyKey [Int ](kind = 36 , name = " LINE_NUMBER_END" )
184
190
185
191
/** The FULL_NAME of a method. Used to link CALL and METHOD nodes. It is required to have exactly one METHOD node for
186
192
* each METHOD_FULL_NAME
187
193
*/
188
- val MethodFullName = flatgraph.SinglePropertyKey [String ](kind = 36 , name = " METHOD_FULL_NAME" , default = " <empty>" )
194
+ val MethodFullName = flatgraph.SinglePropertyKey [String ](kind = 37 , name = " METHOD_FULL_NAME" , default = " <empty>" )
189
195
190
- val MethodShortName = flatgraph.SinglePropertyKey [String ](kind = 37 , name = " METHOD_SHORT_NAME" , default = " <empty>" )
196
+ val MethodShortName = flatgraph.SinglePropertyKey [String ](kind = 38 , name = " METHOD_SHORT_NAME" , default = " <empty>" )
191
197
192
198
/** The modifier type is a free-form string. The following are known modifier types: `STATIC`, `PUBLIC`, `PROTECTED`,
193
199
* `PRIVATE`, `ABSTRACT`, `NATIVE`, `CONSTRUCTOR`, `VIRTUAL`.
194
200
*/
195
- val ModifierType = flatgraph.SinglePropertyKey [String ](kind = 38 , name = " MODIFIER_TYPE" , default = " <empty>" )
201
+ val ModifierType = flatgraph.SinglePropertyKey [String ](kind = 39 , name = " MODIFIER_TYPE" , default = " <empty>" )
196
202
197
203
/** Name of represented object, e.g., method name (e.g. "run") */
198
- val Name = flatgraph.SinglePropertyKey [String ](kind = 39 , name = " NAME" , default = " <empty>" )
204
+ val Name = flatgraph.SinglePropertyKey [String ](kind = 40 , name = " NAME" , default = " <empty>" )
199
205
200
- val NodeLabel = flatgraph.SinglePropertyKey [String ](kind = 40 , name = " NODE_LABEL" , default = " <empty>" )
206
+ val NodeLabel = flatgraph.SinglePropertyKey [String ](kind = 41 , name = " NODE_LABEL" , default = " <empty>" )
201
207
202
208
/** Start offset into the CONTENT property of the corresponding FILE node. The offset is such that parts of the
203
209
* content can easily be accessed via `content.substring(offset, offsetEnd)`. This means that the offset must be
204
210
* measured in utf16 encoding (i.e. neither in characters/codeunits nor in byte-offsets into a utf8 encoding). E.g.
205
211
* for METHOD nodes this start offset points to the start of the methods source code in the string holding the source
206
212
* code of the entire file.
207
213
*/
208
- val Offset = flatgraph.OptionalPropertyKey [Int ](kind = 41 , name = " OFFSET" )
214
+ val Offset = flatgraph.OptionalPropertyKey [Int ](kind = 42 , name = " OFFSET" )
209
215
210
216
/** End offset (exclusive) into the CONTENT property of the corresponding FILE node. See OFFSET documentation for
211
217
* finer details. E.g. for METHOD nodes this end offset points to the first code position which is not part of the
212
218
* method.
213
219
*/
214
- val OffsetEnd = flatgraph.OptionalPropertyKey [Int ](kind = 42 , name = " OFFSET_END" )
220
+ val OffsetEnd = flatgraph.OptionalPropertyKey [Int ](kind = 43 , name = " OFFSET_END" )
215
221
216
222
/** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order of
217
223
* 0.
218
224
*/
219
- val Order = flatgraph.SinglePropertyKey [Int ](kind = 43 , name = " ORDER" , default = - 1 : Int )
225
+ val Order = flatgraph.SinglePropertyKey [Int ](kind = 44 , name = " ORDER" , default = - 1 : Int )
220
226
221
227
/** The field contains the names of the overlays applied to this CPG, in order of their application. Names are
222
228
* free-form strings, that is, this specification does not dictate them but rather requires tool producers and
223
229
* consumers to communicate them between each other.
224
230
*/
225
- val Overlays = flatgraph.MultiPropertyKey [String ](kind = 44 , name = " OVERLAYS" )
231
+ val Overlays = flatgraph.MultiPropertyKey [String ](kind = 45 , name = " OVERLAYS" )
226
232
227
- val PackageName = flatgraph.SinglePropertyKey [String ](kind = 45 , name = " PACKAGE_NAME" , default = " <empty>" )
233
+ val PackageName = flatgraph.SinglePropertyKey [String ](kind = 46 , name = " PACKAGE_NAME" , default = " <empty>" )
228
234
229
235
/** AST node type name emitted by parser. */
230
- val ParserTypeName = flatgraph.SinglePropertyKey [String ](kind = 46 , name = " PARSER_TYPE_NAME" , default = " <empty>" )
236
+ val ParserTypeName = flatgraph.SinglePropertyKey [String ](kind = 47 , name = " PARSER_TYPE_NAME" , default = " <empty>" )
231
237
232
238
/** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are
233
239
* correct. This property is used to capture observations between node interactions during a 'may-analysis'.
234
240
*/
235
- val PossibleTypes = flatgraph.MultiPropertyKey [String ](kind = 47 , name = " POSSIBLE_TYPES" )
241
+ val PossibleTypes = flatgraph.MultiPropertyKey [String ](kind = 48 , name = " POSSIBLE_TYPES" )
236
242
237
243
/** The path to the root directory of the source/binary this CPG is generated from. */
238
- val Root = flatgraph.SinglePropertyKey [String ](kind = 48 , name = " ROOT" , default = " <empty>" )
244
+ val Root = flatgraph.SinglePropertyKey [String ](kind = 49 , name = " ROOT" , default = " <empty>" )
239
245
240
246
/** The method signature encodes the types of parameters in a string. The string SHOULD be human readable and suitable
241
247
* for differentiating methods with different parameter types sufficiently to allow for resolving of function
242
248
* overloading. The present specification does not enforce a strict format for the signature, that is, it can be
243
249
* chosen by the frontend implementor to fit the source language.
244
250
*/
245
- val Signature = flatgraph.SinglePropertyKey [String ](kind = 49 , name = " SIGNATURE" , default = " " )
251
+ val Signature = flatgraph.SinglePropertyKey [String ](kind = 50 , name = " SIGNATURE" , default = " " )
246
252
247
- val Symbol = flatgraph.SinglePropertyKey [String ](kind = 50 , name = " SYMBOL" , default = " <empty>" )
253
+ val Symbol = flatgraph.SinglePropertyKey [String ](kind = 51 , name = " SYMBOL" , default = " <empty>" )
248
254
249
255
/** The static type decl of a TYPE. This property is matched against the FULL_NAME of TYPE_DECL nodes. It is required
250
256
* to have exactly one TYPE_DECL for each different TYPE_DECL_FULL_NAME
251
257
*/
252
258
val TypeDeclFullName =
253
- flatgraph.SinglePropertyKey [String ](kind = 51 , name = " TYPE_DECL_FULL_NAME" , default = " <empty>" )
259
+ flatgraph.SinglePropertyKey [String ](kind = 52 , name = " TYPE_DECL_FULL_NAME" , default = " <empty>" )
254
260
255
261
/** This field contains the fully-qualified static type name of the program construct represented by a node. It is the
256
262
* name of an instantiated type, e.g., `java.util.List<Integer>`, rather than `java.util.List[T]`. If the type cannot
257
263
* be determined, this field should be set to the empty string.
258
264
*/
259
- val TypeFullName = flatgraph.SinglePropertyKey [String ](kind = 52 , name = " TYPE_FULL_NAME" , default = " <empty>" )
265
+ val TypeFullName = flatgraph.SinglePropertyKey [String ](kind = 53 , name = " TYPE_FULL_NAME" , default = " <empty>" )
260
266
261
267
/** This property denotes a string value as used in a key-value pair. */
262
- val Value = flatgraph.SinglePropertyKey [String ](kind = 53 , name = " VALUE" , default = " " )
268
+ val Value = flatgraph.SinglePropertyKey [String ](kind = 54 , name = " VALUE" , default = " " )
263
269
264
270
/** A version, given as a string. Used, for example, in the META_DATA node to indicate which version of the CPG spec
265
271
* this CPG conforms to
266
272
*/
267
- val Version = flatgraph.SinglePropertyKey [String ](kind = 54 , name = " VERSION" , default = " <empty>" )
273
+ val Version = flatgraph.SinglePropertyKey [String ](kind = 55 , name = " VERSION" , default = " <empty>" )
268
274
}
0 commit comments