Skip to content

Commit 2d78df4

Browse files
committed
Merge branch 'master' of https://github.com/Microsoft/TypeScript
2 parents 7e6a27f + acef223 commit 2d78df4

8 files changed

Lines changed: 78 additions & 20 deletions

src/compiler/checker.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14224,7 +14224,21 @@ namespace ts {
1422414224
}
1422514225

1422614226
if (isHeritageClauseElementIdentifier(<EntityName>entityName)) {
14227-
let meaning = entityName.parent.kind === SyntaxKind.ExpressionWithTypeArguments ? SymbolFlags.Type : SymbolFlags.Namespace;
14227+
let meaning = SymbolFlags.None;
14228+
14229+
// In an interface or class, we're definitely interested in a type.
14230+
if (entityName.parent.kind === SyntaxKind.ExpressionWithTypeArguments) {
14231+
meaning = SymbolFlags.Type;
14232+
14233+
// In a class 'extends' clause we are also looking for a value.
14234+
if (isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent)) {
14235+
meaning |= SymbolFlags.Value;
14236+
}
14237+
}
14238+
else {
14239+
meaning = SymbolFlags.Namespace;
14240+
}
14241+
1422814242
meaning |= SymbolFlags.Alias;
1422914243
return resolveEntityName(<EntityName>entityName, meaning);
1423014244
}

src/lib/dom.generated.d.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -202,8 +202,8 @@ interface AnalyserNode extends AudioNode {
202202
smoothingTimeConstant: number;
203203
getByteFrequencyData(array: Uint8Array): void;
204204
getByteTimeDomainData(array: Uint8Array): void;
205-
getFloatFrequencyData(array: any): void;
206-
getFloatTimeDomainData(array: any): void;
205+
getFloatFrequencyData(array: Float32Array): void;
206+
getFloatTimeDomainData(array: Float32Array): void;
207207
}
208208

209209
declare var AnalyserNode: {
@@ -290,7 +290,7 @@ interface AudioBuffer {
290290
length: number;
291291
numberOfChannels: number;
292292
sampleRate: number;
293-
getChannelData(channel: number): any;
293+
getChannelData(channel: number): Float32Array;
294294
}
295295

296296
declare var AudioBuffer: {
@@ -334,7 +334,7 @@ interface AudioContext extends EventTarget {
334334
createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode;
335335
createOscillator(): OscillatorNode;
336336
createPanner(): PannerNode;
337-
createPeriodicWave(real: any, imag: any): PeriodicWave;
337+
createPeriodicWave(real: Float32Array, imag: Float32Array): PeriodicWave;
338338
createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode;
339339
createStereoPanner(): StereoPannerNode;
340340
createWaveShaper(): WaveShaperNode;
@@ -392,7 +392,7 @@ interface AudioParam {
392392
linearRampToValueAtTime(value: number, endTime: number): void;
393393
setTargetAtTime(target: number, startTime: number, timeConstant: number): void;
394394
setValueAtTime(value: number, startTime: number): void;
395-
setValueCurveAtTime(values: any, startTime: number, duration: number): void;
395+
setValueCurveAtTime(values: Float32Array, startTime: number, duration: number): void;
396396
}
397397

398398
declare var AudioParam: {
@@ -468,7 +468,7 @@ interface BiquadFilterNode extends AudioNode {
468468
frequency: AudioParam;
469469
gain: AudioParam;
470470
type: string;
471-
getFrequencyResponse(frequencyHz: any, magResponse: any, phaseResponse: any): void;
471+
getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void;
472472
}
473473

474474
declare var BiquadFilterNode: {
@@ -10893,7 +10893,7 @@ declare var WEBGL_depth_texture: {
1089310893
}
1089410894

1089510895
interface WaveShaperNode extends AudioNode {
10896-
curve: any;
10896+
curve: Float32Array;
1089710897
oversample: string;
1089810898
}
1089910899

@@ -11080,34 +11080,34 @@ interface WebGLRenderingContext {
1108011080
texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, video: HTMLVideoElement): void;
1108111081
texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, pixels: ImageData): void;
1108211082
uniform1f(location: WebGLUniformLocation, x: number): void;
11083-
uniform1fv(location: WebGLUniformLocation, v: any): void;
11083+
uniform1fv(location: WebGLUniformLocation, v: Float32Array): void;
1108411084
uniform1i(location: WebGLUniformLocation, x: number): void;
1108511085
uniform1iv(location: WebGLUniformLocation, v: Int32Array): void;
1108611086
uniform2f(location: WebGLUniformLocation, x: number, y: number): void;
11087-
uniform2fv(location: WebGLUniformLocation, v: any): void;
11087+
uniform2fv(location: WebGLUniformLocation, v: Float32Array): void;
1108811088
uniform2i(location: WebGLUniformLocation, x: number, y: number): void;
1108911089
uniform2iv(location: WebGLUniformLocation, v: Int32Array): void;
1109011090
uniform3f(location: WebGLUniformLocation, x: number, y: number, z: number): void;
11091-
uniform3fv(location: WebGLUniformLocation, v: any): void;
11091+
uniform3fv(location: WebGLUniformLocation, v: Float32Array): void;
1109211092
uniform3i(location: WebGLUniformLocation, x: number, y: number, z: number): void;
1109311093
uniform3iv(location: WebGLUniformLocation, v: Int32Array): void;
1109411094
uniform4f(location: WebGLUniformLocation, x: number, y: number, z: number, w: number): void;
11095-
uniform4fv(location: WebGLUniformLocation, v: any): void;
11095+
uniform4fv(location: WebGLUniformLocation, v: Float32Array): void;
1109611096
uniform4i(location: WebGLUniformLocation, x: number, y: number, z: number, w: number): void;
1109711097
uniform4iv(location: WebGLUniformLocation, v: Int32Array): void;
11098-
uniformMatrix2fv(location: WebGLUniformLocation, transpose: boolean, value: any): void;
11099-
uniformMatrix3fv(location: WebGLUniformLocation, transpose: boolean, value: any): void;
11100-
uniformMatrix4fv(location: WebGLUniformLocation, transpose: boolean, value: any): void;
11098+
uniformMatrix2fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void;
11099+
uniformMatrix3fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void;
11100+
uniformMatrix4fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void;
1110111101
useProgram(program: WebGLProgram): void;
1110211102
validateProgram(program: WebGLProgram): void;
1110311103
vertexAttrib1f(indx: number, x: number): void;
11104-
vertexAttrib1fv(indx: number, values: any): void;
11104+
vertexAttrib1fv(indx: number, values: Float32Array): void;
1110511105
vertexAttrib2f(indx: number, x: number, y: number): void;
11106-
vertexAttrib2fv(indx: number, values: any): void;
11106+
vertexAttrib2fv(indx: number, values: Float32Array): void;
1110711107
vertexAttrib3f(indx: number, x: number, y: number, z: number): void;
11108-
vertexAttrib3fv(indx: number, values: any): void;
11108+
vertexAttrib3fv(indx: number, values: Float32Array): void;
1110911109
vertexAttrib4f(indx: number, x: number, y: number, z: number, w: number): void;
11110-
vertexAttrib4fv(indx: number, values: any): void;
11110+
vertexAttrib4fv(indx: number, values: Float32Array): void;
1111111111
vertexAttribPointer(indx: number, size: number, type: number, normalized: boolean, stride: number, offset: number): void;
1111211112
viewport(x: number, y: number, width: number, height: number): void;
1111311113
ACTIVE_ATTRIBUTES: number;

src/lib/webworker.generated.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ interface AudioBuffer {
1717
length: number;
1818
numberOfChannels: number;
1919
sampleRate: number;
20-
getChannelData(channel: number): any;
20+
getChannelData(channel: number): Float32Array;
2121
}
2222

2323
declare var AudioBuffer: {

tests/baselines/reference/extendClassExpressionFromModule.symbols

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ var x = foo1;
88

99
class y extends x {}
1010
>y : Symbol(y, Decl(foo2.ts, 1, 13))
11+
>x : Symbol(x, Decl(foo2.ts, 1, 3))
1112

1213
=== tests/cases/conformance/classes/classExpressions/foo1.ts ===
1314
class x{}

tests/baselines/reference/extendNonClassSymbol1.symbols

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ var x = A;
99

1010
class C extends x { } // error, could not find symbol xs
1111
>C : Symbol(C, Decl(extendNonClassSymbol1.ts, 1, 10))
12+
>x : Symbol(x, Decl(extendNonClassSymbol1.ts, 1, 3))
1213

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/// <reference path="fourslash.ts"/>
2+
3+
4+
////var [|Base|] = class { };
5+
////class C extends [|Base|] { }
6+
7+
let ranges = test.ranges();
8+
for (let range of ranges) {
9+
goTo.position(range.start);
10+
11+
verify.referencesCountIs(ranges.length);
12+
for (let expectedReference of ranges) {
13+
verify.referencesAtPositionContains(expectedReference);
14+
}
15+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/// <reference path="fourslash.ts"/>
2+
3+
////interface [|Base|] { }
4+
////namespace n {
5+
//// var Base = class { };
6+
//// interface I extends [|Base|] { }
7+
////}
8+
9+
let ranges = test.ranges();
10+
for (let range of ranges) {
11+
goTo.position(range.start);
12+
13+
verify.referencesCountIs(ranges.length);
14+
for (let expectedReference of ranges) {
15+
verify.referencesAtPositionContains(expectedReference);
16+
}
17+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/// <reference path="fourslash.ts"/>
2+
3+
4+
////var Base = class { };
5+
////class C extends Base implements [|Base|] { }
6+
7+
let ranges = test.ranges();
8+
for (let range of ranges) {
9+
verify.referencesCountIs(0);
10+
}

0 commit comments

Comments
 (0)