package org.simantics.scl.compiler.completions; public class Completion { public final int startOfReplacedText; public final int lengthOfReplacedText; public final String replacement; public final int cursorPositionAfterReplacement; public final CompletionType completionType; public final String module; public final String name; public final String type; // may be null public final String documentation; // may be null public Completion(int startOfReplacedText, int lengthOfReplacedText, String replacement, int cursorPositionAfterReplacement, CompletionType completionType, String definingModule, String name, String type, String documentation) { this.startOfReplacedText = startOfReplacedText; this.lengthOfReplacedText = lengthOfReplacedText; this.replacement = replacement; this.cursorPositionAfterReplacement = cursorPositionAfterReplacement; this.completionType = completionType; this.module = definingModule; this.name = name; this.type = type; this.documentation = "".equals(documentation) ? null : documentation; } public String getLabel() { return name + (type != null ? " :: " + type : "") + (module != null ? " (" + module + ")" : "") ; } }