diff --git a/README.md b/README.md
index 0571b5b..62164d0 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,7 @@ Download the latest netbeanstypescript.nbm file from the [Releases](https://gith
### Versioning
-The version number of this plugin reflects the version of TypeScript it incorporates (currently 2.3.3), with an extra digit for new versions that do not involve a TypeScript update. We intend to keep this plugin up to date with new versions of TypeScript when they come out.
+The version number of this plugin reflects the version of TypeScript it incorporates (currently 2.4.1), with an extra digit for new versions that do not involve a TypeScript update. We intend to keep this plugin up to date with new versions of TypeScript when they come out.
### Contributing
diff --git a/build.xml b/build.xml
index ecaca3f..f92a498 100644
--- a/build.xml
+++ b/build.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/manifest.mf b/manifest.mf
index 9fbc796..10be743 100644
--- a/manifest.mf
+++ b/manifest.mf
@@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: true
OpenIDE-Module: netbeanstypescript
OpenIDE-Module-Layer: netbeanstypescript/resources/layer.xml
OpenIDE-Module-Localizing-Bundle: netbeanstypescript/Bundle.properties
-OpenIDE-Module-Specification-Version: 2.3.3.0
+OpenIDE-Module-Specification-Version: 2.4.1.0
diff --git a/server/main.ts b/server/main.ts
index 8a1054c..195a53a 100644
--- a/server/main.ts
+++ b/server/main.ts
@@ -341,7 +341,7 @@ class Program {
node.text && highlight(node.end - node.text.length, node.end, attr);
}
- var localDecls: ts.Declaration[] = [];
+ var localDecls: ts.NamedDeclaration[] = [];
var usedSymbols = new Set();
function isGlobal(decl: ts.Node) {
@@ -471,7 +471,7 @@ class Program {
function buildResults(topNode: ts.Node, inFunction: boolean, baseTypes?: [ts.Type, boolean][]) {
var results: any[] = [];
- function add(node: ts.Declaration, kind: string, symbol?: ts.Symbol) {
+ function add(node: ts.NamedDeclaration, kind: string, symbol?: ts.Symbol) {
var name = node.kind === SK.Constructor ? "constructor" : (node.name).text;
if (! name) { // anonymous function
return;
diff --git a/server/ts-patches b/server/ts-patches
index 8ef0893..bd05058 100644
--- a/server/ts-patches
+++ b/server/ts-patches
@@ -1,6 +1,6 @@
--- compiler/checker.ts
+++ compiler/checker.ts
-@@ -2973,6 +2973,13 @@
+@@ -3128,6 +3128,13 @@
appendSymbolNameOnly(symbol, writer);
}
parentSymbol = symbol;
@@ -16,7 +16,7 @@
// Let the writer know we just wrote out a symbol. The declaration emitter writer uses
--- services/completions.ts
+++ services/completions.ts
-@@ -118,6 +118,7 @@
+@@ -124,6 +124,7 @@
kind: SymbolDisplay.getSymbolKind(typeChecker, symbol, location),
kindModifiers: SymbolDisplay.getSymbolModifiers(symbol),
sortText: "0",
@@ -26,7 +26,7 @@
--- services/goToDefinition.ts
+++ services/goToDefinition.ts
-@@ -82,7 +82,9 @@
+@@ -73,7 +73,9 @@
const shorthandSymbolName = typeChecker.symbolToString(shorthandSymbol);
const shorthandContainerName = typeChecker.symbolToString(symbol.parent, node);
return map(shorthandDeclarations,
@@ -36,8 +36,8 @@
+ declaration => createDefinitionInfo(declaration, getNodeKind(declaration), shorthandSymbolName, shorthandContainerName));
}
- if (isJsxOpeningLikeElement(node.parent)) {
-@@ -162,7 +164,9 @@
+ // If the current location we want to find its definition is in an object literal, try to get the contextual type for the
+@@ -159,7 +161,9 @@
!tryAddCallSignature(symbol, node, symbolKind, symbolName, containerName, result)) {
// Just add all the declarations.
forEach(declarations, declaration => {
@@ -50,7 +50,7 @@
--- services/types.ts
+++ services/types.ts
-@@ -593,6 +593,7 @@
+@@ -654,6 +654,7 @@
kind: string; // see ScriptElementKind
kindModifiers: string; // see ScriptElementKindModifier, comma separated
sortText: string;