@@ -71,6 +71,7 @@ module ts {
71
71
var checker : TypeChecker = {
72
72
getProgram : ( ) => program ,
73
73
getDiagnostics : getDiagnostics ,
74
+ getDeclarationDiagnostics : getDeclarationDiagnostics ,
74
75
getGlobalDiagnostics : getGlobalDiagnostics ,
75
76
getNodeCount : ( ) => sum ( program . getSourceFiles ( ) , "nodeCount" ) ,
76
77
getIdentifierCount : ( ) => sum ( program . getSourceFiles ( ) , "identifierCount" ) ,
@@ -930,7 +931,7 @@ module ts {
930
931
}
931
932
}
932
933
933
- function isImportDeclarationEntityNameReferenceDeclarationVisibile ( entityName : EntityName ) : SymbolAccessiblityResult {
934
+ function isImportDeclarationEntityNameReferenceDeclarationVisible ( entityName : EntityName ) : SymbolAccessiblityResult {
934
935
var firstIdentifier = getFirstIdentifier ( entityName ) ;
935
936
var firstIdentifierName = identifierToString ( < Identifier > firstIdentifier ) ;
936
937
var symbolOfNameSpace = resolveName ( entityName . parent , ( < Identifier > firstIdentifier ) . text , SymbolFlags . Namespace , Diagnostics . Cannot_find_name_0 , firstIdentifierName ) ;
@@ -7048,6 +7049,12 @@ module ts {
7048
7049
return getSortedDiagnostics ( ) ;
7049
7050
}
7050
7051
7052
+ function getDeclarationDiagnostics ( targetSourceFile : SourceFile ) : Diagnostic [ ] {
7053
+ var resolver = createResolver ( ) ;
7054
+ checkSourceFile ( targetSourceFile ) ;
7055
+ return ts . getDeclarationDiagnostics ( program , resolver , targetSourceFile ) ;
7056
+ }
7057
+
7051
7058
function getGlobalDiagnostics ( ) : Diagnostic [ ] {
7052
7059
return filter ( getSortedDiagnostics ( ) , d => ! d . file ) ;
7053
7060
}
@@ -7689,8 +7696,8 @@ module ts {
7689
7696
writeType ( getReturnTypeOfSignature ( signature ) , writer , enclosingDeclaration , flags ) ;
7690
7697
}
7691
7698
7692
- function invokeEmitter ( targetSourceFile ?: SourceFile ) {
7693
- var resolver : EmitResolver = {
7699
+ function createResolver ( ) : EmitResolver {
7700
+ return {
7694
7701
getProgram : ( ) => program ,
7695
7702
getLocalNameOfContainer : getLocalNameOfContainer ,
7696
7703
getExpressionNamePrefix : getExpressionNamePrefix ,
@@ -7705,9 +7712,13 @@ module ts {
7705
7712
writeTypeAtLocation : writeTypeAtLocation ,
7706
7713
writeReturnTypeOfSignatureDeclaration : writeReturnTypeOfSignatureDeclaration ,
7707
7714
isSymbolAccessible : isSymbolAccessible ,
7708
- isImportDeclarationEntityNameReferenceDeclarationVisibile : isImportDeclarationEntityNameReferenceDeclarationVisibile ,
7715
+ isImportDeclarationEntityNameReferenceDeclarationVisible : isImportDeclarationEntityNameReferenceDeclarationVisible ,
7709
7716
getConstantValue : getConstantValue ,
7710
- } ;
7717
+ }
7718
+ }
7719
+
7720
+ function invokeEmitter ( targetSourceFile ?: SourceFile ) {
7721
+ var resolver = createResolver ( ) ;
7711
7722
checkProgram ( ) ;
7712
7723
return emitFiles ( resolver , targetSourceFile ) ;
7713
7724
}
0 commit comments