Skip to content

Commit ad9fb0e

Browse files
committed
language-server: implement inlay hints for constructors (closes #709)
The called expression may return a class definition. Use the constructor for that class.
1 parent 2d0ab24 commit ad9fb0e

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

language-server/src/main/java/com/as3mxml/vscode/providers/InlayHintProvider.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.List;
2222

2323
import org.apache.royale.compiler.common.ISourceLocation;
24+
import org.apache.royale.compiler.definitions.IClassDefinition;
2425
import org.apache.royale.compiler.definitions.IDefinition;
2526
import org.apache.royale.compiler.definitions.IFunctionDefinition;
2627
import org.apache.royale.compiler.definitions.IParameterDefinition;
@@ -187,6 +188,10 @@ private boolean findInlayHints(IASNode node, Range range, ActionScriptProjectDat
187188
if (node instanceof IFunctionCallNode) {
188189
IFunctionCallNode functionCallNode = (IFunctionCallNode) node;
189190
IDefinition calledDefinition = functionCallNode.resolveCalledExpression(projectData.project);
191+
if (calledDefinition instanceof IClassDefinition) {
192+
IClassDefinition classDefinition = (IClassDefinition) calledDefinition;
193+
calledDefinition = classDefinition.getConstructor();
194+
}
190195
if (calledDefinition instanceof IFunctionDefinition) {
191196
IFunctionDefinition functionDefinition = (IFunctionDefinition) calledDefinition;
192197
IParameterDefinition[] paramDefs = functionDefinition.getParameters();

0 commit comments

Comments
 (0)