code: function checkTypeParameter(node) {
              // Grammar Checking
              if (node.expression) {
                  grammarErrorOnFirstToken(node.expression, ts.Diagnostics.Type_expected);
              }
              checkSourceElement(node.constraint);
              getConstraintOfTypeParameter(getDeclaredTypeOfTypeParameter(getSymbolOfNode(node)));
              if (produceDiagnostics) {
                  checkTypeNameIsReserved(node.name, ts.Diagnostics.Type_parameter_name_cannot_be_0);
              }
          }
docs: DECLARATION AND STATEMENT TYPE CHECKING