2018-10-25 01:14:52 +02:00
|
|
|
/// <reference path='fourslash.ts' />
|
|
|
|
// @allowJs: true
|
|
|
|
// @checkJs: true
|
|
|
|
// @noImplicitAny: true
|
|
|
|
// @strictNullChecks: false
|
|
|
|
// @Filename: important.js
|
|
|
|
|
|
|
|
/////** @param x no types here! */
|
|
|
|
/////**
|
|
|
|
//// * 1
|
|
|
|
//// * @param x a duplicate!
|
|
|
|
//// * @param y yy
|
|
|
|
//// */
|
|
|
|
/////**
|
|
|
|
//// * 2
|
|
|
|
//// * @param z zz
|
|
|
|
//// */
|
|
|
|
////function f(x) {
|
|
|
|
//// return x * 1
|
|
|
|
////}
|
|
|
|
////
|
|
|
|
////var o = {
|
|
|
|
//// /** 1
|
|
|
|
//// * @return First one
|
|
|
|
//// */
|
|
|
|
//// // intrusive comment (should not be deleted)
|
|
|
|
//// /** 2
|
|
|
|
//// * @see also
|
|
|
|
//// */
|
|
|
|
//// /** 3
|
|
|
|
//// * @return Second one
|
|
|
|
//// * @extends {C<number>} nothing really
|
|
|
|
//// * @class
|
|
|
|
//// * @this {*} doesn't make sense here
|
|
|
|
//// * @enum wat
|
|
|
|
//// */
|
|
|
|
//// /**
|
|
|
|
//// * @typedef {number} Meter or something
|
|
|
|
//// * @typedef {Object} Position Comment!
|
|
|
|
//// * @property {number} x what a horrible place for a type
|
|
|
|
//// * @property {number} y please don't do this
|
|
|
|
//// */
|
|
|
|
//// /**
|
|
|
|
//// * @template {string} T postfix comment
|
|
|
|
//// * @callback Action not sure what this will do
|
|
|
|
//// * @param {T} thing
|
|
|
|
//// * @returns {string} oh no
|
|
|
|
//// */
|
|
|
|
//// get m() { return undefined }
|
|
|
|
////}
|
|
|
|
////o.m = 1
|
|
|
|
|
|
|
|
verify.codeFixAll({
|
|
|
|
fixId: "inferFromUsage",
|
|
|
|
fixAllDescription: "Infer all types from usage",
|
|
|
|
newFileContent:
|
|
|
|
`/**
|
|
|
|
* 1
|
|
|
|
* 2
|
|
|
|
* @param {number} x no types here!
|
|
|
|
* @param x a duplicate!
|
|
|
|
* @param y yy
|
|
|
|
* @param z zz
|
|
|
|
*/
|
|
|
|
function f(x) {
|
|
|
|
return x * 1
|
|
|
|
}
|
|
|
|
|
|
|
|
var o = {
|
|
|
|
// intrusive comment (should not be deleted)
|
|
|
|
/**
|
|
|
|
* 1
|
|
|
|
* 2
|
|
|
|
* 3
|
|
|
|
* @returns {number} First one
|
2020-09-09 19:45:09 +02:00
|
|
|
* @see {also}
|
2018-10-25 01:14:52 +02:00
|
|
|
* @return Second one
|
|
|
|
* @extends {C<number>} nothing really
|
|
|
|
* @class
|
|
|
|
* @this {*} doesn't make sense here
|
|
|
|
* @enum {wat}
|
|
|
|
* @typedef {number} Meter or something
|
|
|
|
* @typedef {Object} Position Comment!
|
|
|
|
* @property {number} x what a horrible place for a type
|
|
|
|
* @property {number} y please don't do this
|
|
|
|
* @template {string} T postfix comment
|
|
|
|
* @callback Action not sure what this will do
|
|
|
|
* @param {T} thing
|
|
|
|
* @returns {string} oh no
|
|
|
|
*/
|
|
|
|
get m() { return undefined }
|
|
|
|
}
|
|
|
|
o.m = 1`,
|
|
|
|
});
|
|
|
|
|