mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Merge branch 'master' into lessDirectCallsToError
Conflicts: src/compiler/checker.ts src/compiler/diagnosticInformationMap.generated.ts src/compiler/diagnosticMessages.json
This commit is contained in:
@@ -11,6 +11,7 @@ tests/cases/*/*/*.js.map
|
||||
tests/cases/*/*/*/*.js.map
|
||||
tests/cases/*/*/*/*/*.js.map
|
||||
tests/cases/rwc/*
|
||||
tests/cases/test262/*
|
||||
tests/cases/perf/*
|
||||
!tests/cases/webharness/compilerToString.js
|
||||
test-args.txt
|
||||
@@ -19,6 +20,7 @@ tests/baselines/local/*
|
||||
tests/services/baselines/local/*
|
||||
tests/baselines/prototyping/local/*
|
||||
tests/baselines/rwc/*
|
||||
tests/baselines/test262/*
|
||||
tests/services/baselines/prototyping/local/*
|
||||
tests/services/browser/typescriptServices.js
|
||||
scripts/processDiagnosticMessages.d.ts
|
||||
|
||||
@@ -78,6 +78,7 @@ var harnessSources = [
|
||||
"projectsRunner.ts",
|
||||
"loggedIO.ts",
|
||||
"rwcRunner.ts",
|
||||
"test262Runner.ts",
|
||||
"runner.ts"
|
||||
].map(function (f) {
|
||||
return path.join(harnessDirectory, f);
|
||||
@@ -91,10 +92,12 @@ var harnessSources = [
|
||||
|
||||
var librarySourceMap = [
|
||||
{ target: "lib.core.d.ts", sources: ["core.d.ts"] },
|
||||
{ target: "lib.dom.d.ts", sources: ["importcore.d.ts", "extensions.d.ts", "dom.generated.d.ts"], },
|
||||
{ target: "lib.webworker.d.ts", sources: ["importcore.d.ts", "extensions.d.ts", "webworker.generated.d.ts"], },
|
||||
{ target: "lib.dom.d.ts", sources: ["importcore.d.ts", "extensions.d.ts", "intl.d.ts", "dom.generated.d.ts"], },
|
||||
{ target: "lib.webworker.d.ts", sources: ["importcore.d.ts", "extensions.d.ts", "intl.d.ts", "webworker.generated.d.ts"], },
|
||||
{ target: "lib.scriptHost.d.ts", sources: ["importcore.d.ts", "scriptHost.d.ts"], },
|
||||
{ target: "lib.d.ts", sources: ["core.d.ts", "extensions.d.ts", "dom.generated.d.ts", "webworker.importscripts.d.ts", "scriptHost.d.ts"], },
|
||||
{ target: "lib.d.ts", sources: ["core.d.ts", "extensions.d.ts", "intl.d.ts", "dom.generated.d.ts", "webworker.importscripts.d.ts", "scriptHost.d.ts"], },
|
||||
{ target: "lib.core.es6.d.ts", sources: ["core.d.ts", "es6.d.ts"]},
|
||||
{ target: "lib.es6.d.ts", sources: ["core.d.ts", "es6.d.ts", "intl.d.ts", "dom.generated.d.ts", "webworker.importscripts.d.ts", "scriptHost.d.ts"]},
|
||||
];
|
||||
|
||||
var libraryTargets = librarySourceMap.map(function (f) {
|
||||
@@ -135,7 +138,6 @@ function concatenateFiles(destinationFile, sourceFiles) {
|
||||
}
|
||||
|
||||
var useDebugMode = true;
|
||||
var generateDeclarations = false;
|
||||
var host = (process.env.host || process.env.TYPESCRIPT_HOST || "node");
|
||||
var compilerFilename = "tsc.js";
|
||||
/* Compiles a file from a list of sources
|
||||
@@ -146,7 +148,7 @@ var compilerFilename = "tsc.js";
|
||||
* @param useBuiltCompiler: true to use the built compiler, false to use the LKG
|
||||
* @param noOutFile: true to compile without using --out
|
||||
*/
|
||||
function compileFile(outFile, sources, prereqs, prefixes, useBuiltCompiler, noOutFile) {
|
||||
function compileFile(outFile, sources, prereqs, prefixes, useBuiltCompiler, noOutFile, generateDeclarations) {
|
||||
file(outFile, prereqs, function() {
|
||||
var dir = useBuiltCompiler ? builtLocalDirectory : LKGDirectory;
|
||||
var options = "-removeComments --module commonjs -noImplicitAny ";
|
||||
@@ -157,7 +159,7 @@ function compileFile(outFile, sources, prereqs, prefixes, useBuiltCompiler, noOu
|
||||
if (useDebugMode) {
|
||||
options += "--preserveConstEnums ";
|
||||
}
|
||||
|
||||
|
||||
var cmd = host + " " + dir + compilerFilename + " " + options + " ";
|
||||
cmd = cmd + sources.join(" ") + (!noOutFile ? " -out " + outFile : "");
|
||||
if (useDebugMode) {
|
||||
@@ -184,7 +186,7 @@ function compileFile(outFile, sources, prereqs, prefixes, useBuiltCompiler, noOu
|
||||
fs.unlinkSync(outFile);
|
||||
console.log("Compilation of " + outFile + " unsuccessful");
|
||||
});
|
||||
ex.run();
|
||||
ex.run();
|
||||
}, {async: true});
|
||||
}
|
||||
|
||||
@@ -239,7 +241,7 @@ file(diagnosticInfoMapTs, [processDiagnosticMessagesJs, diagnosticMessagesJson],
|
||||
ex.addListener("cmdEnd", function() {
|
||||
complete();
|
||||
});
|
||||
ex.run();
|
||||
ex.run();
|
||||
}, {async: true})
|
||||
|
||||
|
||||
@@ -252,7 +254,8 @@ var tscFile = path.join(builtLocalDirectory, compilerFilename);
|
||||
compileFile(tscFile, compilerSources, [builtLocalDirectory, copyright].concat(compilerSources), [copyright], /*useBuiltCompiler:*/ false);
|
||||
|
||||
var servicesFile = path.join(builtLocalDirectory, "typescriptServices.js");
|
||||
compileFile(servicesFile, servicesSources, [builtLocalDirectory, copyright].concat(servicesSources), [copyright], /*useBuiltCompiler:*/ true);
|
||||
var servicesDefinitionsFile = path.join(builtLocalDirectory, "typescriptServices.d.ts");
|
||||
compileFile(servicesFile, servicesSources, [builtLocalDirectory, copyright].concat(servicesSources), [copyright], /*useBuiltCompiler:*/ true, /*noOutFile:*/ false, /*generateDeclarations:*/ true);
|
||||
|
||||
// Local target to build the compiler and services
|
||||
desc("Builds the full compiler and services");
|
||||
@@ -275,11 +278,6 @@ task("clean", function() {
|
||||
jake.rmRf(builtDirectory);
|
||||
});
|
||||
|
||||
// generate declarations for compiler and services
|
||||
desc("Generate declarations for compiler and services");
|
||||
task("declaration", function() {
|
||||
generateDeclarations = true;
|
||||
});
|
||||
|
||||
// Generate Markdown spec
|
||||
var word2mdJs = path.join(scriptsDirectory, "word2md.js");
|
||||
@@ -314,7 +312,7 @@ task("generate-spec", [specMd])
|
||||
// Makes a new LKG. This target does not build anything, but errors if not all the outputs are present in the built/local directory
|
||||
desc("Makes a new LKG out of the built js files");
|
||||
task("LKG", ["clean", "release", "local"].concat(libraryTargets), function() {
|
||||
var expectedFiles = [tscFile, servicesFile].concat(libraryTargets);
|
||||
var expectedFiles = [tscFile, servicesFile, servicesDefinitionsFile].concat(libraryTargets);
|
||||
var missingFiles = expectedFiles.filter(function (f) {
|
||||
return !fs.existsSync(f);
|
||||
});
|
||||
@@ -346,6 +344,9 @@ var refBaseline = "tests/baselines/reference/";
|
||||
var localRwcBaseline = "tests/baselines/rwc/local/";
|
||||
var refRwcBaseline = "tests/baselines/rwc/reference/";
|
||||
|
||||
var localTest262Baseline = "tests/baselines/test262/local/";
|
||||
var refTest262Baseline = "tests/baselines/test262/reference/";
|
||||
|
||||
desc("Builds the test infrastructure using the built compiler");
|
||||
task("tests", ["local", run].concat(libraryTargets));
|
||||
|
||||
@@ -514,6 +515,12 @@ task("baseline-accept-rwc", function() {
|
||||
fs.renameSync(localRwcBaseline, refRwcBaseline);
|
||||
});
|
||||
|
||||
desc("Makes the most recent test262 test results the new baseline, overwriting the old baseline");
|
||||
task("baseline-accept-test262", function() {
|
||||
jake.rmRf(refTest262Baseline);
|
||||
fs.renameSync(localTest262Baseline, refTest262Baseline);
|
||||
});
|
||||
|
||||
|
||||
// Webhost
|
||||
var webhostPath = "tests/webhost/webtsc.ts";
|
||||
@@ -547,7 +554,7 @@ file(loggedIOJsPath, [builtLocalDirectory, loggedIOpath], function() {
|
||||
jake.rmRf(temp);
|
||||
complete();
|
||||
});
|
||||
ex.run();
|
||||
ex.run();
|
||||
}, {async: true});
|
||||
|
||||
var instrumenterPath = harnessDirectory + 'instrumenter.ts';
|
||||
|
||||
@@ -135,6 +135,7 @@ module ts {
|
||||
if (node.name) {
|
||||
node.name.parent = node;
|
||||
}
|
||||
|
||||
// Report errors every position with duplicate declaration
|
||||
// Report errors on previous encountered declarations
|
||||
var message = symbol.flags & SymbolFlags.BlockScopedVariable
|
||||
|
||||
+12
-2
@@ -1613,6 +1613,8 @@ module ts {
|
||||
return isDeclarationVisible(<Declaration>parent);
|
||||
|
||||
case SyntaxKind.Property:
|
||||
case SyntaxKind.GetAccessor:
|
||||
case SyntaxKind.SetAccessor:
|
||||
case SyntaxKind.Method:
|
||||
if (node.flags & (NodeFlags.Private | NodeFlags.Protected)) {
|
||||
// Private/protected properties/methods are not visible
|
||||
@@ -1627,6 +1629,14 @@ module ts {
|
||||
case SyntaxKind.Parameter:
|
||||
case SyntaxKind.ModuleBlock:
|
||||
case SyntaxKind.TypeParameter:
|
||||
case SyntaxKind.FunctionType:
|
||||
case SyntaxKind.ConstructorType:
|
||||
case SyntaxKind.TypeLiteral:
|
||||
case SyntaxKind.TypeReference:
|
||||
case SyntaxKind.ArrayType:
|
||||
case SyntaxKind.TupleType:
|
||||
case SyntaxKind.UnionType:
|
||||
case SyntaxKind.ParenthesizedType:
|
||||
return isDeclarationVisible(<Declaration>node.parent);
|
||||
|
||||
// Source file is always visible
|
||||
@@ -5344,7 +5354,7 @@ module ts {
|
||||
var templateExpression = <TemplateExpression>tagExpression.template;
|
||||
var lastSpan = lastOrUndefined(templateExpression.templateSpans);
|
||||
Debug.assert(lastSpan !== undefined); // we should always have at least one span.
|
||||
callIsIncomplete = getFullWidth(lastSpan.literal) === 0 || isUnterminatedTemplateEnd(lastSpan.literal);
|
||||
callIsIncomplete = getFullWidth(lastSpan.literal) === 0 || !!lastSpan.literal.isUnterminated;
|
||||
}
|
||||
else {
|
||||
// If the template didn't end in a backtick, or its beginning occurred right prior to EOF,
|
||||
@@ -5352,7 +5362,7 @@ module ts {
|
||||
// so we consider the call to be incomplete.
|
||||
var templateLiteral = <LiteralExpression>tagExpression.template;
|
||||
Debug.assert(templateLiteral.kind === SyntaxKind.NoSubstitutionTemplateLiteral);
|
||||
callIsIncomplete = isUnterminatedTemplateEnd(templateLiteral);
|
||||
callIsIncomplete = !!templateLiteral.isUnterminated;
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -137,7 +137,9 @@ module ts {
|
||||
Classes_can_only_extend_a_single_class: { code: 1174, category: DiagnosticCategory.Error, key: "Classes can only extend a single class." },
|
||||
implements_clause_already_seen: { code: 1175, category: DiagnosticCategory.Error, key: "'implements' clause already seen." },
|
||||
Interface_declaration_cannot_have_implements_clause: { code: 1176, category: DiagnosticCategory.Error, key: "Interface declaration cannot have 'implements' clause." },
|
||||
Unexpected_token_expected: { code: 1177, category: DiagnosticCategory.Error, key: "Unexpected token. '{' expected." },
|
||||
Binary_digit_expected: { code: 1177, category: DiagnosticCategory.Error, key: "Binary digit expected." },
|
||||
Octal_digit_expected: { code: 1178, category: DiagnosticCategory.Error, key: "Octal digit expected." },
|
||||
Unexpected_token_expected: { code: 1179, category: DiagnosticCategory.Error, key: "Unexpected token. '{' expected." },
|
||||
Duplicate_identifier_0: { code: 2300, category: DiagnosticCategory.Error, key: "Duplicate identifier '{0}'." },
|
||||
Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: { code: 2301, category: DiagnosticCategory.Error, key: "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor." },
|
||||
Static_members_cannot_reference_class_type_parameters: { code: 2302, category: DiagnosticCategory.Error, key: "Static members cannot reference class type parameters." },
|
||||
|
||||
@@ -483,7 +483,8 @@
|
||||
"category": "Error",
|
||||
"code": 1162
|
||||
},
|
||||
"'yield' expression must be contained_within a generator declaration.": {
|
||||
"'yield' expression must be contained_within a generator declaration."
|
||||
: {
|
||||
"category": "Error",
|
||||
"code": 1163
|
||||
},
|
||||
@@ -539,10 +540,18 @@
|
||||
"category": "Error",
|
||||
"code": 1176
|
||||
},
|
||||
"Unexpected token. '{' expected.": {
|
||||
"Binary digit expected.": {
|
||||
"category": "Error",
|
||||
"code": 1177
|
||||
},
|
||||
"Octal digit expected.": {
|
||||
"category": "Error",
|
||||
"code": 1178
|
||||
},
|
||||
"Unexpected token. '{' expected.": {
|
||||
"category": "Error",
|
||||
"code": 1179
|
||||
},
|
||||
|
||||
"Duplicate identifier '{0}'.": {
|
||||
"category": "Error",
|
||||
|
||||
@@ -1945,12 +1945,28 @@ module ts {
|
||||
}
|
||||
}
|
||||
|
||||
function isBinaryOrOctalIntegerLiteral(text: string): boolean {
|
||||
if (text.length <= 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (text.charCodeAt(1) === CharacterCodes.B || text.charCodeAt(1) === CharacterCodes.b ||
|
||||
text.charCodeAt(1) === CharacterCodes.O || text.charCodeAt(1) === CharacterCodes.o) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function emitLiteral(node: LiteralExpression) {
|
||||
var text = getLiteralText();
|
||||
|
||||
if (compilerOptions.sourceMap && (node.kind === SyntaxKind.StringLiteral || isTemplateLiteralKind(node.kind))) {
|
||||
writer.writeLiteral(text);
|
||||
}
|
||||
// For version below ES6, emit binary integer literal and octal integer literal in canonical form
|
||||
else if (compilerOptions.target < ScriptTarget.ES6 && node.kind === SyntaxKind.NumericLiteral && isBinaryOrOctalIntegerLiteral(text)) {
|
||||
write(node.text);
|
||||
}
|
||||
else {
|
||||
write(text);
|
||||
}
|
||||
|
||||
+6
-21
@@ -875,25 +875,6 @@ module ts {
|
||||
return SyntaxKind.FirstTriviaToken <= token && token <= SyntaxKind.LastTriviaToken;
|
||||
}
|
||||
|
||||
export function isUnterminatedTemplateEnd(node: LiteralExpression) {
|
||||
Debug.assert(isTemplateLiteralKind(node.kind));
|
||||
var sourceText = getSourceFileOfNode(node).text;
|
||||
|
||||
// If we're not at the EOF, we know we must be terminated.
|
||||
if (node.end !== sourceText.length) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// The literal can only be unterminated if it is a template tail or a no-sub template.
|
||||
if (node.kind !== SyntaxKind.TemplateTail && node.kind !== SyntaxKind.NoSubstitutionTemplateLiteral) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// If we didn't end in a backtick, we must still be in the middle of a template.
|
||||
// If we did, make sure that it's not the *initial* backtick.
|
||||
return sourceText.charCodeAt(node.end - 1) !== CharacterCodes.backtick || node.text.length === 0;
|
||||
}
|
||||
|
||||
export function isModifier(token: SyntaxKind): boolean {
|
||||
switch (token) {
|
||||
case SyntaxKind.PublicKeyword:
|
||||
@@ -1734,6 +1715,10 @@ module ts {
|
||||
var text = scanner.getTokenValue();
|
||||
node.text = internName ? internIdentifier(text) : text;
|
||||
|
||||
if (scanner.isUnterminated()) {
|
||||
node.isUnterminated = true;
|
||||
}
|
||||
|
||||
var tokenPos = scanner.getTokenPos();
|
||||
nextToken();
|
||||
finishNode(node);
|
||||
@@ -5513,7 +5498,7 @@ module ts {
|
||||
|
||||
forEach(rootNames, name => processRootFile(name, false));
|
||||
if (!seenNoDefaultLib) {
|
||||
processRootFile(host.getDefaultLibFilename(), true);
|
||||
processRootFile(host.getDefaultLibFilename(options), true);
|
||||
}
|
||||
verifyCompilerOptions();
|
||||
errors.sort(compareDiagnostics);
|
||||
@@ -5557,7 +5542,7 @@ module ts {
|
||||
}
|
||||
var diagnostic: DiagnosticMessage;
|
||||
if (hasExtension(filename)) {
|
||||
if (!fileExtensionIs(filename, ".ts")) {
|
||||
if (!options.allowNonTsExtensions && !fileExtensionIs(filename, ".ts")) {
|
||||
diagnostic = Diagnostics.File_0_must_have_extension_ts_or_d_ts;
|
||||
}
|
||||
else if (!findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) {
|
||||
|
||||
@@ -22,6 +22,7 @@ module ts {
|
||||
hasPrecedingLineBreak(): boolean;
|
||||
isIdentifier(): boolean;
|
||||
isReservedWord(): boolean;
|
||||
isUnterminated(): boolean;
|
||||
reScanGreaterToken(): SyntaxKind;
|
||||
reScanSlashToken(): SyntaxKind;
|
||||
reScanTemplateToken(): SyntaxKind;
|
||||
@@ -470,6 +471,7 @@ module ts {
|
||||
var token: SyntaxKind;
|
||||
var tokenValue: string;
|
||||
var precedingLineBreak: boolean;
|
||||
var tokenIsUnterminated: boolean;
|
||||
|
||||
function error(message: DiagnosticMessage): void {
|
||||
if (onError) {
|
||||
@@ -553,6 +555,7 @@ module ts {
|
||||
while (true) {
|
||||
if (pos >= len) {
|
||||
result += text.substring(start, pos);
|
||||
tokenIsUnterminated = true;
|
||||
error(Diagnostics.Unterminated_string_literal);
|
||||
break;
|
||||
}
|
||||
@@ -570,6 +573,7 @@ module ts {
|
||||
}
|
||||
if (isLineBreak(ch)) {
|
||||
result += text.substring(start, pos);
|
||||
tokenIsUnterminated = true;
|
||||
error(Diagnostics.Unterminated_string_literal);
|
||||
break;
|
||||
}
|
||||
@@ -593,6 +597,7 @@ module ts {
|
||||
while (true) {
|
||||
if (pos >= len) {
|
||||
contents += text.substring(start, pos);
|
||||
tokenIsUnterminated = true;
|
||||
error(Diagnostics.Unterminated_template_literal);
|
||||
resultingToken = startedWithBacktick ? SyntaxKind.NoSubstitutionTemplateLiteral : SyntaxKind.TemplateTail;
|
||||
break;
|
||||
@@ -753,9 +758,34 @@ module ts {
|
||||
return token = SyntaxKind.Identifier;
|
||||
}
|
||||
|
||||
function scanBinaryOrOctalDigits(base: number): number {
|
||||
Debug.assert(base !== 2 || base !== 8, "Expected either base 2 or base 8");
|
||||
|
||||
var value = 0;
|
||||
// For counting number of digits; Valid binaryIntegerLiteral must have at least one binary digit following B or b.
|
||||
// Similarly valid octalIntegerLiteral must have at least one octal digit following o or O.
|
||||
var numberOfDigits = 0;
|
||||
while (true) {
|
||||
var ch = text.charCodeAt(pos);
|
||||
var valueOfCh = ch - CharacterCodes._0;
|
||||
if (!isDigit(ch) || valueOfCh >= base) {
|
||||
break;
|
||||
}
|
||||
value = value * base + valueOfCh;
|
||||
pos++;
|
||||
numberOfDigits++;
|
||||
}
|
||||
// Invalid binaryIntegerLiteral or octalIntegerLiteral
|
||||
if (numberOfDigits === 0) {
|
||||
return -1;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
function scan(): SyntaxKind {
|
||||
startPos = pos;
|
||||
precedingLineBreak = false;
|
||||
tokenIsUnterminated = false;
|
||||
while (true) {
|
||||
tokenPos = pos;
|
||||
if (pos >= len) {
|
||||
@@ -912,6 +942,7 @@ module ts {
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
tokenIsUnterminated = !commentClosed;
|
||||
return token = SyntaxKind.MultiLineCommentTrivia;
|
||||
}
|
||||
}
|
||||
@@ -933,6 +964,26 @@ module ts {
|
||||
tokenValue = "" + value;
|
||||
return token = SyntaxKind.NumericLiteral;
|
||||
}
|
||||
else if (pos + 2 < len && (text.charCodeAt(pos + 1) === CharacterCodes.B || text.charCodeAt(pos + 1) === CharacterCodes.b)) {
|
||||
pos += 2;
|
||||
var value = scanBinaryOrOctalDigits(/* base */ 2);
|
||||
if (value < 0) {
|
||||
error(Diagnostics.Binary_digit_expected);
|
||||
value = 0;
|
||||
}
|
||||
tokenValue = "" + value;
|
||||
return SyntaxKind.NumericLiteral;
|
||||
}
|
||||
else if (pos + 2 < len && (text.charCodeAt(pos + 1) === CharacterCodes.O || text.charCodeAt(pos + 1) === CharacterCodes.o)) {
|
||||
pos += 2;
|
||||
var value = scanBinaryOrOctalDigits(/* base */ 8);
|
||||
if (value < 0) {
|
||||
error(Diagnostics.Octal_digit_expected);
|
||||
value = 0;
|
||||
}
|
||||
tokenValue = "" + value;
|
||||
return SyntaxKind.NumericLiteral;
|
||||
}
|
||||
// Try to parse as an octal
|
||||
if (pos + 1 < len && isOctalDigit(text.charCodeAt(pos + 1))) {
|
||||
tokenValue = "" + scanOctalDigits();
|
||||
@@ -1069,12 +1120,14 @@ module ts {
|
||||
// If we reach the end of a file, or hit a newline, then this is an unterminated
|
||||
// regex. Report error and return what we have so far.
|
||||
if (p >= len) {
|
||||
tokenIsUnterminated = true;
|
||||
error(Diagnostics.Unterminated_regular_expression_literal)
|
||||
break;
|
||||
}
|
||||
|
||||
var ch = text.charCodeAt(p);
|
||||
if (isLineBreak(ch)) {
|
||||
tokenIsUnterminated = true;
|
||||
error(Diagnostics.Unterminated_regular_expression_literal)
|
||||
break;
|
||||
}
|
||||
@@ -1167,6 +1220,7 @@ module ts {
|
||||
hasPrecedingLineBreak: () => precedingLineBreak,
|
||||
isIdentifier: () => token === SyntaxKind.Identifier || token > SyntaxKind.LastReservedWord,
|
||||
isReservedWord: () => token >= SyntaxKind.FirstReservedWord && token <= SyntaxKind.LastReservedWord,
|
||||
isUnterminated: () => tokenIsUnterminated,
|
||||
reScanGreaterToken,
|
||||
reScanSlashToken,
|
||||
reScanTemplateToken,
|
||||
|
||||
+1
-1
@@ -193,7 +193,7 @@ module ts {
|
||||
|
||||
return {
|
||||
getSourceFile,
|
||||
getDefaultLibFilename: () => combinePaths(getDirectoryPath(normalizePath(sys.getExecutingFilePath())), "lib.d.ts"),
|
||||
getDefaultLibFilename: options => combinePaths(getDirectoryPath(normalizePath(sys.getExecutingFilePath())), options.target === ScriptTarget.ES6 ? "lib.es6.d.ts" : "lib.d.ts"),
|
||||
writeFile,
|
||||
getCurrentDirectory: () => currentDirectory || (currentDirectory = sys.getCurrentDirectory()),
|
||||
useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames,
|
||||
|
||||
@@ -532,6 +532,7 @@ module ts {
|
||||
// For a NumericLiteral, the stored value is the toString() representation of the number. For example 1, 1.00, and 1e0 are all stored as just "1".
|
||||
export interface LiteralExpression extends PrimaryExpression {
|
||||
text: string;
|
||||
isUnterminated?: boolean;
|
||||
}
|
||||
|
||||
export interface TemplateExpression extends PrimaryExpression {
|
||||
@@ -1310,6 +1311,7 @@ module ts {
|
||||
version?: boolean;
|
||||
watch?: boolean;
|
||||
preserveConstEnums?: boolean;
|
||||
allowNonTsExtensions?: boolean;
|
||||
[option: string]: string | number | boolean;
|
||||
}
|
||||
|
||||
@@ -1491,7 +1493,7 @@ module ts {
|
||||
|
||||
export interface CompilerHost {
|
||||
getSourceFile(filename: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile;
|
||||
getDefaultLibFilename(): string;
|
||||
getDefaultLibFilename(options: CompilerOptions): string;
|
||||
getCancellationToken? (): CancellationToken;
|
||||
writeFile(filename: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void;
|
||||
getCurrentDirectory(): string;
|
||||
|
||||
@@ -113,10 +113,7 @@ class CompilerBaselineRunner extends RunnerBase {
|
||||
for (var i = 0; i < tcSettings.length; ++i) {
|
||||
// noImplicitAny is passed to getCompiler, but target is just passed in the settings blob to setCompilerSettings
|
||||
if (!createNewInstance && (tcSettings[i].flag == "noimplicitany" || tcSettings[i].flag === 'target')) {
|
||||
harnessCompiler = Harness.Compiler.getCompiler({
|
||||
useExistingInstance: false,
|
||||
optionsForFreshInstance: { useMinimalDefaultLib: true, noImplicitAny: tcSettings[i].flag === "noimplicitany" }
|
||||
});
|
||||
harnessCompiler = Harness.Compiler.getCompiler();
|
||||
harnessCompiler.setCompilerSettings(tcSettings);
|
||||
createNewInstance = true;
|
||||
}
|
||||
@@ -125,10 +122,7 @@ class CompilerBaselineRunner extends RunnerBase {
|
||||
|
||||
afterEach(() => {
|
||||
if (createNewInstance) {
|
||||
harnessCompiler = Harness.Compiler.getCompiler({
|
||||
useExistingInstance: false,
|
||||
optionsForFreshInstance: { useMinimalDefaultLib: true, noImplicitAny: false }
|
||||
});
|
||||
harnessCompiler = Harness.Compiler.getCompiler();
|
||||
createNewInstance = false;
|
||||
}
|
||||
});
|
||||
@@ -323,10 +317,7 @@ class CompilerBaselineRunner extends RunnerBase {
|
||||
|
||||
public initializeTests() {
|
||||
describe("Setup compiler for compiler baselines", () => {
|
||||
var harnessCompiler = Harness.Compiler.getCompiler({
|
||||
useExistingInstance: false,
|
||||
optionsForFreshInstance: { useMinimalDefaultLib: true, noImplicitAny: false }
|
||||
});
|
||||
var harnessCompiler = Harness.Compiler.getCompiler();
|
||||
this.parseOptions();
|
||||
});
|
||||
|
||||
@@ -343,10 +334,7 @@ class CompilerBaselineRunner extends RunnerBase {
|
||||
}
|
||||
|
||||
describe("Cleanup after compiler baselines", () => {
|
||||
var harnessCompiler = Harness.Compiler.getCompiler({
|
||||
useExistingInstance: false,
|
||||
optionsForFreshInstance: { useMinimalDefaultLib: true, noImplicitAny: false }
|
||||
});
|
||||
var harnessCompiler = Harness.Compiler.getCompiler();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -15,10 +15,6 @@ class FourslashRunner extends RunnerBase {
|
||||
}
|
||||
|
||||
describe("fourslash tests", () => {
|
||||
before(() => {
|
||||
Harness.Compiler.getCompiler({ useExistingInstance: false });
|
||||
});
|
||||
|
||||
this.tests.forEach((fn: string) => {
|
||||
fn = ts.normalizeSlashes(fn);
|
||||
var justName = fn.replace(/^.*[\\\/]/, '');
|
||||
@@ -33,10 +29,6 @@ class FourslashRunner extends RunnerBase {
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
after(() => {
|
||||
Harness.Compiler.getCompiler({ useExistingInstance: false });
|
||||
});
|
||||
});
|
||||
|
||||
describe('Generate Tao XML', () => {
|
||||
|
||||
+29
-16
@@ -1,3 +1,4 @@
|
||||
|
||||
//
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
@@ -538,6 +539,8 @@ module Harness {
|
||||
|
||||
export var defaultLibFileName = 'lib.d.ts';
|
||||
export var defaultLibSourceFile = ts.createSourceFile(defaultLibFileName, IO.readFile(libFolder + 'lib.core.d.ts'), /*languageVersion*/ ts.ScriptTarget.Latest, /*version:*/ "0");
|
||||
export var defaultES6LibSourceFile = ts.createSourceFile(defaultLibFileName, IO.readFile(libFolder + 'lib.core.es6.d.ts'), /*languageVersion*/ ts.ScriptTarget.Latest, /*version:*/ "0");
|
||||
|
||||
|
||||
// Cache these between executions so we don't have to re-parse them for every test
|
||||
export var fourslashFilename = 'fourslash.ts';
|
||||
@@ -580,15 +583,14 @@ module Harness {
|
||||
return fourslashSourceFile;
|
||||
}
|
||||
else {
|
||||
var lib = defaultLibFileName;
|
||||
if (fn === defaultLibFileName) {
|
||||
return defaultLibSourceFile;
|
||||
return languageVersion === ts.ScriptTarget.ES6 ? defaultES6LibSourceFile : defaultLibSourceFile;
|
||||
}
|
||||
// Don't throw here -- the compiler might be looking for a test that actually doesn't exist as part of the TC
|
||||
return undefined;
|
||||
}
|
||||
},
|
||||
getDefaultLibFilename: () => defaultLibFileName,
|
||||
getDefaultLibFilename: options => defaultLibFileName,
|
||||
writeFile,
|
||||
getCanonicalFileName,
|
||||
useCaseSensitiveFileNames: () => useCaseSensitiveFileNames,
|
||||
@@ -1016,19 +1018,30 @@ module Harness {
|
||||
sys.newLine + sys.newLine + outputLines.join('\r\n');
|
||||
}
|
||||
|
||||
/* TODO: Delete?
|
||||
export function makeDefaultCompilerSettings(options?: { useMinimalDefaultLib: boolean; noImplicitAny: boolean; }) {
|
||||
var useMinimalDefaultLib = options ? options.useMinimalDefaultLib : true;
|
||||
var noImplicitAny = options ? options.noImplicitAny : false;
|
||||
var settings = new TypeScript.CompilationSettings();
|
||||
settings.codeGenTarget = TypeScript.LanguageVersion.EcmaScript5;
|
||||
settings.moduleGenTarget = TypeScript.ModuleGenTarget.Synchronous;
|
||||
settings.noLib = useMinimalDefaultLib;
|
||||
settings.noResolve = false;
|
||||
settings.noImplicitAny = noImplicitAny;
|
||||
return settings;
|
||||
export function collateOutputs(outputFiles: Harness.Compiler.GeneratedFile[], clean?: (s: string) => string) {
|
||||
// Collect, test, and sort the filenames
|
||||
function cleanName(fn: string) {
|
||||
var lastSlash = ts.normalizeSlashes(fn).lastIndexOf('/');
|
||||
return fn.substr(lastSlash + 1).toLowerCase();
|
||||
}
|
||||
outputFiles.sort((a, b) => cleanName(a.fileName).localeCompare(cleanName(b.fileName)));
|
||||
|
||||
// Emit them
|
||||
var result = '';
|
||||
ts.forEach(outputFiles, outputFile => {
|
||||
// Some extra spacing if this isn't the first file
|
||||
if (result.length) result = result + '\r\n\r\n';
|
||||
|
||||
// Filename header + content
|
||||
result = result + '/*====== ' + outputFile.fileName + ' ======*/\r\n';
|
||||
if (clean) {
|
||||
result = result + clean(outputFile.code);
|
||||
} else {
|
||||
result = result + outputFile.code;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
*/
|
||||
|
||||
/** The harness' compiler instance used when tests are actually run. Reseting or changing settings of this compiler instance must be done within a test case (i.e., describe/it) */
|
||||
var harnessCompiler: HarnessCompiler;
|
||||
@@ -1036,7 +1049,7 @@ module Harness {
|
||||
/** Returns the singleton harness compiler instance for generating and running tests.
|
||||
If required a fresh compiler instance will be created, otherwise the existing singleton will be re-used.
|
||||
*/
|
||||
export function getCompiler(opts?: { useExistingInstance: boolean; optionsForFreshInstance?: { useMinimalDefaultLib: boolean; noImplicitAny: boolean; } }) {
|
||||
export function getCompiler() {
|
||||
return harnessCompiler = harnessCompiler || new HarnessCompiler();
|
||||
}
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ class ProjectRunner extends RunnerBase {
|
||||
function getSourceFile(filename: string, languageVersion: ts.ScriptTarget): ts.SourceFile {
|
||||
var sourceFile: ts.SourceFile = undefined;
|
||||
if (filename === Harness.Compiler.defaultLibFileName) {
|
||||
sourceFile = Harness.Compiler.defaultLibSourceFile;
|
||||
sourceFile = languageVersion === ts.ScriptTarget.ES6 ? Harness.Compiler.defaultES6LibSourceFile : Harness.Compiler.defaultLibSourceFile;
|
||||
}
|
||||
else {
|
||||
var text = getSourceFileText(filename);
|
||||
@@ -186,7 +186,7 @@ class ProjectRunner extends RunnerBase {
|
||||
function createCompilerHost(): ts.CompilerHost {
|
||||
return {
|
||||
getSourceFile,
|
||||
getDefaultLibFilename: () => "lib.d.ts",
|
||||
getDefaultLibFilename: options => options.target === ts.ScriptTarget.ES6 ? "lib.es6.d.ts" : "lib.d.ts",
|
||||
writeFile,
|
||||
getCurrentDirectory,
|
||||
getCanonicalFileName: Harness.Compiler.getCanonicalFileName,
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
/// <reference path='test262Runner.ts' />
|
||||
/// <reference path='compilerRunner.ts' />
|
||||
// TODO: re-enable
|
||||
// ///<reference path='fourslashRunner.ts' />
|
||||
/// <reference path='fourslashRunner.ts' />
|
||||
/// <reference path='projectsRunner.ts' />
|
||||
/// <reference path='rwcRunner.ts' />
|
||||
|
||||
@@ -69,6 +69,9 @@ if (testConfigFile !== '') {
|
||||
case 'rwc':
|
||||
runners.push(new RWCRunner());
|
||||
break;
|
||||
case 'test262':
|
||||
runners.push(new Test262BaselineRunner());
|
||||
break;
|
||||
case 'reverse':
|
||||
reverse = true;
|
||||
break;
|
||||
|
||||
@@ -20,31 +20,6 @@ module RWC {
|
||||
}
|
||||
}
|
||||
|
||||
function collateOutputs(outputFiles: Harness.Compiler.GeneratedFile[], clean?: (s: string) => string) {
|
||||
// Collect, test, and sort the filenames
|
||||
function cleanName(fn: string) {
|
||||
var lastSlash = ts.normalizeSlashes(fn).lastIndexOf('/');
|
||||
return fn.substr(lastSlash + 1).toLowerCase();
|
||||
}
|
||||
outputFiles.sort((a, b) => cleanName(a.fileName).localeCompare(cleanName(b.fileName)));
|
||||
|
||||
// Emit them
|
||||
var result = '';
|
||||
ts.forEach(outputFiles, outputFile => {
|
||||
// Some extra spacing if this isn't the first file
|
||||
if (result.length) result = result + '\r\n\r\n';
|
||||
|
||||
// Filename header + content
|
||||
result = result + '/*====== ' + outputFile.fileName + ' ======*/\r\n';
|
||||
if (clean) {
|
||||
result = result + clean(outputFile.code);
|
||||
} else {
|
||||
result = result + outputFile.code;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
export function runRWCTest(jsonPath: string) {
|
||||
describe("Testing a RWC project: " + jsonPath, () => {
|
||||
var inputFiles: { unitName: string; content: string; }[] = [];
|
||||
@@ -136,7 +111,7 @@ module RWC {
|
||||
|
||||
it('has the expected emitted code', () => {
|
||||
Harness.Baseline.runBaseline('has the expected emitted code', baseName + '.output.js', () => {
|
||||
return collateOutputs(compilerResult.files, s => SyntacticCleaner.clean(s));
|
||||
return Harness.Compiler.collateOutputs(compilerResult.files, s => SyntacticCleaner.clean(s));
|
||||
}, false, baselineOpts);
|
||||
});
|
||||
|
||||
@@ -145,7 +120,7 @@ module RWC {
|
||||
if (compilerResult.errors.length || !compilerResult.declFilesCode.length) {
|
||||
return null;
|
||||
}
|
||||
return collateOutputs(compilerResult.declFilesCode);
|
||||
return Harness.Compiler.collateOutputs(compilerResult.declFilesCode);
|
||||
}, false, baselineOpts);
|
||||
});
|
||||
|
||||
@@ -155,7 +130,7 @@ module RWC {
|
||||
return null;
|
||||
}
|
||||
|
||||
return collateOutputs(compilerResult.sourceMaps);
|
||||
return Harness.Compiler.collateOutputs(compilerResult.sourceMaps);
|
||||
}, false, baselineOpts);
|
||||
});
|
||||
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
/// <reference path='harness.ts' />
|
||||
/// <reference path='runnerbase.ts' />
|
||||
/// <reference path='syntacticCleaner.ts' />
|
||||
|
||||
class Test262BaselineRunner extends RunnerBase {
|
||||
private static basePath = 'tests/cases/test262';
|
||||
private static helpersFilePath = 'tests/cases/test262-harness/helpers.d.ts';
|
||||
private static helperFile = {
|
||||
unitName: Test262BaselineRunner.helpersFilePath,
|
||||
content: Harness.IO.readFile(Test262BaselineRunner.helpersFilePath)
|
||||
};
|
||||
private static testFileExtensionRegex = /\.js$/;
|
||||
private static options: ts.CompilerOptions = {
|
||||
allowNonTsExtensions: true,
|
||||
target: ts.ScriptTarget.Latest,
|
||||
module: ts.ModuleKind.CommonJS
|
||||
};
|
||||
private static baselineOptions: Harness.Baseline.BaselineOptions = { Subfolder: 'test262' };
|
||||
|
||||
private static getTestFilePath(filename: string): string {
|
||||
return Test262BaselineRunner.basePath + "/" + filename;
|
||||
}
|
||||
|
||||
private static serializeSourceFile(file: ts.SourceFile): string {
|
||||
function getKindName(k: number): string {
|
||||
return (<any>ts).SyntaxKind[k]
|
||||
}
|
||||
|
||||
function serializeNode(n: ts.Node): any {
|
||||
var o = { kind: getKindName(n.kind) };
|
||||
ts.forEach(Object.getOwnPropertyNames(n), i => {
|
||||
switch (i) {
|
||||
case "parent":
|
||||
case "symbol":
|
||||
case "locals":
|
||||
case "localSymbol":
|
||||
case "kind":
|
||||
case "semanticDiagnostics":
|
||||
case "parseDiagnostics":
|
||||
case "grammarDiagnostics":
|
||||
return undefined;
|
||||
case "nextContainer":
|
||||
if (n.nextContainer) {
|
||||
(<any>o)[i] = { kind: getKindName(n.nextContainer.kind), pos: n.nextContainer.pos, end: n.nextContainer.end };
|
||||
return undefined;
|
||||
}
|
||||
case "text":
|
||||
if (n.kind === ts.SyntaxKind.SourceFile) return undefined;
|
||||
default:
|
||||
(<any>o)[i] = ((<any>n)[i]);
|
||||
}
|
||||
return undefined;
|
||||
});
|
||||
return o;
|
||||
}
|
||||
|
||||
return JSON.stringify(file,(k, v) => {
|
||||
return (v && typeof v.pos === "number") ? serializeNode(v) : v;
|
||||
}, " ");
|
||||
}
|
||||
|
||||
private runTest(filePath: string) {
|
||||
describe('test262 test for ' + filePath, () => {
|
||||
// Mocha holds onto the closure environment of the describe callback even after the test is done.
|
||||
// Everything declared here should be cleared out in the "after" callback.
|
||||
var testState: {
|
||||
filename: string;
|
||||
compilerResult: Harness.Compiler.CompilerResult;
|
||||
inputFiles: { unitName: string; content: string }[];
|
||||
checker: ts.TypeChecker;
|
||||
};
|
||||
|
||||
before(() => {
|
||||
var content = Harness.IO.readFile(filePath);
|
||||
var testFilename = ts.removeFileExtension(filePath).replace(/\//g, '_') + ".test";
|
||||
var testCaseContent = Harness.TestCaseParser.makeUnitsFromTest(content, testFilename);
|
||||
|
||||
var inputFiles = testCaseContent.testUnitData.map(unit => {
|
||||
return { unitName: Test262BaselineRunner.getTestFilePath(unit.name), content: unit.content };
|
||||
});
|
||||
|
||||
// Emit the results
|
||||
testState = {
|
||||
filename: testFilename,
|
||||
inputFiles: inputFiles,
|
||||
compilerResult: undefined,
|
||||
checker: undefined,
|
||||
};
|
||||
|
||||
Harness.Compiler.getCompiler().compileFiles([Test262BaselineRunner.helperFile].concat(inputFiles), /*otherFiles*/ [], (compilerResult, checker) => {
|
||||
testState.compilerResult = compilerResult;
|
||||
testState.checker = checker;
|
||||
}, /*settingsCallback*/ undefined, Test262BaselineRunner.options);
|
||||
});
|
||||
|
||||
after(() => {
|
||||
testState = undefined;
|
||||
});
|
||||
|
||||
it('has the expected emitted code', () => {
|
||||
Harness.Baseline.runBaseline('has the expected emitted code', testState.filename + '.output.js', () => {
|
||||
var files = testState.compilerResult.files.filter(f=> f.fileName !== Test262BaselineRunner.helpersFilePath);
|
||||
return Harness.Compiler.collateOutputs(files, s => SyntacticCleaner.clean(s));
|
||||
}, false, Test262BaselineRunner.baselineOptions);
|
||||
});
|
||||
|
||||
it('has the expected errors', () => {
|
||||
Harness.Baseline.runBaseline('has the expected errors', testState.filename + '.errors.txt', () => {
|
||||
var errors = testState.compilerResult.errors;
|
||||
if (errors.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return Harness.Compiler.getErrorBaseline(testState.inputFiles, errors);
|
||||
}, false, Test262BaselineRunner.baselineOptions);
|
||||
});
|
||||
|
||||
it('has the expected AST',() => {
|
||||
Harness.Baseline.runBaseline('has the expected AST', testState.filename + '.AST.txt',() => {
|
||||
var sourceFile = testState.checker.getProgram().getSourceFile(Test262BaselineRunner.getTestFilePath(testState.filename));
|
||||
return Test262BaselineRunner.serializeSourceFile(sourceFile);
|
||||
}, false, Test262BaselineRunner.baselineOptions);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public initializeTests() {
|
||||
// this will set up a series of describe/it blocks to run between the setup and cleanup phases
|
||||
if (this.tests.length === 0) {
|
||||
var testFiles = this.enumerateFiles(Test262BaselineRunner.basePath, Test262BaselineRunner.testFileExtensionRegex, { recursive: true });
|
||||
testFiles.forEach(fn => {
|
||||
this.runTest(ts.normalizePath(fn));
|
||||
});
|
||||
}
|
||||
else {
|
||||
this.tests.forEach(test => this.runTest(test));
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+64
-23
@@ -109,10 +109,7 @@ interface Object {
|
||||
propertyIsEnumerable(v: string): boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides functionality common to all JavaScript objects.
|
||||
*/
|
||||
declare var Object: {
|
||||
interface ObjectConstructor {
|
||||
new (value?: any): Object;
|
||||
(): any;
|
||||
(value: any): any;
|
||||
@@ -206,6 +203,11 @@ declare var Object: {
|
||||
keys(o: any): string[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides functionality common to all JavaScript objects.
|
||||
*/
|
||||
declare var Object: ObjectConstructor;
|
||||
|
||||
/**
|
||||
* Creates a new function.
|
||||
*/
|
||||
@@ -240,8 +242,8 @@ interface Function {
|
||||
caller: Function;
|
||||
}
|
||||
|
||||
declare var Function: {
|
||||
/**
|
||||
interface FunctionConstructor {
|
||||
/**
|
||||
* Creates a new function.
|
||||
* @param args A list of arguments the function accepts.
|
||||
*/
|
||||
@@ -250,6 +252,8 @@ declare var Function: {
|
||||
prototype: Function;
|
||||
}
|
||||
|
||||
declare var Function: FunctionConstructor;
|
||||
|
||||
interface IArguments {
|
||||
[index: number]: any;
|
||||
length: number;
|
||||
@@ -409,24 +413,29 @@ interface String {
|
||||
[index: number]: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Allows manipulation and formatting of text strings and determination and location of substrings within strings.
|
||||
*/
|
||||
declare var String: {
|
||||
interface StringConstructor {
|
||||
new (value?: any): String;
|
||||
(value?: any): string;
|
||||
prototype: String;
|
||||
fromCharCode(...codes: number[]): string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Allows manipulation and formatting of text strings and determination and location of substrings within strings.
|
||||
*/
|
||||
declare var String: StringConstructor;
|
||||
|
||||
interface Boolean {
|
||||
}
|
||||
declare var Boolean: {
|
||||
|
||||
interface BooleanConstructor {
|
||||
new (value?: any): Boolean;
|
||||
(value?: any): boolean;
|
||||
prototype: Boolean;
|
||||
}
|
||||
|
||||
declare var Boolean: BooleanConstructor;
|
||||
|
||||
interface Number {
|
||||
/**
|
||||
* Returns a string representation of an object.
|
||||
@@ -453,8 +462,7 @@ interface Number {
|
||||
toPrecision(precision?: number): string;
|
||||
}
|
||||
|
||||
/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */
|
||||
declare var Number: {
|
||||
interface NumberConstructor {
|
||||
new (value?: any): Number;
|
||||
(value?: any): number;
|
||||
prototype: Number;
|
||||
@@ -484,6 +492,9 @@ declare var Number: {
|
||||
POSITIVE_INFINITY: number;
|
||||
}
|
||||
|
||||
/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */
|
||||
declare var Number: NumberConstructor;
|
||||
|
||||
interface TemplateStringsArray extends Array<string> {
|
||||
raw: string[];
|
||||
}
|
||||
@@ -753,7 +764,7 @@ interface Date {
|
||||
toJSON(key?: any): string;
|
||||
}
|
||||
|
||||
declare var Date: {
|
||||
interface DateConstructor {
|
||||
new (): Date;
|
||||
new (value: number): Date;
|
||||
new (value: string): Date;
|
||||
@@ -779,6 +790,8 @@ declare var Date: {
|
||||
now(): number;
|
||||
}
|
||||
|
||||
declare var Date: DateConstructor;
|
||||
|
||||
interface RegExpMatchArray extends Array<string> {
|
||||
index?: number;
|
||||
input?: string;
|
||||
@@ -819,9 +832,11 @@ interface RegExp {
|
||||
// Non-standard extensions
|
||||
compile(): RegExp;
|
||||
}
|
||||
declare var RegExp: {
|
||||
|
||||
interface RegExpConstructor {
|
||||
new (pattern: string, flags?: string): RegExp;
|
||||
(pattern: string, flags?: string): RegExp;
|
||||
prototype: RegExp;
|
||||
|
||||
// Non-standard extensions
|
||||
$1: string;
|
||||
@@ -836,64 +851,87 @@ declare var RegExp: {
|
||||
lastMatch: string;
|
||||
}
|
||||
|
||||
declare var RegExp: RegExpConstructor;
|
||||
|
||||
interface Error {
|
||||
name: string;
|
||||
message: string;
|
||||
}
|
||||
declare var Error: {
|
||||
|
||||
interface ErrorConstructor {
|
||||
new (message?: string): Error;
|
||||
(message?: string): Error;
|
||||
prototype: Error;
|
||||
}
|
||||
|
||||
declare var Error: ErrorConstructor;
|
||||
|
||||
interface EvalError extends Error {
|
||||
}
|
||||
declare var EvalError: {
|
||||
|
||||
interface EvalErrorConstructor {
|
||||
new (message?: string): EvalError;
|
||||
(message?: string): EvalError;
|
||||
prototype: EvalError;
|
||||
}
|
||||
|
||||
declare var EvalError: EvalErrorConstructor;
|
||||
|
||||
interface RangeError extends Error {
|
||||
}
|
||||
declare var RangeError: {
|
||||
|
||||
interface RangeErrorConstructor {
|
||||
new (message?: string): RangeError;
|
||||
(message?: string): RangeError;
|
||||
prototype: RangeError;
|
||||
}
|
||||
|
||||
declare var RangeError: RangeErrorConstructor;
|
||||
|
||||
interface ReferenceError extends Error {
|
||||
}
|
||||
declare var ReferenceError: {
|
||||
|
||||
interface ReferenceErrorConstructor {
|
||||
new (message?: string): ReferenceError;
|
||||
(message?: string): ReferenceError;
|
||||
prototype: ReferenceError;
|
||||
}
|
||||
|
||||
declare var ReferenceError: ReferenceErrorConstructor;
|
||||
|
||||
interface SyntaxError extends Error {
|
||||
}
|
||||
declare var SyntaxError: {
|
||||
|
||||
interface SyntaxErrorConstructor {
|
||||
new (message?: string): SyntaxError;
|
||||
(message?: string): SyntaxError;
|
||||
prototype: SyntaxError;
|
||||
}
|
||||
|
||||
declare var SyntaxError: SyntaxErrorConstructor;
|
||||
|
||||
interface TypeError extends Error {
|
||||
}
|
||||
declare var TypeError: {
|
||||
|
||||
interface TypeErrorConstructor {
|
||||
new (message?: string): TypeError;
|
||||
(message?: string): TypeError;
|
||||
prototype: TypeError;
|
||||
}
|
||||
|
||||
declare var TypeError: TypeErrorConstructor;
|
||||
|
||||
interface URIError extends Error {
|
||||
}
|
||||
declare var URIError: {
|
||||
|
||||
interface URIErrorConstructor {
|
||||
new (message?: string): URIError;
|
||||
(message?: string): URIError;
|
||||
prototype: URIError;
|
||||
}
|
||||
|
||||
declare var URIError: URIErrorConstructor;
|
||||
|
||||
interface JSON {
|
||||
/**
|
||||
* Converts a JavaScript Object Notation (JSON) string into an object.
|
||||
@@ -1096,7 +1134,8 @@ interface Array<T> {
|
||||
|
||||
[n: number]: T;
|
||||
}
|
||||
declare var Array: {
|
||||
|
||||
interface ArrayConstructor {
|
||||
new (arrayLength?: number): any[];
|
||||
new <T>(arrayLength: number): T[];
|
||||
new <T>(...items: T[]): T[];
|
||||
@@ -1106,3 +1145,5 @@ declare var Array: {
|
||||
isArray(arg: any): boolean;
|
||||
prototype: Array<any>;
|
||||
}
|
||||
|
||||
declare var Array: ArrayConstructor;
|
||||
|
||||
Vendored
+3637
File diff suppressed because it is too large
Load Diff
Vendored
+3
-166
@@ -631,6 +631,7 @@ interface Map<K, V> {
|
||||
}
|
||||
declare var Map: {
|
||||
new <K, V>(): Map<K, V>;
|
||||
prototype: Map<any, any>;
|
||||
}
|
||||
|
||||
interface WeakMap<K, V> {
|
||||
@@ -642,6 +643,7 @@ interface WeakMap<K, V> {
|
||||
}
|
||||
declare var WeakMap: {
|
||||
new <K, V>(): WeakMap<K, V>;
|
||||
prototype: WeakMap<any, any>;
|
||||
}
|
||||
|
||||
interface Set<T> {
|
||||
@@ -654,170 +656,5 @@ interface Set<T> {
|
||||
}
|
||||
declare var Set: {
|
||||
new <T>(): Set<T>;
|
||||
prototype: Set<any>;
|
||||
}
|
||||
|
||||
declare module Intl {
|
||||
|
||||
interface CollatorOptions {
|
||||
usage?: string;
|
||||
localeMatcher?: string;
|
||||
numeric?: boolean;
|
||||
caseFirst?: string;
|
||||
sensitivity?: string;
|
||||
ignorePunctuation?: boolean;
|
||||
}
|
||||
|
||||
interface ResolvedCollatorOptions {
|
||||
locale: string;
|
||||
usage: string;
|
||||
sensitivity: string;
|
||||
ignorePunctuation: boolean;
|
||||
collation: string;
|
||||
caseFirst: string;
|
||||
numeric: boolean;
|
||||
}
|
||||
|
||||
interface Collator {
|
||||
compare(x: string, y: string): number;
|
||||
resolvedOptions(): ResolvedCollatorOptions;
|
||||
}
|
||||
var Collator: {
|
||||
new (locales?: string[], options?: CollatorOptions): Collator;
|
||||
new (locale?: string, options?: CollatorOptions): Collator;
|
||||
(locales?: string[], options?: CollatorOptions): Collator;
|
||||
(locale?: string, options?: CollatorOptions): Collator;
|
||||
supportedLocalesOf(locales: string[], options?: CollatorOptions): string[];
|
||||
supportedLocalesOf(locale: string, options?: CollatorOptions): string[];
|
||||
}
|
||||
|
||||
interface NumberFormatOptions {
|
||||
localeMatcher?: string;
|
||||
style?: string;
|
||||
currency?: string;
|
||||
currencyDisplay?: string;
|
||||
useGrouping?: boolean;
|
||||
}
|
||||
|
||||
interface ResolvedNumberFormatOptions {
|
||||
locale: string;
|
||||
numberingSystem: string;
|
||||
style: string;
|
||||
currency?: string;
|
||||
currencyDisplay?: string;
|
||||
minimumintegerDigits: number;
|
||||
minimumFractionDigits: number;
|
||||
maximumFractionDigits: number;
|
||||
minimumSignificantDigits?: number;
|
||||
maximumSignificantDigits?: number;
|
||||
useGrouping: boolean;
|
||||
}
|
||||
|
||||
interface NumberFormat {
|
||||
format(value: number): string;
|
||||
resolvedOptions(): ResolvedNumberFormatOptions;
|
||||
}
|
||||
var NumberFormat: {
|
||||
new (locales?: string[], options?: NumberFormatOptions): Collator;
|
||||
new (locale?: string, options?: NumberFormatOptions): Collator;
|
||||
(locales?: string[], options?: NumberFormatOptions): Collator;
|
||||
(locale?: string, options?: NumberFormatOptions): Collator;
|
||||
supportedLocalesOf(locales: string[], options?: NumberFormatOptions): string[];
|
||||
supportedLocalesOf(locale: string, options?: NumberFormatOptions): string[];
|
||||
}
|
||||
|
||||
interface DateTimeFormatOptions {
|
||||
localeMatcher?: string;
|
||||
weekday?: string;
|
||||
era?: string;
|
||||
year?: string;
|
||||
month?: string;
|
||||
day?: string;
|
||||
hour?: string;
|
||||
minute?: string;
|
||||
second?: string;
|
||||
timeZoneName?: string;
|
||||
formatMatcher?: string;
|
||||
hour12: boolean;
|
||||
}
|
||||
|
||||
interface ResolvedDateTimeFormatOptions {
|
||||
locale: string;
|
||||
calendar: string;
|
||||
numberingSystem: string;
|
||||
timeZone: string;
|
||||
hour12?: boolean;
|
||||
weekday?: string;
|
||||
era?: string;
|
||||
year?: string;
|
||||
month?: string;
|
||||
day?: string;
|
||||
hour?: string;
|
||||
minute?: string;
|
||||
second?: string;
|
||||
timeZoneName?: string;
|
||||
}
|
||||
|
||||
interface DateTimeFormat {
|
||||
format(date: number): string;
|
||||
resolvedOptions(): ResolvedDateTimeFormatOptions;
|
||||
}
|
||||
var DateTimeFormat: {
|
||||
new (locales?: string[], options?: DateTimeFormatOptions): Collator;
|
||||
new (locale?: string, options?: DateTimeFormatOptions): Collator;
|
||||
(locales?: string[], options?: DateTimeFormatOptions): Collator;
|
||||
(locale?: string, options?: DateTimeFormatOptions): Collator;
|
||||
supportedLocalesOf(locales: string[], options?: DateTimeFormatOptions): string[];
|
||||
supportedLocalesOf(locale: string, options?: DateTimeFormatOptions): string[];
|
||||
}
|
||||
}
|
||||
|
||||
interface String {
|
||||
/**
|
||||
* Determines whether two strings are equivalent in the current locale.
|
||||
* @param that String to compare to target string
|
||||
* @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.
|
||||
* @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.
|
||||
*/
|
||||
localeCompare(that: string, locales: string[], options?: Intl.CollatorOptions): number;
|
||||
|
||||
/**
|
||||
* Determines whether two strings are equivalent in the current locale.
|
||||
* @param that String to compare to target string
|
||||
* @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.
|
||||
* @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.
|
||||
*/
|
||||
localeCompare(that: string, locale: string, options?: Intl.CollatorOptions): number;
|
||||
}
|
||||
|
||||
interface Number {
|
||||
/**
|
||||
* Converts a number to a string by using the current or specified locale.
|
||||
* @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
|
||||
* @param options An object that contains one or more properties that specify comparison options.
|
||||
*/
|
||||
toLocaleString(locales?: string[], options?: Intl.NumberFormatOptions): string;
|
||||
|
||||
/**
|
||||
* Converts a number to a string by using the current or specified locale.
|
||||
* @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
|
||||
* @param options An object that contains one or more properties that specify comparison options.
|
||||
*/
|
||||
toLocaleString(locale?: string, options?: Intl.NumberFormatOptions): string;
|
||||
}
|
||||
|
||||
interface Date {
|
||||
/**
|
||||
* Converts a date to a string by using the current or specified locale.
|
||||
* @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
|
||||
* @param options An object that contains one or more properties that specify comparison options.
|
||||
*/
|
||||
toLocaleString(locales?: string[], options?: Intl.DateTimeFormatOptions): string;
|
||||
|
||||
/**
|
||||
* Converts a date to a string by using the current or specified locale.
|
||||
* @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
|
||||
* @param options An object that contains one or more properties that specify comparison options.
|
||||
*/
|
||||
toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+168
@@ -0,0 +1,168 @@
|
||||
/////////////////////////////
|
||||
/// ECMAScript Internationalization API
|
||||
/////////////////////////////
|
||||
|
||||
declare module Intl {
|
||||
interface CollatorOptions {
|
||||
usage?: string;
|
||||
localeMatcher?: string;
|
||||
numeric?: boolean;
|
||||
caseFirst?: string;
|
||||
sensitivity?: string;
|
||||
ignorePunctuation?: boolean;
|
||||
}
|
||||
|
||||
interface ResolvedCollatorOptions {
|
||||
locale: string;
|
||||
usage: string;
|
||||
sensitivity: string;
|
||||
ignorePunctuation: boolean;
|
||||
collation: string;
|
||||
caseFirst: string;
|
||||
numeric: boolean;
|
||||
}
|
||||
|
||||
interface Collator {
|
||||
compare(x: string, y: string): number;
|
||||
resolvedOptions(): ResolvedCollatorOptions;
|
||||
}
|
||||
var Collator: {
|
||||
new (locales?: string[], options?: CollatorOptions): Collator;
|
||||
new (locale?: string, options?: CollatorOptions): Collator;
|
||||
(locales?: string[], options?: CollatorOptions): Collator;
|
||||
(locale?: string, options?: CollatorOptions): Collator;
|
||||
supportedLocalesOf(locales: string[], options?: CollatorOptions): string[];
|
||||
supportedLocalesOf(locale: string, options?: CollatorOptions): string[];
|
||||
}
|
||||
|
||||
interface NumberFormatOptions {
|
||||
localeMatcher?: string;
|
||||
style?: string;
|
||||
currency?: string;
|
||||
currencyDisplay?: string;
|
||||
useGrouping?: boolean;
|
||||
}
|
||||
|
||||
interface ResolvedNumberFormatOptions {
|
||||
locale: string;
|
||||
numberingSystem: string;
|
||||
style: string;
|
||||
currency?: string;
|
||||
currencyDisplay?: string;
|
||||
minimumintegerDigits: number;
|
||||
minimumFractionDigits: number;
|
||||
maximumFractionDigits: number;
|
||||
minimumSignificantDigits?: number;
|
||||
maximumSignificantDigits?: number;
|
||||
useGrouping: boolean;
|
||||
}
|
||||
|
||||
interface NumberFormat {
|
||||
format(value: number): string;
|
||||
resolvedOptions(): ResolvedNumberFormatOptions;
|
||||
}
|
||||
var NumberFormat: {
|
||||
new (locales?: string[], options?: NumberFormatOptions): Collator;
|
||||
new (locale?: string, options?: NumberFormatOptions): Collator;
|
||||
(locales?: string[], options?: NumberFormatOptions): Collator;
|
||||
(locale?: string, options?: NumberFormatOptions): Collator;
|
||||
supportedLocalesOf(locales: string[], options?: NumberFormatOptions): string[];
|
||||
supportedLocalesOf(locale: string, options?: NumberFormatOptions): string[];
|
||||
}
|
||||
|
||||
interface DateTimeFormatOptions {
|
||||
localeMatcher?: string;
|
||||
weekday?: string;
|
||||
era?: string;
|
||||
year?: string;
|
||||
month?: string;
|
||||
day?: string;
|
||||
hour?: string;
|
||||
minute?: string;
|
||||
second?: string;
|
||||
timeZoneName?: string;
|
||||
formatMatcher?: string;
|
||||
hour12: boolean;
|
||||
}
|
||||
|
||||
interface ResolvedDateTimeFormatOptions {
|
||||
locale: string;
|
||||
calendar: string;
|
||||
numberingSystem: string;
|
||||
timeZone: string;
|
||||
hour12?: boolean;
|
||||
weekday?: string;
|
||||
era?: string;
|
||||
year?: string;
|
||||
month?: string;
|
||||
day?: string;
|
||||
hour?: string;
|
||||
minute?: string;
|
||||
second?: string;
|
||||
timeZoneName?: string;
|
||||
}
|
||||
|
||||
interface DateTimeFormat {
|
||||
format(date: number): string;
|
||||
resolvedOptions(): ResolvedDateTimeFormatOptions;
|
||||
}
|
||||
var DateTimeFormat: {
|
||||
new (locales?: string[], options?: DateTimeFormatOptions): Collator;
|
||||
new (locale?: string, options?: DateTimeFormatOptions): Collator;
|
||||
(locales?: string[], options?: DateTimeFormatOptions): Collator;
|
||||
(locale?: string, options?: DateTimeFormatOptions): Collator;
|
||||
supportedLocalesOf(locales: string[], options?: DateTimeFormatOptions): string[];
|
||||
supportedLocalesOf(locale: string, options?: DateTimeFormatOptions): string[];
|
||||
}
|
||||
}
|
||||
|
||||
interface String {
|
||||
/**
|
||||
* Determines whether two strings are equivalent in the current locale.
|
||||
* @param that String to compare to target string
|
||||
* @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.
|
||||
* @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.
|
||||
*/
|
||||
localeCompare(that: string, locales: string[], options?: Intl.CollatorOptions): number;
|
||||
|
||||
/**
|
||||
* Determines whether two strings are equivalent in the current locale.
|
||||
* @param that String to compare to target string
|
||||
* @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.
|
||||
* @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.
|
||||
*/
|
||||
localeCompare(that: string, locale: string, options?: Intl.CollatorOptions): number;
|
||||
}
|
||||
|
||||
interface Number {
|
||||
/**
|
||||
* Converts a number to a string by using the current or specified locale.
|
||||
* @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
|
||||
* @param options An object that contains one or more properties that specify comparison options.
|
||||
*/
|
||||
toLocaleString(locales?: string[], options?: Intl.NumberFormatOptions): string;
|
||||
|
||||
/**
|
||||
* Converts a number to a string by using the current or specified locale.
|
||||
* @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
|
||||
* @param options An object that contains one or more properties that specify comparison options.
|
||||
*/
|
||||
toLocaleString(locale?: string, options?: Intl.NumberFormatOptions): string;
|
||||
}
|
||||
|
||||
interface Date {
|
||||
/**
|
||||
* Converts a date to a string by using the current or specified locale.
|
||||
* @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
|
||||
* @param options An object that contains one or more properties that specify comparison options.
|
||||
*/
|
||||
toLocaleString(locales?: string[], options?: Intl.DateTimeFormatOptions): string;
|
||||
|
||||
/**
|
||||
* Converts a date to a string by using the current or specified locale.
|
||||
* @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
|
||||
* @param options An object that contains one or more properties that specify comparison options.
|
||||
*/
|
||||
toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
|
||||
}
|
||||
|
||||
@@ -146,7 +146,11 @@ module ts.formatting {
|
||||
if (lastTokenInfo && expectedScanAction === lastScanAction) {
|
||||
// readTokenInfo was called before with the same expected scan action.
|
||||
// No need to re-scan text, return existing 'lastTokenInfo'
|
||||
return lastTokenInfo;
|
||||
// it is ok to call fixTokenKind here since it does not affect
|
||||
// what portion of text is consumed. In opposize rescanning can change it,
|
||||
// i.e. for '>=' when originally scanner eats just one character
|
||||
// and rescanning forces it to consume more.
|
||||
return fixTokenKind(lastTokenInfo, n);
|
||||
}
|
||||
|
||||
if (scanner.getStartPos() !== savedPos) {
|
||||
@@ -207,11 +211,13 @@ module ts.formatting {
|
||||
}
|
||||
}
|
||||
|
||||
return lastTokenInfo = {
|
||||
lastTokenInfo = {
|
||||
leadingTrivia: leadingTrivia,
|
||||
trailingTrivia: trailingTrivia,
|
||||
token: token
|
||||
}
|
||||
|
||||
return fixTokenKind(lastTokenInfo, n);
|
||||
}
|
||||
|
||||
function isOnToken(): boolean {
|
||||
@@ -219,5 +225,16 @@ module ts.formatting {
|
||||
var startPos = (lastTokenInfo && lastTokenInfo.token.pos) || scanner.getStartPos();
|
||||
return startPos < endPos && current !== SyntaxKind.EndOfFileToken && !isTrivia(current);
|
||||
}
|
||||
|
||||
// when containing node in the tree is token
|
||||
// but its kind differs from the kind that was returned by the scanner,
|
||||
// then kind needs to be fixed. This might happen in cases
|
||||
// when parser interprets token differently, i.e keyword treated as identifier
|
||||
function fixTokenKind(tokenInfo: TokenInfo, container: Node): TokenInfo {
|
||||
if (isToken(container) && tokenInfo.token.kind !== container.kind) {
|
||||
tokenInfo.token.kind = container.kind;
|
||||
}
|
||||
return tokenInfo;
|
||||
}
|
||||
}
|
||||
}
|
||||
+25
-45
@@ -869,7 +869,7 @@ module ts {
|
||||
getLocalizedDiagnosticMessages(): any;
|
||||
getCancellationToken(): CancellationToken;
|
||||
getCurrentDirectory(): string;
|
||||
getDefaultLibFilename(): string;
|
||||
getDefaultLibFilename(options: CompilerOptions): string;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -2107,8 +2107,8 @@ module ts {
|
||||
getCanonicalFileName: (filename) => useCaseSensitivefilenames ? filename : filename.toLowerCase(),
|
||||
useCaseSensitiveFileNames: () => useCaseSensitivefilenames,
|
||||
getNewLine: () => "\r\n",
|
||||
getDefaultLibFilename: (): string => {
|
||||
return host.getDefaultLibFilename();
|
||||
getDefaultLibFilename: (options): string => {
|
||||
return host.getDefaultLibFilename(options);
|
||||
},
|
||||
writeFile: (filename, data, writeByteOrderMark) => {
|
||||
writer(filename, data, writeByteOrderMark);
|
||||
@@ -2253,7 +2253,7 @@ module ts {
|
||||
|
||||
filename = normalizeSlashes(filename);
|
||||
|
||||
return program.getDiagnostics(getSourceFile(filename).getSourceFile());
|
||||
return program.getDiagnostics(getSourceFile(filename));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2510,10 +2510,11 @@ module ts {
|
||||
}
|
||||
|
||||
function isInStringOrRegularExpressionOrTemplateLiteral(previousToken: Node): boolean {
|
||||
if (previousToken.kind === SyntaxKind.StringLiteral || isTemplateLiteralKind(previousToken.kind)) {
|
||||
if (previousToken.kind === SyntaxKind.StringLiteral
|
||||
|| previousToken.kind === SyntaxKind.RegularExpressionLiteral
|
||||
|| isTemplateLiteralKind(previousToken.kind)) {
|
||||
// The position has to be either: 1. entirely within the token text, or
|
||||
// 2. at the end position, and the string literal is not terminated
|
||||
|
||||
// 2. at the end position of an unterminated token.
|
||||
var start = previousToken.getStart();
|
||||
var end = previousToken.getEnd();
|
||||
|
||||
@@ -2521,36 +2522,9 @@ module ts {
|
||||
return true;
|
||||
}
|
||||
else if (position === end) {
|
||||
var width = end - start;
|
||||
var text = previousToken.getSourceFile().text;
|
||||
|
||||
// If the token is a single character, or its second-to-last charcter indicates an escape code,
|
||||
// then we can immediately say that we are in the middle of an unclosed string.
|
||||
if (width <= 1 || text.charCodeAt(end - 2) === CharacterCodes.backslash) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Now check if the last character is a closing character for the token.
|
||||
switch (previousToken.kind) {
|
||||
case SyntaxKind.StringLiteral:
|
||||
case SyntaxKind.NoSubstitutionTemplateLiteral:
|
||||
return text.charCodeAt(start) !== text.charCodeAt(end - 1);
|
||||
|
||||
case SyntaxKind.TemplateHead:
|
||||
case SyntaxKind.TemplateMiddle:
|
||||
return text.charCodeAt(end - 1) !== CharacterCodes.openBrace
|
||||
|| text.charCodeAt(end - 2) !== CharacterCodes.$;
|
||||
|
||||
case SyntaxKind.TemplateTail:
|
||||
return text.charCodeAt(end - 1) !== CharacterCodes.backtick;
|
||||
}
|
||||
|
||||
return false;
|
||||
return !!(<LiteralExpression>previousToken).isUnterminated;
|
||||
}
|
||||
}
|
||||
else if (previousToken.kind === SyntaxKind.RegularExpressionLiteral) {
|
||||
return previousToken.getStart() < position && position < previousToken.getEnd();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -5674,23 +5648,29 @@ module ts {
|
||||
addResult(end - start, classFromKind(token));
|
||||
|
||||
if (end >= text.length) {
|
||||
// We're at the end.
|
||||
if (token === SyntaxKind.StringLiteral) {
|
||||
// Check to see if we finished up on a multiline string literal.
|
||||
var tokenText = scanner.getTokenText();
|
||||
if (tokenText.length > 0 && tokenText.charCodeAt(tokenText.length - 1) === CharacterCodes.backslash) {
|
||||
var quoteChar = tokenText.charCodeAt(0);
|
||||
result.finalLexState = quoteChar === CharacterCodes.doubleQuote
|
||||
? EndOfLineState.InDoubleQuoteStringLiteral
|
||||
: EndOfLineState.InSingleQuoteStringLiteral;
|
||||
if (scanner.isUnterminated()) {
|
||||
var lastCharIndex = tokenText.length - 1;
|
||||
|
||||
var numBackslashes = 0;
|
||||
while (tokenText.charCodeAt(lastCharIndex - numBackslashes) === CharacterCodes.backslash) {
|
||||
numBackslashes++;
|
||||
}
|
||||
|
||||
// If we have an odd number of backslashes, then the multiline string is unclosed
|
||||
if (numBackslashes & 1) {
|
||||
var quoteChar = tokenText.charCodeAt(0);
|
||||
result.finalLexState = quoteChar === CharacterCodes.doubleQuote
|
||||
? EndOfLineState.InDoubleQuoteStringLiteral
|
||||
: EndOfLineState.InSingleQuoteStringLiteral;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (token === SyntaxKind.MultiLineCommentTrivia) {
|
||||
// Check to see if the multiline comment was unclosed.
|
||||
var tokenText = scanner.getTokenText()
|
||||
if (!(tokenText.length > 3 && // need to avoid catching '/*/'
|
||||
tokenText.charCodeAt(tokenText.length - 2) === CharacterCodes.asterisk &&
|
||||
tokenText.charCodeAt(tokenText.length - 1) === CharacterCodes.slash)) {
|
||||
if (scanner.isUnterminated()) {
|
||||
result.finalLexState = EndOfLineState.InMultiLineCommentTrivia;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ module ts {
|
||||
getLocalizedDiagnosticMessages(): string;
|
||||
getCancellationToken(): CancellationToken;
|
||||
getCurrentDirectory(): string;
|
||||
getDefaultLibFilename(): string;
|
||||
getDefaultLibFilename(options: string): string;
|
||||
}
|
||||
|
||||
///
|
||||
@@ -388,8 +388,8 @@ module ts {
|
||||
return this.shimHost.getCancellationToken();
|
||||
}
|
||||
|
||||
public getDefaultLibFilename(): string {
|
||||
return this.shimHost.getDefaultLibFilename();
|
||||
public getDefaultLibFilename(options: CompilerOptions): string {
|
||||
return this.shimHost.getDefaultLibFilename(JSON.stringify(options));
|
||||
}
|
||||
|
||||
public getCurrentDirectory(): string {
|
||||
|
||||
@@ -296,7 +296,7 @@ module ts.SignatureHelp {
|
||||
Debug.assert(templateExpression.kind === SyntaxKind.TemplateExpression);
|
||||
|
||||
// If we're just after a template tail, don't show signature help.
|
||||
if (node.kind === SyntaxKind.TemplateTail && position >= node.getEnd() && !isUnterminatedTemplateEnd(<LiteralExpression>node)) {
|
||||
if (node.kind === SyntaxKind.TemplateTail && position >= node.getEnd() && !(<LiteralExpression>node).isUnterminated) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
@@ -253,7 +253,8 @@ module ts.formatting {
|
||||
rangeContainsStartEnd((<CallExpression>node.parent).typeArguments, start, node.getEnd())) {
|
||||
return (<CallExpression>node.parent).typeArguments;
|
||||
}
|
||||
if (rangeContainsStartEnd((<CallExpression>node.parent).arguments, start, node.getEnd())) {
|
||||
if ((<CallExpression>node.parent).arguments &&
|
||||
rangeContainsStartEnd((<CallExpression>node.parent).arguments, start, node.getEnd())) {
|
||||
return (<CallExpression>node.parent).arguments;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -322,7 +322,7 @@ module ts {
|
||||
}
|
||||
|
||||
export function isInsideTemplateLiteral(node: LiteralExpression, position: number) {
|
||||
return (node.getStart() < position && position < node.getEnd())
|
||||
|| (isUnterminatedTemplateEnd(node) && position === node.getEnd());
|
||||
return isTemplateLiteralKind(node.kind)
|
||||
&& (node.getStart() < position && position < node.getEnd()) || (!!node.isUnterminated && position === node.getEnd());
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -17,6 +17,6 @@ module A {
|
||||
export var beez2 = new Array<B>();
|
||||
>beez2 : B[]
|
||||
>new Array<B>() : B[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
>B : B
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ a.concat('Hello');
|
||||
var b = new Array<string>();
|
||||
>b : string[]
|
||||
>new Array<string>() : string[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
b.concat('hello');
|
||||
>b.concat('hello') : string[]
|
||||
|
||||
@@ -6,19 +6,19 @@ x = new Array(1);
|
||||
>x = new Array(1) : any[]
|
||||
>x : string[]
|
||||
>new Array(1) : any[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
x = new Array('hi', 'bye');
|
||||
>x = new Array('hi', 'bye') : string[]
|
||||
>x : string[]
|
||||
>new Array('hi', 'bye') : string[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
x = new Array<string>('hi', 'bye');
|
||||
>x = new Array<string>('hi', 'bye') : string[]
|
||||
>x : string[]
|
||||
>new Array<string>('hi', 'bye') : string[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
var y: number[];
|
||||
>y : number[]
|
||||
@@ -27,17 +27,17 @@ y = new Array(1);
|
||||
>y = new Array(1) : any[]
|
||||
>y : number[]
|
||||
>new Array(1) : any[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
y = new Array(1,2);
|
||||
>y = new Array(1,2) : number[]
|
||||
>y : number[]
|
||||
>new Array(1,2) : number[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
y = new Array<number>(1, 2);
|
||||
>y = new Array<number>(1, 2) : number[]
|
||||
>y : number[]
|
||||
>new Array<number>(1, 2) : number[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ var x = [];
|
||||
var x = new Array(1);
|
||||
>x : any[]
|
||||
>new Array(1) : any[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
var y = [1];
|
||||
>y : number[]
|
||||
@@ -21,7 +21,7 @@ var y = [1, 2];
|
||||
var y = new Array<number>();
|
||||
>y : number[]
|
||||
>new Array<number>() : number[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
var x2: number[] = [];
|
||||
>x2 : number[]
|
||||
@@ -30,7 +30,7 @@ var x2: number[] = [];
|
||||
var x2: number[] = new Array(1);
|
||||
>x2 : number[]
|
||||
>new Array(1) : any[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
var y2: number[] = [1];
|
||||
>y2 : number[]
|
||||
@@ -43,5 +43,5 @@ var y2: number[] = [1, 2];
|
||||
var y2: number[] = new Array<number>();
|
||||
>y2 : number[]
|
||||
>new Array<number>() : number[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@ tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(
|
||||
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(6,30): error TS1109: Expression expected.
|
||||
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(7,22): error TS1005: '=' expected.
|
||||
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(7,32): error TS1109: Expression expected.
|
||||
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(6,5): error TS2322: Type 'number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
|
||||
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(6,5): error TS2322: Type 'number' is not assignable to type 'ArrayConstructor'.
|
||||
Property 'isArray' is missing in type 'Number'.
|
||||
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(7,5): error TS2322: Type 'number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
|
||||
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(7,5): error TS2322: Type 'number' is not assignable to type 'ArrayConstructor'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts (6 errors) ====
|
||||
@@ -19,7 +19,7 @@ tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(
|
||||
~
|
||||
!!! error TS1109: Expression expected.
|
||||
~~~
|
||||
!!! error TS2322: Type 'number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
|
||||
!!! error TS2322: Type 'number' is not assignable to type 'ArrayConstructor'.
|
||||
!!! error TS2322: Property 'isArray' is missing in type 'Number'.
|
||||
var xs4: typeof Array<typeof x>;
|
||||
~
|
||||
@@ -27,4 +27,4 @@ tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(
|
||||
~
|
||||
!!! error TS1109: Expression expected.
|
||||
~~~
|
||||
!!! error TS2322: Type 'number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
|
||||
!!! error TS2322: Type 'number' is not assignable to type 'ArrayConstructor'.
|
||||
@@ -0,0 +1,81 @@
|
||||
//// [binaryIntegerLiteral.ts]
|
||||
var bin1 = 0b11010;
|
||||
var bin2 = 0B11010;
|
||||
var bin3 = 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111;
|
||||
var bin4 = 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111;
|
||||
|
||||
var obj1 = {
|
||||
0b11010: "Hello",
|
||||
a: bin1,
|
||||
bin1,
|
||||
b: 0b11010,
|
||||
0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true,
|
||||
}
|
||||
|
||||
var obj2 = {
|
||||
0B11010: "World",
|
||||
a: bin2,
|
||||
bin2,
|
||||
b: 0B11010,
|
||||
0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: false,
|
||||
}
|
||||
|
||||
obj1[0b11010]; // string
|
||||
obj1[26]; // string
|
||||
obj1["26"]; // string
|
||||
obj1["0b11010"]; // any
|
||||
obj1["a"]; // number
|
||||
obj1["b"]; // number
|
||||
obj1["bin1"]; // number
|
||||
obj1["Infinity"]; // boolean
|
||||
|
||||
obj2[0B11010]; // string
|
||||
obj2[26]; // string
|
||||
obj2["26"]; // string
|
||||
obj2["0B11010"]; // any
|
||||
obj2["a"]; // number
|
||||
obj2["b"]; // number
|
||||
obj2["bin2"]; // number
|
||||
obj2[9.671406556917009e+24]; // boolean
|
||||
obj2["9.671406556917009e+24"]; // boolean
|
||||
obj2["Infinity"]; // any
|
||||
|
||||
|
||||
|
||||
//// [binaryIntegerLiteral.js]
|
||||
var bin1 = 26;
|
||||
var bin2 = 26;
|
||||
var bin3 = 9.671406556917009e+24;
|
||||
var bin4 = Infinity;
|
||||
var obj1 = {
|
||||
26: "Hello",
|
||||
a: bin1,
|
||||
bin1: bin1,
|
||||
b: 26,
|
||||
Infinity: true,
|
||||
};
|
||||
var obj2 = {
|
||||
26: "World",
|
||||
a: bin2,
|
||||
bin2: bin2,
|
||||
b: 26,
|
||||
9.671406556917009e+24: false,
|
||||
};
|
||||
obj1[26]; // string
|
||||
obj1[26]; // string
|
||||
obj1["26"]; // string
|
||||
obj1["0b11010"]; // any
|
||||
obj1["a"]; // number
|
||||
obj1["b"]; // number
|
||||
obj1["bin1"]; // number
|
||||
obj1["Infinity"]; // boolean
|
||||
obj2[26]; // string
|
||||
obj2[26]; // string
|
||||
obj2["26"]; // string
|
||||
obj2["0B11010"]; // any
|
||||
obj2["a"]; // number
|
||||
obj2["b"]; // number
|
||||
obj2["bin2"]; // number
|
||||
obj2[9.671406556917009e+24]; // boolean
|
||||
obj2["9.671406556917009e+24"]; // boolean
|
||||
obj2["Infinity"]; // any
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,82 @@
|
||||
//// [binaryIntegerLiteralES6.ts]
|
||||
var bin1 = 0b11010;
|
||||
var bin2 = 0B11010;
|
||||
var bin3 = 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111;
|
||||
var bin4 = 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111;
|
||||
|
||||
var obj1 = {
|
||||
0b11010: "Hello",
|
||||
a: bin1,
|
||||
bin1,
|
||||
b: 0b11010,
|
||||
0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true,
|
||||
}
|
||||
|
||||
var obj2 = {
|
||||
0B11010: "World",
|
||||
a: bin2,
|
||||
bin2,
|
||||
b: 0B11010,
|
||||
0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: false,
|
||||
}
|
||||
|
||||
obj1[0b11010]; // string
|
||||
obj1[26]; // string
|
||||
obj1["26"]; // string
|
||||
obj1["0b11010"]; // any
|
||||
obj1["a"]; // number
|
||||
obj1["b"]; // number
|
||||
obj1["bin1"]; // number
|
||||
obj1["Infinity"]; // boolean
|
||||
|
||||
obj2[0B11010]; // string
|
||||
obj2[26]; // string
|
||||
obj2["26"]; // string
|
||||
obj2["0B11010"]; // any
|
||||
obj2["a"]; // number
|
||||
obj2["b"]; // number
|
||||
obj2["bin2"]; // number
|
||||
obj2[9.671406556917009e+24]; // boolean
|
||||
obj2["9.671406556917009e+24"]; // boolean
|
||||
obj2["Infinity"]; // any
|
||||
|
||||
|
||||
|
||||
|
||||
//// [binaryIntegerLiteralES6.js]
|
||||
var bin1 = 0b11010;
|
||||
var bin2 = 0B11010;
|
||||
var bin3 = 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111;
|
||||
var bin4 = 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111;
|
||||
var obj1 = {
|
||||
0b11010: "Hello",
|
||||
a: bin1,
|
||||
bin1,
|
||||
b: 0b11010,
|
||||
0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true,
|
||||
};
|
||||
var obj2 = {
|
||||
0B11010: "World",
|
||||
a: bin2,
|
||||
bin2,
|
||||
b: 0B11010,
|
||||
0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: false,
|
||||
};
|
||||
obj1[0b11010]; // string
|
||||
obj1[26]; // string
|
||||
obj1["26"]; // string
|
||||
obj1["0b11010"]; // any
|
||||
obj1["a"]; // number
|
||||
obj1["b"]; // number
|
||||
obj1["bin1"]; // number
|
||||
obj1["Infinity"]; // boolean
|
||||
obj2[0B11010]; // string
|
||||
obj2[26]; // string
|
||||
obj2["26"]; // string
|
||||
obj2["0B11010"]; // any
|
||||
obj2["a"]; // number
|
||||
obj2["b"]; // number
|
||||
obj2["bin2"]; // number
|
||||
obj2[9.671406556917009e+24]; // boolean
|
||||
obj2["9.671406556917009e+24"]; // boolean
|
||||
obj2["Infinity"]; // any
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,28 @@
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/binaryIntegerLiteralError.ts(2,17): error TS1005: ',' expected.
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/binaryIntegerLiteralError.ts(3,17): error TS1005: ',' expected.
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/binaryIntegerLiteralError.ts(6,5): error TS2300: Duplicate identifier '0b11010'.
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/binaryIntegerLiteralError.ts(7,5): error TS2300: Duplicate identifier '26'.
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/binaryIntegerLiteralError.ts(8,5): error TS2300: Duplicate identifier '"26"'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/binaryIntegerLiteralError.ts (5 errors) ====
|
||||
// error
|
||||
var bin1 = 0B1102110;
|
||||
~~~~
|
||||
!!! error TS1005: ',' expected.
|
||||
var bin1 = 0b11023410;
|
||||
~~~~~
|
||||
!!! error TS1005: ',' expected.
|
||||
|
||||
var obj1 = {
|
||||
0b11010: "hi",
|
||||
~~~~~~~
|
||||
!!! error TS2300: Duplicate identifier '0b11010'.
|
||||
26: "Hello",
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier '26'.
|
||||
"26": "world",
|
||||
~~~~
|
||||
!!! error TS2300: Duplicate identifier '"26"'.
|
||||
};
|
||||
|
||||
@@ -7,5 +7,5 @@ var xx = <Foo> new Object();
|
||||
><Foo> new Object() : Foo
|
||||
>Foo : Foo
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ true, {}
|
||||
"string", new Date()
|
||||
>"string", new Date() : Date
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
STRING.toLowerCase(), new CLASS()
|
||||
>STRING.toLowerCase(), new CLASS() : CLASS
|
||||
@@ -154,7 +154,7 @@ var resultIsObject10 = ("string", new Date());
|
||||
>("string", new Date()) : Date
|
||||
>"string", new Date() : Date
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
var resultIsObject11 = (STRING.toLowerCase(), new CLASS());
|
||||
>resultIsObject11 : CLASS
|
||||
|
||||
@@ -90,7 +90,7 @@ ANY = new Date(), STRING;
|
||||
>ANY = new Date() : Date
|
||||
>ANY : any
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>STRING : string
|
||||
|
||||
true, "";
|
||||
@@ -115,7 +115,7 @@ OBJECT = new Object, STRING + "string";
|
||||
>OBJECT = new Object : Object
|
||||
>OBJECT : Object
|
||||
>new Object : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
>STRING + "string" : string
|
||||
>STRING : string
|
||||
|
||||
@@ -132,7 +132,7 @@ var resultIsString7 = (ANY = new Date(), STRING);
|
||||
>ANY = new Date() : Date
|
||||
>ANY : any
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>STRING : string
|
||||
|
||||
var resultIsString8 = (true, "");
|
||||
@@ -163,7 +163,7 @@ var resultIsString11 = (new Object, STRING + "string");
|
||||
>(new Object, STRING + "string") : string
|
||||
>new Object, STRING + "string" : string
|
||||
>new Object : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
>STRING + "string" : string
|
||||
>STRING : string
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ null, true, 1;
|
||||
>STRING : string
|
||||
>charAt : (pos: number) => string
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
var resultIsNumber2 = (null, true, 1);
|
||||
>resultIsNumber2 : number
|
||||
@@ -132,5 +132,5 @@ var resultIsObject2 = (++NUMBER, STRING.charAt(0), new Object());
|
||||
>STRING : string
|
||||
>charAt : (pos: number) => string
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@ foo() ? exprAny1 : exprAny2;
|
||||
new Date() ? exprBoolean1 : exprBoolean2;
|
||||
>new Date() ? exprBoolean1 : exprBoolean2 : boolean
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>exprBoolean1 : boolean
|
||||
>exprBoolean2 : boolean
|
||||
|
||||
@@ -262,7 +262,7 @@ var resultIsBoolean3 = new Date() ? exprBoolean1 : exprBoolean2;
|
||||
>resultIsBoolean3 : boolean
|
||||
>new Date() ? exprBoolean1 : exprBoolean2 : boolean
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>exprBoolean1 : boolean
|
||||
>exprBoolean2 : boolean
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ class Rule {
|
||||
>regex : RegExp
|
||||
>RegExp : RegExp
|
||||
>new RegExp('') : RegExp
|
||||
>RegExp : { (pattern: string, flags?: string): RegExp; new (pattern: string, flags?: string): RegExp; $1: string; $2: string; $3: string; $4: string; $5: string; $6: string; $7: string; $8: string; $9: string; lastMatch: string; }
|
||||
>RegExp : RegExpConstructor
|
||||
|
||||
public name: string = '';
|
||||
>name : string
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
tests/cases/compiler/errorMessageOnObjectLiteralType.ts(5,3): error TS2339: Property 'getOwnPropertyNamess' does not exist on type '{ a: string; b: number; }'.
|
||||
tests/cases/compiler/errorMessageOnObjectLiteralType.ts(6,8): error TS2339: Property 'getOwnPropertyNamess' does not exist on type '{ (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }'.
|
||||
tests/cases/compiler/errorMessageOnObjectLiteralType.ts(6,8): error TS2339: Property 'getOwnPropertyNamess' does not exist on type 'ObjectConstructor'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/errorMessageOnObjectLiteralType.ts (2 errors) ====
|
||||
@@ -12,4 +12,4 @@ tests/cases/compiler/errorMessageOnObjectLiteralType.ts(6,8): error TS2339: Prop
|
||||
!!! error TS2339: Property 'getOwnPropertyNamess' does not exist on type '{ a: string; b: number; }'.
|
||||
Object.getOwnPropertyNamess(null);
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2339: Property 'getOwnPropertyNamess' does not exist on type '{ (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }'.
|
||||
!!! error TS2339: Property 'getOwnPropertyNamess' does not exist on type 'ObjectConstructor'.
|
||||
@@ -67,13 +67,13 @@ var aDate: Date = new Date(12);
|
||||
>aDate : Date
|
||||
>Date : Date
|
||||
>new Date(12) : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
var anObject: Object = new Object();
|
||||
>anObject : Object
|
||||
>Object : Object
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
var anAny: any = null;
|
||||
>anAny : any
|
||||
|
||||
@@ -66,12 +66,12 @@ var aString = 'this is a string';
|
||||
var aDate = new Date(12);
|
||||
>aDate : Date
|
||||
>new Date(12) : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
var anObject = new Object();
|
||||
>anObject : Object
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
var anAny = null;
|
||||
>anAny : any
|
||||
|
||||
@@ -25,7 +25,7 @@ var x = 5;
|
||||
var server = new Date();
|
||||
>server : Date
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
export = server;
|
||||
>server : server
|
||||
|
||||
@@ -25,7 +25,7 @@ var x = 5;
|
||||
var server = new Date();
|
||||
>server : Date
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
export = server;
|
||||
>server : server
|
||||
|
||||
@@ -67,13 +67,13 @@ for(var aDate: Date = new Date(12);;){}
|
||||
>aDate : Date
|
||||
>Date : Date
|
||||
>new Date(12) : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
for(var anObject: Object = new Object();;){}
|
||||
>anObject : Object
|
||||
>Object : Object
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
for(var anAny: any = null;;){}
|
||||
>anAny : any
|
||||
|
||||
@@ -118,7 +118,7 @@ for (var a: string[] = []; ;) { }
|
||||
for (var a = new Array<string>(); ;) { }
|
||||
>a : string[]
|
||||
>new Array<string>() : string[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
|
||||
for (var a: typeof a; ;) { }
|
||||
>a : string[]
|
||||
|
||||
@@ -41,7 +41,7 @@ var r = foo(new Function());
|
||||
>foo(new Function()) : Function
|
||||
>foo : <T extends Function>(x: T) => T
|
||||
>new Function() : Function
|
||||
>Function : { (...args: string[]): Function; new (...args: string[]): Function; prototype: Function; }
|
||||
>Function : FunctionConstructor
|
||||
|
||||
var r1 = foo((x) => x);
|
||||
>r1 : (x: any) => any
|
||||
|
||||
@@ -4,5 +4,5 @@ function clone():number {
|
||||
|
||||
throw new Error("To be implemented");
|
||||
>new Error("To be implemented") : Error
|
||||
>Error : { (message?: string): Error; new (message?: string): Error; prototype: Error; }
|
||||
>Error : ErrorConstructor
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ salt.apply("hello", []);
|
||||
>(new Function("return 5"))() : any
|
||||
>(new Function("return 5")) : Function
|
||||
>new Function("return 5") : Function
|
||||
>Function : { (...args: string[]): Function; new (...args: string[]): Function; prototype: Function; }
|
||||
>Function : FunctionConstructor
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ var r3 = utils.mapReduce(c, (x) => { return 1 }, (y) => { return new Date() });
|
||||
>(y) => { return new Date() } : (y: number) => Date
|
||||
>y : number
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
var r4 = utils.mapReduce(c, (x: string) => { return 1 }, (y: number) => { return new Date() });
|
||||
>r4 : Collection<Date>
|
||||
@@ -82,7 +82,7 @@ var r4 = utils.mapReduce(c, (x: string) => { return 1 }, (y: number) => { return
|
||||
>(y: number) => { return new Date() } : (y: number) => Date
|
||||
>y : number
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
var f1 = (x: string) => { return 1 };
|
||||
>f1 : (x: string) => number
|
||||
@@ -94,7 +94,7 @@ var f2 = (y: number) => { return new Date() };
|
||||
>(y: number) => { return new Date() } : (y: number) => Date
|
||||
>y : number
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
var r5 = utils.mapReduce(c, f1, f2);
|
||||
>r5 : Collection<Date>
|
||||
|
||||
@@ -9,7 +9,7 @@ function setFunc(v){}
|
||||
Object.defineProperty({}, "0", <PropertyDescriptor>({
|
||||
>Object.defineProperty({}, "0", <PropertyDescriptor>({ get: getFunc, set: setFunc, configurable: true })) : any
|
||||
>Object.defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
>defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any
|
||||
>{} : {}
|
||||
><PropertyDescriptor>({ get: getFunc, set: setFunc, configurable: true }) : PropertyDescriptor
|
||||
|
||||
@@ -22,7 +22,7 @@ var e = [{}, Object]; // {}[]
|
||||
>e : {}[]
|
||||
>[{}, Object] : {}[]
|
||||
>{} : {}
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
var f = [[], [1]]; // number[][]
|
||||
>f : number[][]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//// [implementArrayInterface.ts]
|
||||
declare class ArrayConstructor<T> implements Array<T> {
|
||||
declare class MyArray<T> implements Array<T> {
|
||||
toString(): string;
|
||||
toLocaleString(): string;
|
||||
concat<U extends T[]>(...items: U[]): T[];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
=== tests/cases/compiler/implementArrayInterface.ts ===
|
||||
declare class ArrayConstructor<T> implements Array<T> {
|
||||
>ArrayConstructor : ArrayConstructor<T>
|
||||
declare class MyArray<T> implements Array<T> {
|
||||
>MyArray : MyArray<T>
|
||||
>T : T
|
||||
>Array : T[]
|
||||
>T : T
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/invalidBinaryIntegerLiteralAndOctalIntegerLiteral.ts(2,16): error TS1177: Binary digit expected.
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/invalidBinaryIntegerLiteralAndOctalIntegerLiteral.ts(3,17): error TS1177: Binary digit expected.
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/invalidBinaryIntegerLiteralAndOctalIntegerLiteral.ts(4,15): error TS1178: Octal digit expected.
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/invalidBinaryIntegerLiteralAndOctalIntegerLiteral.ts(5,15): error TS1178: Octal digit expected.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/invalidBinaryIntegerLiteralAndOctalIntegerLiteral.ts (4 errors) ====
|
||||
// Error
|
||||
var binary = 0b21010;
|
||||
|
||||
!!! error TS1177: Binary digit expected.
|
||||
var binary1 = 0B21010;
|
||||
|
||||
!!! error TS1177: Binary digit expected.
|
||||
var octal = 0o81010;
|
||||
|
||||
!!! error TS1178: Octal digit expected.
|
||||
var octal = 0O91010;
|
||||
|
||||
!!! error TS1178: Octal digit expected.
|
||||
@@ -0,0 +1,199 @@
|
||||
//// [isDeclarationVisibleNodeKinds.ts]
|
||||
|
||||
// Function types
|
||||
module schema {
|
||||
export function createValidator1(schema: any): <T>(data: T) => T {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
// Constructor types
|
||||
module schema {
|
||||
export function createValidator2(schema: any): new <T>(data: T) => T {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
// union types
|
||||
module schema {
|
||||
export function createValidator3(schema: any): number | { new <T>(data: T): T; } {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
// Array types
|
||||
module schema {
|
||||
export function createValidator4(schema: any): { new <T>(data: T): T; }[] {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// TypeLiterals
|
||||
module schema {
|
||||
export function createValidator5(schema: any): { new <T>(data: T): T } {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
// Tuple types
|
||||
module schema {
|
||||
export function createValidator6(schema: any): [ new <T>(data: T) => T, number] {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
// Paren Types
|
||||
module schema {
|
||||
export function createValidator7(schema: any): (new <T>(data: T)=>T )[] {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
// Type reference
|
||||
module schema {
|
||||
export function createValidator8(schema: any): Array<{ <T>(data: T) : T}> {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module schema {
|
||||
export class T {
|
||||
get createValidator9(): <T>(data: T) => T {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
set createValidator10(v: <T>(data: T) => T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//// [isDeclarationVisibleNodeKinds.js]
|
||||
// Function types
|
||||
var schema;
|
||||
(function (_schema) {
|
||||
function createValidator1(schema) {
|
||||
return undefined;
|
||||
}
|
||||
_schema.createValidator1 = createValidator1;
|
||||
})(schema || (schema = {}));
|
||||
// Constructor types
|
||||
var schema;
|
||||
(function (_schema) {
|
||||
function createValidator2(schema) {
|
||||
return undefined;
|
||||
}
|
||||
_schema.createValidator2 = createValidator2;
|
||||
})(schema || (schema = {}));
|
||||
// union types
|
||||
var schema;
|
||||
(function (_schema) {
|
||||
function createValidator3(schema) {
|
||||
return undefined;
|
||||
}
|
||||
_schema.createValidator3 = createValidator3;
|
||||
})(schema || (schema = {}));
|
||||
// Array types
|
||||
var schema;
|
||||
(function (_schema) {
|
||||
function createValidator4(schema) {
|
||||
return undefined;
|
||||
}
|
||||
_schema.createValidator4 = createValidator4;
|
||||
})(schema || (schema = {}));
|
||||
// TypeLiterals
|
||||
var schema;
|
||||
(function (_schema) {
|
||||
function createValidator5(schema) {
|
||||
return undefined;
|
||||
}
|
||||
_schema.createValidator5 = createValidator5;
|
||||
})(schema || (schema = {}));
|
||||
// Tuple types
|
||||
var schema;
|
||||
(function (_schema) {
|
||||
function createValidator6(schema) {
|
||||
return undefined;
|
||||
}
|
||||
_schema.createValidator6 = createValidator6;
|
||||
})(schema || (schema = {}));
|
||||
// Paren Types
|
||||
var schema;
|
||||
(function (_schema) {
|
||||
function createValidator7(schema) {
|
||||
return undefined;
|
||||
}
|
||||
_schema.createValidator7 = createValidator7;
|
||||
})(schema || (schema = {}));
|
||||
// Type reference
|
||||
var schema;
|
||||
(function (_schema) {
|
||||
function createValidator8(schema) {
|
||||
return undefined;
|
||||
}
|
||||
_schema.createValidator8 = createValidator8;
|
||||
})(schema || (schema = {}));
|
||||
var schema;
|
||||
(function (schema) {
|
||||
var T = (function () {
|
||||
function T() {
|
||||
}
|
||||
Object.defineProperty(T.prototype, "createValidator9", {
|
||||
get: function () {
|
||||
return undefined;
|
||||
},
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(T.prototype, "createValidator10", {
|
||||
set: function (v) {
|
||||
},
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
return T;
|
||||
})();
|
||||
schema.T = T;
|
||||
})(schema || (schema = {}));
|
||||
|
||||
|
||||
//// [isDeclarationVisibleNodeKinds.d.ts]
|
||||
declare module schema {
|
||||
function createValidator1(schema: any): <T>(data: T) => T;
|
||||
}
|
||||
declare module schema {
|
||||
function createValidator2(schema: any): new <T>(data: T) => T;
|
||||
}
|
||||
declare module schema {
|
||||
function createValidator3(schema: any): number | {
|
||||
new <T>(data: T): T;
|
||||
};
|
||||
}
|
||||
declare module schema {
|
||||
function createValidator4(schema: any): {
|
||||
new <T>(data: T): T;
|
||||
}[];
|
||||
}
|
||||
declare module schema {
|
||||
function createValidator5(schema: any): {
|
||||
new <T>(data: T): T;
|
||||
};
|
||||
}
|
||||
declare module schema {
|
||||
function createValidator6(schema: any): [new <T>(data: T) => T, number];
|
||||
}
|
||||
declare module schema {
|
||||
function createValidator7(schema: any): (new <T>(data: T) => T)[];
|
||||
}
|
||||
declare module schema {
|
||||
function createValidator8(schema: any): Array<{
|
||||
<T>(data: T): T;
|
||||
}>;
|
||||
}
|
||||
declare module schema {
|
||||
class T {
|
||||
createValidator9: <T>(data: T) => T;
|
||||
createValidator10: <T>(data: T) => T;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
=== tests/cases/compiler/isDeclarationVisibleNodeKinds.ts ===
|
||||
|
||||
// Function types
|
||||
module schema {
|
||||
>schema : typeof schema
|
||||
|
||||
export function createValidator1(schema: any): <T>(data: T) => T {
|
||||
>createValidator1 : (schema: any) => <T>(data: T) => T
|
||||
>schema : any
|
||||
>T : T
|
||||
>data : T
|
||||
>T : T
|
||||
>T : T
|
||||
|
||||
return undefined;
|
||||
>undefined : undefined
|
||||
}
|
||||
}
|
||||
|
||||
// Constructor types
|
||||
module schema {
|
||||
>schema : typeof schema
|
||||
|
||||
export function createValidator2(schema: any): new <T>(data: T) => T {
|
||||
>createValidator2 : (schema: any) => new <T>(data: T) => T
|
||||
>schema : any
|
||||
>T : T
|
||||
>data : T
|
||||
>T : T
|
||||
>T : T
|
||||
|
||||
return undefined;
|
||||
>undefined : undefined
|
||||
}
|
||||
}
|
||||
|
||||
// union types
|
||||
module schema {
|
||||
>schema : typeof schema
|
||||
|
||||
export function createValidator3(schema: any): number | { new <T>(data: T): T; } {
|
||||
>createValidator3 : (schema: any) => number | (new <T>(data: T) => T)
|
||||
>schema : any
|
||||
>T : T
|
||||
>data : T
|
||||
>T : T
|
||||
>T : T
|
||||
|
||||
return undefined;
|
||||
>undefined : undefined
|
||||
}
|
||||
}
|
||||
|
||||
// Array types
|
||||
module schema {
|
||||
>schema : typeof schema
|
||||
|
||||
export function createValidator4(schema: any): { new <T>(data: T): T; }[] {
|
||||
>createValidator4 : (schema: any) => (new <T>(data: T) => T)[]
|
||||
>schema : any
|
||||
>T : T
|
||||
>data : T
|
||||
>T : T
|
||||
>T : T
|
||||
|
||||
return undefined;
|
||||
>undefined : undefined
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// TypeLiterals
|
||||
module schema {
|
||||
>schema : typeof schema
|
||||
|
||||
export function createValidator5(schema: any): { new <T>(data: T): T } {
|
||||
>createValidator5 : (schema: any) => new <T>(data: T) => T
|
||||
>schema : any
|
||||
>T : T
|
||||
>data : T
|
||||
>T : T
|
||||
>T : T
|
||||
|
||||
return undefined;
|
||||
>undefined : undefined
|
||||
}
|
||||
}
|
||||
|
||||
// Tuple types
|
||||
module schema {
|
||||
>schema : typeof schema
|
||||
|
||||
export function createValidator6(schema: any): [ new <T>(data: T) => T, number] {
|
||||
>createValidator6 : (schema: any) => [new <T>(data: T) => T, number]
|
||||
>schema : any
|
||||
>T : T
|
||||
>data : T
|
||||
>T : T
|
||||
>T : T
|
||||
|
||||
return undefined;
|
||||
>undefined : undefined
|
||||
}
|
||||
}
|
||||
|
||||
// Paren Types
|
||||
module schema {
|
||||
>schema : typeof schema
|
||||
|
||||
export function createValidator7(schema: any): (new <T>(data: T)=>T )[] {
|
||||
>createValidator7 : (schema: any) => (new <T>(data: T) => T)[]
|
||||
>schema : any
|
||||
>T : T
|
||||
>data : T
|
||||
>T : T
|
||||
>T : T
|
||||
|
||||
return undefined;
|
||||
>undefined : undefined
|
||||
}
|
||||
}
|
||||
|
||||
// Type reference
|
||||
module schema {
|
||||
>schema : typeof schema
|
||||
|
||||
export function createValidator8(schema: any): Array<{ <T>(data: T) : T}> {
|
||||
>createValidator8 : (schema: any) => (<T>(data: T) => T)[]
|
||||
>schema : any
|
||||
>Array : T[]
|
||||
>T : T
|
||||
>data : T
|
||||
>T : T
|
||||
>T : T
|
||||
|
||||
return undefined;
|
||||
>undefined : undefined
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module schema {
|
||||
>schema : typeof schema
|
||||
|
||||
export class T {
|
||||
>T : T
|
||||
|
||||
get createValidator9(): <T>(data: T) => T {
|
||||
>createValidator9 : <T>(data: T) => T
|
||||
>T : T
|
||||
>data : T
|
||||
>T : T
|
||||
>T : T
|
||||
|
||||
return undefined;
|
||||
>undefined : undefined
|
||||
}
|
||||
|
||||
set createValidator10(v: <T>(data: T) => T) {
|
||||
>createValidator10 : <T>(data: T) => T
|
||||
>v : <T>(data: T) => T
|
||||
>T : T
|
||||
>data : T
|
||||
>T : T
|
||||
>T : T
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ Array.prototype.slice();
|
||||
>Array.prototype.slice() : any[]
|
||||
>Array.prototype.slice : (start?: number, end?: number) => any[]
|
||||
>Array.prototype : any[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
>prototype : any[]
|
||||
>slice : (start?: number, end?: number) => any[]
|
||||
|
||||
@@ -12,7 +12,7 @@ Array.prototype.slice(0);
|
||||
>Array.prototype.slice(0) : any[]
|
||||
>Array.prototype.slice : (start?: number, end?: number) => any[]
|
||||
>Array.prototype : any[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
>prototype : any[]
|
||||
>slice : (start?: number, end?: number) => any[]
|
||||
|
||||
@@ -20,7 +20,7 @@ Array.prototype.slice(0, 1);
|
||||
>Array.prototype.slice(0, 1) : any[]
|
||||
>Array.prototype.slice : (start?: number, end?: number) => any[]
|
||||
>Array.prototype : any[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
>prototype : any[]
|
||||
>slice : (start?: number, end?: number) => any[]
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
Date.prototype.constructor;
|
||||
>Date.prototype.constructor : Function
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>constructor : Function
|
||||
|
||||
@@ -12,7 +12,7 @@ Date.prototype.toString();
|
||||
>Date.prototype.toString() : string
|
||||
>Date.prototype.toString : () => string
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>toString : () => string
|
||||
|
||||
@@ -20,7 +20,7 @@ Date.prototype.toDateString();
|
||||
>Date.prototype.toDateString() : string
|
||||
>Date.prototype.toDateString : () => string
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>toDateString : () => string
|
||||
|
||||
@@ -28,7 +28,7 @@ Date.prototype.toTimeString();
|
||||
>Date.prototype.toTimeString() : string
|
||||
>Date.prototype.toTimeString : () => string
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>toTimeString : () => string
|
||||
|
||||
@@ -36,7 +36,7 @@ Date.prototype.toLocaleString();
|
||||
>Date.prototype.toLocaleString() : string
|
||||
>Date.prototype.toLocaleString : () => string
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>toLocaleString : () => string
|
||||
|
||||
@@ -44,7 +44,7 @@ Date.prototype.toLocaleDateString();
|
||||
>Date.prototype.toLocaleDateString() : string
|
||||
>Date.prototype.toLocaleDateString : () => string
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>toLocaleDateString : () => string
|
||||
|
||||
@@ -52,7 +52,7 @@ Date.prototype.toLocaleTimeString();
|
||||
>Date.prototype.toLocaleTimeString() : string
|
||||
>Date.prototype.toLocaleTimeString : () => string
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>toLocaleTimeString : () => string
|
||||
|
||||
@@ -60,7 +60,7 @@ Date.prototype.valueOf();
|
||||
>Date.prototype.valueOf() : number
|
||||
>Date.prototype.valueOf : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>valueOf : () => number
|
||||
|
||||
@@ -68,7 +68,7 @@ Date.prototype.getTime();
|
||||
>Date.prototype.getTime() : number
|
||||
>Date.prototype.getTime : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getTime : () => number
|
||||
|
||||
@@ -76,7 +76,7 @@ Date.prototype.getFullYear();
|
||||
>Date.prototype.getFullYear() : number
|
||||
>Date.prototype.getFullYear : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getFullYear : () => number
|
||||
|
||||
@@ -84,7 +84,7 @@ Date.prototype.getUTCFullYear();
|
||||
>Date.prototype.getUTCFullYear() : number
|
||||
>Date.prototype.getUTCFullYear : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getUTCFullYear : () => number
|
||||
|
||||
@@ -92,7 +92,7 @@ Date.prototype.getMonth();
|
||||
>Date.prototype.getMonth() : number
|
||||
>Date.prototype.getMonth : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getMonth : () => number
|
||||
|
||||
@@ -100,7 +100,7 @@ Date.prototype.getUTCMonth();
|
||||
>Date.prototype.getUTCMonth() : number
|
||||
>Date.prototype.getUTCMonth : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getUTCMonth : () => number
|
||||
|
||||
@@ -108,7 +108,7 @@ Date.prototype.getDate();
|
||||
>Date.prototype.getDate() : number
|
||||
>Date.prototype.getDate : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getDate : () => number
|
||||
|
||||
@@ -116,7 +116,7 @@ Date.prototype.getUTCDate();
|
||||
>Date.prototype.getUTCDate() : number
|
||||
>Date.prototype.getUTCDate : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getUTCDate : () => number
|
||||
|
||||
@@ -124,7 +124,7 @@ Date.prototype.getDay();
|
||||
>Date.prototype.getDay() : number
|
||||
>Date.prototype.getDay : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getDay : () => number
|
||||
|
||||
@@ -132,7 +132,7 @@ Date.prototype.getUTCDay();
|
||||
>Date.prototype.getUTCDay() : number
|
||||
>Date.prototype.getUTCDay : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getUTCDay : () => number
|
||||
|
||||
@@ -140,7 +140,7 @@ Date.prototype.getHours();
|
||||
>Date.prototype.getHours() : number
|
||||
>Date.prototype.getHours : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getHours : () => number
|
||||
|
||||
@@ -148,7 +148,7 @@ Date.prototype.getUTCHours();
|
||||
>Date.prototype.getUTCHours() : number
|
||||
>Date.prototype.getUTCHours : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getUTCHours : () => number
|
||||
|
||||
@@ -156,7 +156,7 @@ Date.prototype.getMinutes();
|
||||
>Date.prototype.getMinutes() : number
|
||||
>Date.prototype.getMinutes : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getMinutes : () => number
|
||||
|
||||
@@ -164,7 +164,7 @@ Date.prototype.getUTCMinutes();
|
||||
>Date.prototype.getUTCMinutes() : number
|
||||
>Date.prototype.getUTCMinutes : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getUTCMinutes : () => number
|
||||
|
||||
@@ -172,7 +172,7 @@ Date.prototype.getSeconds();
|
||||
>Date.prototype.getSeconds() : number
|
||||
>Date.prototype.getSeconds : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getSeconds : () => number
|
||||
|
||||
@@ -180,7 +180,7 @@ Date.prototype.getUTCSeconds();
|
||||
>Date.prototype.getUTCSeconds() : number
|
||||
>Date.prototype.getUTCSeconds : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getUTCSeconds : () => number
|
||||
|
||||
@@ -188,7 +188,7 @@ Date.prototype.getMilliseconds();
|
||||
>Date.prototype.getMilliseconds() : number
|
||||
>Date.prototype.getMilliseconds : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getMilliseconds : () => number
|
||||
|
||||
@@ -196,7 +196,7 @@ Date.prototype.getUTCMilliseconds();
|
||||
>Date.prototype.getUTCMilliseconds() : number
|
||||
>Date.prototype.getUTCMilliseconds : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getUTCMilliseconds : () => number
|
||||
|
||||
@@ -204,7 +204,7 @@ Date.prototype.getTimezoneOffset();
|
||||
>Date.prototype.getTimezoneOffset() : number
|
||||
>Date.prototype.getTimezoneOffset : () => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>getTimezoneOffset : () => number
|
||||
|
||||
@@ -212,7 +212,7 @@ Date.prototype.setTime(0);
|
||||
>Date.prototype.setTime(0) : number
|
||||
>Date.prototype.setTime : (time: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setTime : (time: number) => number
|
||||
|
||||
@@ -220,7 +220,7 @@ Date.prototype.setMilliseconds(0);
|
||||
>Date.prototype.setMilliseconds(0) : number
|
||||
>Date.prototype.setMilliseconds : (ms: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setMilliseconds : (ms: number) => number
|
||||
|
||||
@@ -228,7 +228,7 @@ Date.prototype.setUTCMilliseconds(0);
|
||||
>Date.prototype.setUTCMilliseconds(0) : number
|
||||
>Date.prototype.setUTCMilliseconds : (ms: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setUTCMilliseconds : (ms: number) => number
|
||||
|
||||
@@ -236,7 +236,7 @@ Date.prototype.setSeconds(0);
|
||||
>Date.prototype.setSeconds(0) : number
|
||||
>Date.prototype.setSeconds : (sec: number, ms?: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setSeconds : (sec: number, ms?: number) => number
|
||||
|
||||
@@ -244,7 +244,7 @@ Date.prototype.setUTCSeconds(0);
|
||||
>Date.prototype.setUTCSeconds(0) : number
|
||||
>Date.prototype.setUTCSeconds : (sec: number, ms?: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setUTCSeconds : (sec: number, ms?: number) => number
|
||||
|
||||
@@ -252,7 +252,7 @@ Date.prototype.setMinutes(0);
|
||||
>Date.prototype.setMinutes(0) : number
|
||||
>Date.prototype.setMinutes : (min: number, sec?: number, ms?: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setMinutes : (min: number, sec?: number, ms?: number) => number
|
||||
|
||||
@@ -260,7 +260,7 @@ Date.prototype.setUTCMinutes(0);
|
||||
>Date.prototype.setUTCMinutes(0) : number
|
||||
>Date.prototype.setUTCMinutes : (min: number, sec?: number, ms?: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setUTCMinutes : (min: number, sec?: number, ms?: number) => number
|
||||
|
||||
@@ -268,7 +268,7 @@ Date.prototype.setHours(0);
|
||||
>Date.prototype.setHours(0) : number
|
||||
>Date.prototype.setHours : (hours: number, min?: number, sec?: number, ms?: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setHours : (hours: number, min?: number, sec?: number, ms?: number) => number
|
||||
|
||||
@@ -276,7 +276,7 @@ Date.prototype.setUTCHours(0);
|
||||
>Date.prototype.setUTCHours(0) : number
|
||||
>Date.prototype.setUTCHours : (hours: number, min?: number, sec?: number, ms?: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setUTCHours : (hours: number, min?: number, sec?: number, ms?: number) => number
|
||||
|
||||
@@ -284,7 +284,7 @@ Date.prototype.setDate(0);
|
||||
>Date.prototype.setDate(0) : number
|
||||
>Date.prototype.setDate : (date: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setDate : (date: number) => number
|
||||
|
||||
@@ -292,7 +292,7 @@ Date.prototype.setUTCDate(0);
|
||||
>Date.prototype.setUTCDate(0) : number
|
||||
>Date.prototype.setUTCDate : (date: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setUTCDate : (date: number) => number
|
||||
|
||||
@@ -300,7 +300,7 @@ Date.prototype.setMonth(0);
|
||||
>Date.prototype.setMonth(0) : number
|
||||
>Date.prototype.setMonth : (month: number, date?: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setMonth : (month: number, date?: number) => number
|
||||
|
||||
@@ -308,7 +308,7 @@ Date.prototype.setUTCMonth(0);
|
||||
>Date.prototype.setUTCMonth(0) : number
|
||||
>Date.prototype.setUTCMonth : (month: number, date?: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setUTCMonth : (month: number, date?: number) => number
|
||||
|
||||
@@ -316,7 +316,7 @@ Date.prototype.setFullYear(0);
|
||||
>Date.prototype.setFullYear(0) : number
|
||||
>Date.prototype.setFullYear : (year: number, month?: number, date?: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setFullYear : (year: number, month?: number, date?: number) => number
|
||||
|
||||
@@ -324,7 +324,7 @@ Date.prototype.setUTCFullYear(0);
|
||||
>Date.prototype.setUTCFullYear(0) : number
|
||||
>Date.prototype.setUTCFullYear : (year: number, month?: number, date?: number) => number
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>setUTCFullYear : (year: number, month?: number, date?: number) => number
|
||||
|
||||
@@ -332,7 +332,7 @@ Date.prototype.toUTCString();
|
||||
>Date.prototype.toUTCString() : string
|
||||
>Date.prototype.toUTCString : () => string
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>toUTCString : () => string
|
||||
|
||||
@@ -340,7 +340,7 @@ Date.prototype.toISOString();
|
||||
>Date.prototype.toISOString() : string
|
||||
>Date.prototype.toISOString : () => string
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>toISOString : () => string
|
||||
|
||||
@@ -348,7 +348,7 @@ Date.prototype.toJSON(null);
|
||||
>Date.prototype.toJSON(null) : string
|
||||
>Date.prototype.toJSON : (key?: any) => string
|
||||
>Date.prototype : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
>prototype : Date
|
||||
>toJSON : (key?: any) => string
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
Object.prototype.constructor;
|
||||
>Object.prototype.constructor : Function
|
||||
>Object.prototype : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
>prototype : Object
|
||||
>constructor : Function
|
||||
|
||||
@@ -12,7 +12,7 @@ Object.prototype.toString();
|
||||
>Object.prototype.toString() : string
|
||||
>Object.prototype.toString : () => string
|
||||
>Object.prototype : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
>prototype : Object
|
||||
>toString : () => string
|
||||
|
||||
@@ -20,7 +20,7 @@ Object.prototype.toLocaleString();
|
||||
>Object.prototype.toLocaleString() : string
|
||||
>Object.prototype.toLocaleString : () => string
|
||||
>Object.prototype : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
>prototype : Object
|
||||
>toLocaleString : () => string
|
||||
|
||||
@@ -28,7 +28,7 @@ Object.prototype.valueOf();
|
||||
>Object.prototype.valueOf() : Object
|
||||
>Object.prototype.valueOf : () => Object
|
||||
>Object.prototype : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
>prototype : Object
|
||||
>valueOf : () => Object
|
||||
|
||||
@@ -36,7 +36,7 @@ Object.prototype.hasOwnProperty("string");
|
||||
>Object.prototype.hasOwnProperty("string") : boolean
|
||||
>Object.prototype.hasOwnProperty : (v: string) => boolean
|
||||
>Object.prototype : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
>prototype : Object
|
||||
>hasOwnProperty : (v: string) => boolean
|
||||
|
||||
@@ -44,16 +44,16 @@ Object.prototype.isPrototypeOf(Object);
|
||||
>Object.prototype.isPrototypeOf(Object) : boolean
|
||||
>Object.prototype.isPrototypeOf : (v: Object) => boolean
|
||||
>Object.prototype : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
>prototype : Object
|
||||
>isPrototypeOf : (v: Object) => boolean
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
Object.prototype.propertyIsEnumerable("string");
|
||||
>Object.prototype.propertyIsEnumerable("string") : boolean
|
||||
>Object.prototype.propertyIsEnumerable : (v: string) => boolean
|
||||
>Object.prototype : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
>prototype : Object
|
||||
>propertyIsEnumerable : (v: string) => boolean
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ String.prototype.slice();
|
||||
>String.prototype.slice() : string
|
||||
>String.prototype.slice : (start?: number, end?: number) => string
|
||||
>String.prototype : String
|
||||
>String : { (value?: any): string; new (value?: any): String; prototype: String; fromCharCode(...codes: number[]): string; }
|
||||
>String : StringConstructor
|
||||
>prototype : String
|
||||
>slice : (start?: number, end?: number) => string
|
||||
|
||||
@@ -12,7 +12,7 @@ String.prototype.slice(0);
|
||||
>String.prototype.slice(0) : string
|
||||
>String.prototype.slice : (start?: number, end?: number) => string
|
||||
>String.prototype : String
|
||||
>String : { (value?: any): string; new (value?: any): String; prototype: String; fromCharCode(...codes: number[]): string; }
|
||||
>String : StringConstructor
|
||||
>prototype : String
|
||||
>slice : (start?: number, end?: number) => string
|
||||
|
||||
@@ -20,7 +20,7 @@ String.prototype.slice(0,1);
|
||||
>String.prototype.slice(0,1) : string
|
||||
>String.prototype.slice : (start?: number, end?: number) => string
|
||||
>String.prototype : String
|
||||
>String : { (value?: any): string; new (value?: any): String; prototype: String; fromCharCode(...codes: number[]): string; }
|
||||
>String : StringConstructor
|
||||
>prototype : String
|
||||
>slice : (start?: number, end?: number) => string
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ module M {
|
||||
>this : Gar
|
||||
>fa : Foo[]
|
||||
>new Array<Foo>(this.x * this.y) : Foo[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
>Foo : Foo
|
||||
>this.x * this.y : number
|
||||
>this.x : number
|
||||
|
||||
@@ -51,13 +51,13 @@ var r4 = true ? new Date() : null;
|
||||
>r4 : Date
|
||||
>true ? new Date() : null : Date
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
var r4 = true ? null : new Date();
|
||||
>r4 : Date
|
||||
>true ? null : new Date() : Date
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
var r5 = true ? /1/ : null;
|
||||
>r5 : RegExp
|
||||
@@ -281,13 +281,13 @@ var r19 = true ? new Object() : null;
|
||||
>r19 : Object
|
||||
>true ? new Object() : null : Object
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
var r19 = true ? null : new Object();
|
||||
>r19 : Object
|
||||
>true ? null : new Object() : Object
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
var r20 = true ? {} : null;
|
||||
>r20 : {}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
Object.defineProperty(obj, "accProperty", <PropertyDescriptor>({
|
||||
>Object.defineProperty(obj, "accProperty", <PropertyDescriptor>({ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } })) : any
|
||||
>Object.defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
>defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any
|
||||
>obj : {}
|
||||
><PropertyDescriptor>({ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } }) : PropertyDescriptor
|
||||
|
||||
@@ -343,43 +343,43 @@ var r13 = i[-01]
|
||||
>-01 : number
|
||||
|
||||
var b = {
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
|
||||
>{ "0.1": <void>null, ".1": new Object(), "1": 1, "1.": "", "1..": true, "1.0": new Date(), "-1.0": /123/, "-1": Date} : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
|
||||
>{ "0.1": <void>null, ".1": new Object(), "1": 1, "1.": "", "1..": true, "1.0": new Date(), "-1.0": /123/, "-1": Date} : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
|
||||
|
||||
"0.1": <void>null,
|
||||
><void>null : void
|
||||
|
||||
".1": new Object(),
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
"1": 1,
|
||||
"1.": "",
|
||||
"1..": true,
|
||||
"1.0": new Date(),
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
"-1.0": /123/,
|
||||
"-1": Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
};
|
||||
|
||||
var r1 = b['0.1'];
|
||||
>r1 : void
|
||||
>b['0.1'] : void
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
|
||||
|
||||
var r2 = b['.1'];
|
||||
>r2 : Object
|
||||
>b['.1'] : Object
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
|
||||
|
||||
var r3 = b['1'];
|
||||
>r3 : number
|
||||
>b['1'] : number
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
|
||||
|
||||
var r3 = c[1];
|
||||
>r3 : number
|
||||
@@ -389,7 +389,7 @@ var r3 = c[1];
|
||||
var r4 = b['1.'];
|
||||
>r4 : string
|
||||
>b['1.'] : string
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
|
||||
|
||||
var r3 = c[1.]; // same as indexing by 1 when done numerically
|
||||
>r3 : number
|
||||
@@ -399,12 +399,12 @@ var r3 = c[1.]; // same as indexing by 1 when done numerically
|
||||
var r5 = b['1..'];
|
||||
>r5 : boolean
|
||||
>b['1..'] : boolean
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
|
||||
|
||||
var r6 = b['1.0'];
|
||||
>r6 : Date
|
||||
>b['1.0'] : Date
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
|
||||
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
|
||||
|
||||
var r3 = c[1.0]; // same as indexing by 1 when done numerically
|
||||
>r3 : number
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
//// [octalIntegerLiteral.ts]
|
||||
var oct1 = 0o45436;
|
||||
var oct2 = 0O45436;
|
||||
var oct3 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
|
||||
var oct4 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
|
||||
|
||||
var obj1 = {
|
||||
0o45436: "Hello",
|
||||
a: 0o45436,
|
||||
b: oct1,
|
||||
oct1,
|
||||
0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true
|
||||
}
|
||||
|
||||
var obj2 = {
|
||||
0O45436: "hi",
|
||||
a: 0O45436,
|
||||
b: oct2,
|
||||
oct2,
|
||||
0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,
|
||||
}
|
||||
|
||||
obj1[0o45436]; // string
|
||||
obj1["0o45436"]; // any
|
||||
obj1["19230"]; // string
|
||||
obj1[19230]; // string
|
||||
obj1["a"]; // number
|
||||
obj1["b"]; // number
|
||||
obj1["oct1"]; // number
|
||||
obj1["Infinity"]; // boolean
|
||||
|
||||
obj2[0O45436]; // string
|
||||
obj2["0O45436"]; // any
|
||||
obj2["19230"]; // string
|
||||
obj2[19230]; // string
|
||||
obj2["a"]; // number
|
||||
obj2["b"]; // number
|
||||
obj2["oct2"]; // number
|
||||
obj2[5.462437423415177e+244]; // boolean
|
||||
obj2["5.462437423415177e+244"]; // boolean
|
||||
obj2["Infinity"]; // any
|
||||
|
||||
//// [octalIntegerLiteral.js]
|
||||
var oct1 = 19230;
|
||||
var oct2 = 19230;
|
||||
var oct3 = Infinity;
|
||||
var oct4 = 5.462437423415177e+244;
|
||||
var obj1 = {
|
||||
19230: "Hello",
|
||||
a: 19230,
|
||||
b: oct1,
|
||||
oct1: oct1,
|
||||
Infinity: true
|
||||
};
|
||||
var obj2 = {
|
||||
19230: "hi",
|
||||
a: 19230,
|
||||
b: oct2,
|
||||
oct2: oct2,
|
||||
5.462437423415177e+244: false,
|
||||
};
|
||||
obj1[19230]; // string
|
||||
obj1["0o45436"]; // any
|
||||
obj1["19230"]; // string
|
||||
obj1[19230]; // string
|
||||
obj1["a"]; // number
|
||||
obj1["b"]; // number
|
||||
obj1["oct1"]; // number
|
||||
obj1["Infinity"]; // boolean
|
||||
obj2[19230]; // string
|
||||
obj2["0O45436"]; // any
|
||||
obj2["19230"]; // string
|
||||
obj2[19230]; // string
|
||||
obj2["a"]; // number
|
||||
obj2["b"]; // number
|
||||
obj2["oct2"]; // number
|
||||
obj2[5.462437423415177e+244]; // boolean
|
||||
obj2["5.462437423415177e+244"]; // boolean
|
||||
obj2["Infinity"]; // any
|
||||
@@ -0,0 +1,121 @@
|
||||
=== tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/octalIntegerLiteral.ts ===
|
||||
var oct1 = 0o45436;
|
||||
>oct1 : number
|
||||
|
||||
var oct2 = 0O45436;
|
||||
>oct2 : number
|
||||
|
||||
var oct3 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
|
||||
>oct3 : number
|
||||
|
||||
var oct4 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
|
||||
>oct4 : number
|
||||
|
||||
var obj1 = {
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
>{ 0o45436: "Hello", a: 0o45436, b: oct1, oct1, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true} : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
0o45436: "Hello",
|
||||
a: 0o45436,
|
||||
>a : number
|
||||
|
||||
b: oct1,
|
||||
>b : number
|
||||
>oct1 : number
|
||||
|
||||
oct1,
|
||||
>oct1 : number
|
||||
|
||||
0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true
|
||||
}
|
||||
|
||||
var obj2 = {
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
>{ 0O45436: "hi", a: 0O45436, b: oct2, oct2, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,} : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
0O45436: "hi",
|
||||
a: 0O45436,
|
||||
>a : number
|
||||
|
||||
b: oct2,
|
||||
>b : number
|
||||
>oct2 : number
|
||||
|
||||
oct2,
|
||||
>oct2 : number
|
||||
|
||||
0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,
|
||||
}
|
||||
|
||||
obj1[0o45436]; // string
|
||||
>obj1[0o45436] : string
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["0o45436"]; // any
|
||||
>obj1["0o45436"] : any
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["19230"]; // string
|
||||
>obj1["19230"] : string
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1[19230]; // string
|
||||
>obj1[19230] : string
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["a"]; // number
|
||||
>obj1["a"] : number
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["b"]; // number
|
||||
>obj1["b"] : number
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["oct1"]; // number
|
||||
>obj1["oct1"] : number
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["Infinity"]; // boolean
|
||||
>obj1["Infinity"] : boolean
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2[0O45436]; // string
|
||||
>obj2[0O45436] : string
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["0O45436"]; // any
|
||||
>obj2["0O45436"] : any
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["19230"]; // string
|
||||
>obj2["19230"] : string
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2[19230]; // string
|
||||
>obj2[19230] : string
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["a"]; // number
|
||||
>obj2["a"] : number
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["b"]; // number
|
||||
>obj2["b"] : number
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["oct2"]; // number
|
||||
>obj2["oct2"] : number
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2[5.462437423415177e+244]; // boolean
|
||||
>obj2[5.462437423415177e+244] : boolean
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["5.462437423415177e+244"]; // boolean
|
||||
>obj2["5.462437423415177e+244"] : boolean
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["Infinity"]; // any
|
||||
>obj2["Infinity"] : any
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
//// [octalIntegerLiteralES6.ts]
|
||||
var oct1 = 0o45436;
|
||||
var oct2 = 0O45436;
|
||||
var oct3 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
|
||||
var oct4 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
|
||||
|
||||
var obj1 = {
|
||||
0o45436: "Hello",
|
||||
a: 0o45436,
|
||||
b: oct1,
|
||||
oct1,
|
||||
0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true
|
||||
}
|
||||
|
||||
var obj2 = {
|
||||
0O45436: "hi",
|
||||
a: 0O45436,
|
||||
b: oct2,
|
||||
oct2,
|
||||
0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,
|
||||
}
|
||||
|
||||
obj1[0o45436]; // string
|
||||
obj1["0o45436"]; // any
|
||||
obj1["19230"]; // string
|
||||
obj1[19230]; // string
|
||||
obj1["a"]; // number
|
||||
obj1["b"]; // number
|
||||
obj1["oct1"]; // number
|
||||
obj1["Infinity"]; // boolean
|
||||
|
||||
obj2[0O45436]; // string
|
||||
obj2["0O45436"]; // any
|
||||
obj2["19230"]; // string
|
||||
obj2[19230]; // string
|
||||
obj2["a"]; // number
|
||||
obj2["b"]; // number
|
||||
obj2["oct2"]; // number
|
||||
obj2[5.462437423415177e+244]; // boolean
|
||||
obj2["5.462437423415177e+244"]; // boolean
|
||||
obj2["Infinity"]; // any
|
||||
|
||||
//// [octalIntegerLiteralES6.js]
|
||||
var oct1 = 0o45436;
|
||||
var oct2 = 0O45436;
|
||||
var oct3 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
|
||||
var oct4 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
|
||||
var obj1 = {
|
||||
0o45436: "Hello",
|
||||
a: 0o45436,
|
||||
b: oct1,
|
||||
oct1,
|
||||
0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true
|
||||
};
|
||||
var obj2 = {
|
||||
0O45436: "hi",
|
||||
a: 0O45436,
|
||||
b: oct2,
|
||||
oct2,
|
||||
0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,
|
||||
};
|
||||
obj1[0o45436]; // string
|
||||
obj1["0o45436"]; // any
|
||||
obj1["19230"]; // string
|
||||
obj1[19230]; // string
|
||||
obj1["a"]; // number
|
||||
obj1["b"]; // number
|
||||
obj1["oct1"]; // number
|
||||
obj1["Infinity"]; // boolean
|
||||
obj2[0O45436]; // string
|
||||
obj2["0O45436"]; // any
|
||||
obj2["19230"]; // string
|
||||
obj2[19230]; // string
|
||||
obj2["a"]; // number
|
||||
obj2["b"]; // number
|
||||
obj2["oct2"]; // number
|
||||
obj2[5.462437423415177e+244]; // boolean
|
||||
obj2["5.462437423415177e+244"]; // boolean
|
||||
obj2["Infinity"]; // any
|
||||
@@ -0,0 +1,121 @@
|
||||
=== tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/octalIntegerLiteralES6.ts ===
|
||||
var oct1 = 0o45436;
|
||||
>oct1 : number
|
||||
|
||||
var oct2 = 0O45436;
|
||||
>oct2 : number
|
||||
|
||||
var oct3 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
|
||||
>oct3 : number
|
||||
|
||||
var oct4 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
|
||||
>oct4 : number
|
||||
|
||||
var obj1 = {
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
>{ 0o45436: "Hello", a: 0o45436, b: oct1, oct1, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true} : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
0o45436: "Hello",
|
||||
a: 0o45436,
|
||||
>a : number
|
||||
|
||||
b: oct1,
|
||||
>b : number
|
||||
>oct1 : number
|
||||
|
||||
oct1,
|
||||
>oct1 : number
|
||||
|
||||
0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true
|
||||
}
|
||||
|
||||
var obj2 = {
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
>{ 0O45436: "hi", a: 0O45436, b: oct2, oct2, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,} : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
0O45436: "hi",
|
||||
a: 0O45436,
|
||||
>a : number
|
||||
|
||||
b: oct2,
|
||||
>b : number
|
||||
>oct2 : number
|
||||
|
||||
oct2,
|
||||
>oct2 : number
|
||||
|
||||
0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,
|
||||
}
|
||||
|
||||
obj1[0o45436]; // string
|
||||
>obj1[0o45436] : string
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["0o45436"]; // any
|
||||
>obj1["0o45436"] : any
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["19230"]; // string
|
||||
>obj1["19230"] : string
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1[19230]; // string
|
||||
>obj1[19230] : string
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["a"]; // number
|
||||
>obj1["a"] : number
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["b"]; // number
|
||||
>obj1["b"] : number
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["oct1"]; // number
|
||||
>obj1["oct1"] : number
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj1["Infinity"]; // boolean
|
||||
>obj1["Infinity"] : boolean
|
||||
>obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2[0O45436]; // string
|
||||
>obj2[0O45436] : string
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["0O45436"]; // any
|
||||
>obj2["0O45436"] : any
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["19230"]; // string
|
||||
>obj2["19230"] : string
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2[19230]; // string
|
||||
>obj2[19230] : string
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["a"]; // number
|
||||
>obj2["a"] : number
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["b"]; // number
|
||||
>obj2["b"] : number
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["oct2"]; // number
|
||||
>obj2["oct2"] : number
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2[5.462437423415177e+244]; // boolean
|
||||
>obj2[5.462437423415177e+244] : boolean
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["5.462437423415177e+244"]; // boolean
|
||||
>obj2["5.462437423415177e+244"] : boolean
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
obj2["Infinity"]; // any
|
||||
>obj2["Infinity"] : any
|
||||
>obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; }
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/octalIntegerLiteralError.ts(2,19): error TS1005: ',' expected.
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/octalIntegerLiteralError.ts(3,18): error TS1005: ',' expected.
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/octalIntegerLiteralError.ts(6,5): error TS2300: Duplicate identifier '0O45436'.
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/octalIntegerLiteralError.ts(7,5): error TS2300: Duplicate identifier '19230'.
|
||||
tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/octalIntegerLiteralError.ts(8,5): error TS2300: Duplicate identifier '"19230"'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/octalIntegerLiteralError.ts (5 errors) ====
|
||||
// error
|
||||
var oct1 = 0O13334823;
|
||||
~~~
|
||||
!!! error TS1005: ',' expected.
|
||||
var oct2 = 0o34318592;
|
||||
~~~~
|
||||
!!! error TS1005: ',' expected.
|
||||
|
||||
var obj1 = {
|
||||
0O45436: "hi",
|
||||
~~~~~~~
|
||||
!!! error TS2300: Duplicate identifier '0O45436'.
|
||||
19230: "Hello",
|
||||
~~~~~
|
||||
!!! error TS2300: Duplicate identifier '19230'.
|
||||
"19230": "world",
|
||||
~~~~~~~
|
||||
!!! error TS2300: Duplicate identifier '"19230"'.
|
||||
};
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
tests/cases/compiler/parseErrorInHeritageClause1.ts(1,19): error TS1127: Invalid character.
|
||||
tests/cases/compiler/parseErrorInHeritageClause1.ts(1,17): error TS2304: Cannot find name 'A'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/parseErrorInHeritageClause1.ts (2 errors) ====
|
||||
class C extends A # {
|
||||
|
||||
!!! error TS1127: Invalid character.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'A'.
|
||||
}
|
||||
@@ -130,5 +130,5 @@ var r4 = b.foo(new Date());
|
||||
>b : { foo: <T extends Date>(x: T) => number; }
|
||||
>foo : <T extends Date>(x: T) => number
|
||||
>new Date() : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
tests/cases/compiler/redefineArray.ts(1,1): error TS2322: Type '(n: number, s: string) => number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
|
||||
tests/cases/compiler/redefineArray.ts(1,1): error TS2322: Type '(n: number, s: string) => number' is not assignable to type 'ArrayConstructor'.
|
||||
Property 'isArray' is missing in type '(n: number, s: string) => number'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/redefineArray.ts (1 errors) ====
|
||||
Array = function (n:number, s:string) {return n;};
|
||||
~~~~~
|
||||
!!! error TS2322: Type '(n: number, s: string) => number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
|
||||
!!! error TS2322: Type '(n: number, s: string) => number' is not assignable to type 'ArrayConstructor'.
|
||||
!!! error TS2322: Property 'isArray' is missing in type '(n: number, s: string) => number'.
|
||||
@@ -20,7 +20,7 @@ function fn6(): Date { return new Date(12); }
|
||||
>fn6 : () => Date
|
||||
>Date : Date
|
||||
>new Date(12) : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
function fn7(): any { return null; }
|
||||
>fn7 : () => any
|
||||
|
||||
@@ -16,7 +16,7 @@ module M1 {
|
||||
>Array.prototype.reduce.apply : (thisArg: any, argArray?: any) => any
|
||||
>Array.prototype.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; <U>(callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }
|
||||
>Array.prototype : any[]
|
||||
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
|
||||
>Array : ArrayConstructor
|
||||
>prototype : any[]
|
||||
>reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; <U>(callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }
|
||||
>apply : (thisArg: any, argArray?: any) => any
|
||||
|
||||
@@ -35,7 +35,7 @@ try
|
||||
|
||||
throw new Error();
|
||||
>new Error() : Error
|
||||
>Error : { (message?: string): Error; new (message?: string): Error; prototype: Error; }
|
||||
>Error : ErrorConstructor
|
||||
}
|
||||
catch (e)
|
||||
>e : any
|
||||
|
||||
@@ -24,7 +24,7 @@ var r = f({ s: new Object() }); // ok
|
||||
>{ s: new Object() } : { s: Object; }
|
||||
>s : Object
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
r.s && r.s.toFixed(); // would blow up at runtime
|
||||
>r.s && r.s.toFixed() : string
|
||||
|
||||
@@ -25,11 +25,11 @@ switch (x) {
|
||||
|
||||
case new Date(12):
|
||||
>new Date(12) : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
case new Object():
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
case /[a-z]/:
|
||||
case[]:
|
||||
@@ -111,11 +111,11 @@ switch (undefined) { }
|
||||
|
||||
switch (new Date(12)) { }
|
||||
>new Date(12) : Date
|
||||
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
|
||||
>Date : DateConstructor
|
||||
|
||||
switch (new Object()) { }
|
||||
>new Object() : Object
|
||||
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
|
||||
>Object : ObjectConstructor
|
||||
|
||||
switch (/[a-z]/) { }
|
||||
switch ([]) { }
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
//// [templateStringTermination1.ts]
|
||||
|
||||
``
|
||||
|
||||
//// [templateStringTermination1.js]
|
||||
"";
|
||||
@@ -0,0 +1,4 @@
|
||||
=== tests/cases/conformance/es6/templates/templateStringTermination1.ts ===
|
||||
|
||||
No type information for this code.``
|
||||
No type information for this code.
|
||||
@@ -0,0 +1,5 @@
|
||||
//// [templateStringTermination1_ES6.ts]
|
||||
``
|
||||
|
||||
//// [templateStringTermination1_ES6.js]
|
||||
``;
|
||||
@@ -0,0 +1,3 @@
|
||||
=== tests/cases/conformance/es6/templates/templateStringTermination1_ES6.ts ===
|
||||
``
|
||||
No type information for this code.
|
||||
@@ -0,0 +1,6 @@
|
||||
//// [templateStringTermination2.ts]
|
||||
|
||||
`\\`
|
||||
|
||||
//// [templateStringTermination2.js]
|
||||
"\";
|
||||
@@ -0,0 +1,4 @@
|
||||
=== tests/cases/conformance/es6/templates/templateStringTermination2.ts ===
|
||||
|
||||
No type information for this code.`\\`
|
||||
No type information for this code.
|
||||
@@ -0,0 +1,5 @@
|
||||
//// [templateStringTermination2_ES6.ts]
|
||||
`\\`
|
||||
|
||||
//// [templateStringTermination2_ES6.js]
|
||||
`\\`;
|
||||
@@ -0,0 +1,3 @@
|
||||
=== tests/cases/conformance/es6/templates/templateStringTermination2_ES6.ts ===
|
||||
`\\`
|
||||
No type information for this code.
|
||||
@@ -0,0 +1,6 @@
|
||||
//// [templateStringTermination3.ts]
|
||||
|
||||
`\``
|
||||
|
||||
//// [templateStringTermination3.js]
|
||||
"`";
|
||||
@@ -0,0 +1,4 @@
|
||||
=== tests/cases/conformance/es6/templates/templateStringTermination3.ts ===
|
||||
|
||||
No type information for this code.`\``
|
||||
No type information for this code.
|
||||
@@ -0,0 +1,5 @@
|
||||
//// [templateStringTermination3_ES6.ts]
|
||||
`\``
|
||||
|
||||
//// [templateStringTermination3_ES6.js]
|
||||
`\``;
|
||||
@@ -0,0 +1,3 @@
|
||||
=== tests/cases/conformance/es6/templates/templateStringTermination3_ES6.ts ===
|
||||
`\``
|
||||
No type information for this code.
|
||||
@@ -0,0 +1,6 @@
|
||||
//// [templateStringTermination4.ts]
|
||||
|
||||
`\\\\`
|
||||
|
||||
//// [templateStringTermination4.js]
|
||||
"\\";
|
||||
@@ -0,0 +1,4 @@
|
||||
=== tests/cases/conformance/es6/templates/templateStringTermination4.ts ===
|
||||
|
||||
No type information for this code.`\\\\`
|
||||
No type information for this code.
|
||||
@@ -0,0 +1,5 @@
|
||||
//// [templateStringTermination4_ES6.ts]
|
||||
`\\\\`
|
||||
|
||||
//// [templateStringTermination4_ES6.js]
|
||||
`\\\\`;
|
||||
@@ -0,0 +1,3 @@
|
||||
=== tests/cases/conformance/es6/templates/templateStringTermination4_ES6.ts ===
|
||||
`\\\\`
|
||||
No type information for this code.
|
||||
@@ -0,0 +1,6 @@
|
||||
//// [templateStringTermination5.ts]
|
||||
|
||||
`\\\\\\`
|
||||
|
||||
//// [templateStringTermination5.js]
|
||||
"\\\";
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user