---
source: crates/oxc_semantic/tests/main.rs
input_file: crates/oxc_semantic/tests/fixtures/typescript-eslint/functions/function-declaration/type-parameters/param-reference.ts
---
[
  {
    "children": [
      {
        "children": [],
        "flag": "ScopeFlags(StrictMode | Function)",
        "id": 1,
        "node": "Function(foo)",
        "symbols": [
          {
            "flag": "SymbolFlags(TypeParameter)",
            "id": 1,
            "name": "T",
            "node": "TSTypeParameter(T)",
            "references": [
              {
                "flag": "ReferenceFlag(Type)",
                "id": 0,
                "name": "T",
                "node_id": 12
              }
            ]
          },
          {
            "flag": "SymbolFlags(FunctionScopedVariable)",
            "id": 2,
            "name": "a",
            "node": "FormalParameter(a)",
            "references": []
          }
        ]
      }
    ],
    "flag": "ScopeFlags(StrictMode | Top)",
    "id": 0,
    "node": "Program",
    "symbols": [
      {
        "flag": "SymbolFlags(BlockScopedVariable | Function)",
        "id": 0,
        "name": "foo",
        "node": "Function(foo)",
        "references": []
      }
    ]
  }
]
