{ "shapeArm": { "cobol": { "plainChain": "N/A", "plainDeepChain": "N/A", "optionalChain": "N/A", "nonNullAssert": "N/A", "awaitParen": "N/A", "explicitTypeArgs": "N/A", "indexElement": "N/A", "fieldReceiverCall": "N/A", "decoratedReceiverBase": "N/A", "decoratedFieldType": "N/A" }, "typescript": { "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "RESOLVES", "nonNullAssert": "RESOLVES", "awaitParen": "RESOLVES", "explicitTypeArgs": "RESOLVES", "indexElement": "RESOLVES", "fourHopChain": "RESOLVES", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "RESOLVES" }, "php": { "arrowCallChain": "VISIBLE-GAP", "arrowPropertyPath": "RESOLVES", "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "RESOLVES", "nonNullAssert": "N/A", "awaitParen": "N/A", "explicitTypeArgs": "N/A", "indexElement": "VISIBLE-GAP", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "RESOLVES" }, "cpp": { "pointerArrowChain": "RESOLVES", "valueDotChain": "RESOLVES", "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "N/A", "nonNullAssert": "N/A", "awaitParen": "VISIBLE-GAP", "explicitTypeArgs": "VISIBLE-GAP", "indexElement": "RESOLVES", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "RESOLVES" }, "go": { "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "N/A", "nonNullAssert": "N/A", "awaitParen": "N/A", "explicitTypeArgs": "N/A", "indexElement": "RESOLVES", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "RESOLVES", "decoratedFieldType": "RESOLVES" }, "javascript": { "plainChain": "RESOLVES", "untypedChain": "VISIBLE-GAP", "plainDeepChain": "RESOLVES", "optionalChain": "RESOLVES", "nonNullAssert": "N/A", "awaitParen": "RESOLVES", "explicitTypeArgs": "N/A", "indexElement": "VISIBLE-GAP", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "N/A" }, "python": { "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "N/A", "nonNullAssert": "N/A", "awaitParen": "RESOLVES", "explicitTypeArgs": "N/A", "indexElement": "RESOLVES", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "RESOLVES" }, "java": { "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "N/A", "nonNullAssert": "N/A", "awaitParen": "N/A", "explicitTypeArgs": "RESOLVES", "indexElement": "VISIBLE-GAP", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "N/A" }, "csharp": { "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "RESOLVES", "nonNullAssert": "RESOLVES", "awaitParen": "RESOLVES", "explicitTypeArgs": "RESOLVES", "indexElement": "VISIBLE-GAP", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "RESOLVES" }, "ruby": { "plainChain": "RESOLVES", "untypedChain": "VISIBLE-GAP", "plainDeepChain": "VISIBLE-GAP", "optionalChain": "RESOLVES", "nonNullAssert": "N/A", "awaitParen": "N/A", "explicitTypeArgs": "N/A", "indexElement": "VISIBLE-GAP", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "N/A" }, "rust": { "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "N/A", "nonNullAssert": "N/A", "awaitParen": "RESOLVES", "explicitTypeArgs": "RESOLVES", "indexElement": "RESOLVES", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "RESOLVES", "decoratedFieldType": "RESOLVES" }, "c": { "plainChain": "N/A", "plainDeepChain": "N/A", "optionalChain": "N/A", "nonNullAssert": "N/A", "awaitParen": "N/A", "explicitTypeArgs": "N/A", "indexElement": "N/A", "fieldReceiverCall": "N/A", "decoratedReceiverBase": "N/A", "decoratedFieldType": "N/A" }, "kotlin": { "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "RESOLVES", "nonNullAssert": "RESOLVES", "awaitParen": "RESOLVES", "explicitTypeArgs": "RESOLVES", "indexElement": "RESOLVES", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "RESOLVES" }, "swift": { "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "RESOLVES", "nonNullAssert": "RESOLVES", "awaitParen": "RESOLVES", "explicitTypeArgs": "N/A", "indexElement": "VISIBLE-GAP", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "RESOLVES" }, "dart": { "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "RESOLVES", "nonNullAssert": "VISIBLE-GAP", "awaitParen": "WRONG-TARGET", "explicitTypeArgs": "VISIBLE-GAP", "indexElement": "INVISIBLE-GAP", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "RESOLVES" }, "vue": { "plainChain": "RESOLVES", "plainDeepChain": "RESOLVES", "optionalChain": "RESOLVES", "nonNullAssert": "RESOLVES", "awaitParen": "RESOLVES", "explicitTypeArgs": "RESOLVES", "indexElement": "VISIBLE-GAP", "fourHopChain": "RESOLVES", "fieldReceiverCall": "RESOLVES", "decoratedReceiverBase": "N/A", "decoratedFieldType": "RESOLVES" } }, "countArm": { "callDrops": 140, "totalDropsAllKinds": 171, "bySiteKind": { "call": 140, "read": 31 }, "callDropsByExtension": { ".java": 49, ".py": 24, ".ts": 18, ".zig": 10, ".kt": 8, ".tsx": 6, ".php": 6, ".rs": 6, ".cs": 5, ".go": 4, ".dart": 2, ".js": 1, ".swift": 1 }, "callDropsByShape": { "chain-field": 56, "no-chain": 38, "chain-call": 32, "<>": 13, "chain-unwrap": 1 }, "callDropsByOrigin": { "in-program": 58, "unknown": 49, "external": 31, "<>": 2 } } }