已合并
fix(lsp): adapt ty api #1239
fix(lsp): adapt ty api #1239
已合并
songjian创建于 8月24日
共 73 个文件变更+410-237
@@ -313,7 +313,7 @@ public:
313 };313 };
314 // LCOV_EXCL_STOP314 // LCOV_EXCL_STOP
315 std::set<Ptr<Cangjie::AST::ExtendDecl> >315 std::set<Ptr<Cangjie::AST::ExtendDecl> >
316- GetExtendDecls(const std::variant<Ptr<Cangjie::AST::Ty>, Ptr<Cangjie::AST::InheritableDecl> > &type,316+ GetExtendDecls(const std::variant<Cangjie::AST::ModalTy, Ptr<Cangjie::AST::InheritableDecl> > &type,
317 const std::string& packageName)317 const std::string& packageName)
318 {318 {
319 if (!pLRUCache) { return {}; }319 if (!pLRUCache) { return {}; }
@@ -327,7 +327,7 @@ public:
327 };327 };
328 328 
329 std::vector<Ptr<Cangjie::AST::Decl> >329 std::vector<Ptr<Cangjie::AST::Decl> >
330- GetAllVisibleExtendMembers(const std::variant<Ptr<Cangjie::AST::Ty>, Ptr<Cangjie::AST::InheritableDecl> > &type,330+ GetAllVisibleExtendMembers(const std::variant<Cangjie::AST::ModalTy, Ptr<Cangjie::AST::InheritableDecl> > &type,
331 const std::string& packageName, const AST::File& curFile)331 const std::string& packageName, const AST::File& curFile)
332 {332 {
333 if (!pLRUCache) { return {}; }333 if (!pLRUCache) { return {}; }
@@ -1627,7 +1627,7 @@ ark::lsp::SymbolID CompletionEnv::GetDeclSymbolID(const Decl& decl)
1627 return ret;1627 return ret;
1628}1628}
1629 1629 
1630-ark::lsp::SymbolID CompletionEnv::GetPrimaryTypeSymbolId(const Ptr<Ty> ty)1630+ark::lsp::SymbolID CompletionEnv::GetPrimaryTypeSymbolId(const DataTy ty)
1631{1631{
1632 if (!ty || !ty->IsPrimitive()) {1632 if (!ty || !ty->IsPrimitive()) {
1633 return ark::lsp::INVALID_SYMBOL_ID;1633 return ark::lsp::INVALID_SYMBOL_ID;
@@ -52,7 +52,7 @@ public:
52 52 
53 static ark::lsp::SymbolID GetDeclSymbolID(const Decl& decl);53 static ark::lsp::SymbolID GetDeclSymbolID(const Decl& decl);
54 54 
55- static ark::lsp::SymbolID GetPrimaryTypeSymbolId(const Ptr<Ty> ty);55+ static ark::lsp::SymbolID GetPrimaryTypeSymbolId(const DataTy ty);
56 56 
57 // make sure use this in safe57 // make sure use this in safe
58 static Range GetEditRangeForAutoImport(const ArkAST &file);58 static Range GetEditRangeForAutoImport(const ArkAST &file);
@@ -336,7 +336,7 @@ void DotCompleterByParse::CompleteByReferenceTarget(const Position &pos, const s
336}336}
337 337 
338void DotCompleterByParse::GetTyFromMacroCallNodes(Ptr<Expr> expr, std::unique_ptr<ArkAST> arkAst,338void DotCompleterByParse::GetTyFromMacroCallNodes(Ptr<Expr> expr, std::unique_ptr<ArkAST> arkAst,
339- Ptr<Ty> &ty, Ptr<NameReferenceExpr> &resExpr)339+ DataTy &ty, Ptr<NameReferenceExpr> &resExpr)
340{340{
341 Ptr<NameReferenceExpr> semaCacheExpr;341 Ptr<NameReferenceExpr> semaCacheExpr;
342 auto macroCallNodes = &arkAst->file->originalMacroCallNodes;342 auto macroCallNodes = &arkAst->file->originalMacroCallNodes;
@@ -369,7 +369,7 @@ void DotCompleterByParse::GetTyFromMacroCallNodes(Ptr<Expr> expr, std::unique_pt
369 auto searchTy = [&ty, &macroBeginPos, &maNextTokenPos, &resExpr](auto node) {369 auto searchTy = [&ty, &macroBeginPos, &maNextTokenPos, &resExpr](auto node) {
370 if (auto ma = dynamic_cast<NameReferenceExpr *>(node.get())) {370 if (auto ma = dynamic_cast<NameReferenceExpr *>(node.get())) {
371 if (ma->begin == macroBeginPos && (maNextTokenPos.IsZero() || ma->end <= maNextTokenPos)) {371 if (ma->begin == macroBeginPos && (maNextTokenPos.IsZero() || ma->end <= maNextTokenPos)) {
372- ty = ma->GetTy();372+ ty = ma->DataTy();
373 resExpr = ma;373 resExpr = ma;
374 return VisitAction::STOP_NOW;374 return VisitAction::STOP_NOW;
375 }375 }
@@ -418,20 +418,20 @@ void DotCompleterByParse::CompleteCandidate(const Position &pos, const std::stri
418 isEnumCtor = true;418 isEnumCtor = true;
419 env.SetValue(FILTER::IS_STATIC, false);419 env.SetValue(FILTER::IS_STATIC, false);
420 }420 }
421- Ptr<Ty> ty = decl->GetTy();421+ DataTy ty = decl->DataTy();
422 auto vd = DynamicCast<VarDecl *>(decl);422 auto vd = DynamicCast<VarDecl *>(decl);
423 if (vd && vd->type) {423 if (vd && vd->type) {
424- ty = vd->type->GetTy();424+ ty = vd->type->DataTy();
425 }425 }
426 CompleteFromType(decl->identifier, pos, ty, env);426 CompleteFromType(decl->identifier, pos, ty, env);
427 }427 }
428 } else {428 } else {
429 for (auto &ty : declOrTy.tys) {429 for (auto &ty : declOrTy.tys) {
430 if (ty->kind == TypeKind::TYPE_ENUM) {430 if (ty->kind == TypeKind::TYPE_ENUM) {
431- isEnumCtor = IsEnumCtorTy(prefix, ty);431+ isEnumCtor = IsEnumCtorTy(prefix, ty.get());
432 }432 }
433 const std::string identifier = prefix == "this" || prefix == "super" ? prefix : "";433 const std::string identifier = prefix == "this" || prefix == "super" ? prefix : "";
434- CompleteFromType(identifier, pos, ty, env);434+ CompleteFromType(identifier, pos, ty.get(), env);
435 }435 }
436 }436 }
437 env.OutputResult(result);437 env.OutputResult(result);
@@ -1100,13 +1100,13 @@ void DotCompleterByParse::InitMap() const
1100 DotMatcher::GetInstance().RegFunc(ASTKind::IF_AVAILABLE_EXPR, &ark::DotCompleterByParse::FindIfAvailableExpr);1100 DotMatcher::GetInstance().RegFunc(ASTKind::IF_AVAILABLE_EXPR, &ark::DotCompleterByParse::FindIfAvailableExpr);
1101}1101}
1102 1102 
1103-void DotCompleterByParse::AddExtendDeclFromIndex(Ptr<Ty> extendTy, CompletionEnv &env) const1103+void DotCompleterByParse::AddExtendDeclFromIndex(DataTy extendTy, CompletionEnv &env) const
1104{1104{
1105- std::vector<Ptr<Ty>> extendTys = {extendTy};1105+ std::vector<DataTy> extendTys = {extendTy};
1106 AddExtendDeclFromIndexBatch(extendTys, env);1106 AddExtendDeclFromIndexBatch(extendTys, env);
1107}1107}
1108 1108 
1109-void DotCompleterByParse::AddExtendVisibleMembers(const std::vector<Ptr<Ty>> &extendTys,1109+void DotCompleterByParse::AddExtendVisibleMembers(const std::vector<DataTy> &extendTys,
1110 CompletionEnv &env,1110 CompletionEnv &env,
1111 ArkAST *ast,1111 ArkAST *ast,
1112 std::unordered_set<lsp::SymbolID> &ids,1112 std::unordered_set<lsp::SymbolID> &ids,
@@ -1126,7 +1126,8 @@ void DotCompleterByParse::AddExtendVisibleMembers(const std::vector<Ptr<Ty>> &ex
1126 1126 
1127 for (auto extendTy : extendTys) {1127 for (auto extendTy : extendTys) {
1128 auto extendMembers =1128 auto extendMembers =
1129- CompilerCangjieProject::GetInstance()->GetAllVisibleExtendMembers(extendTy, packageNameForPath, *ast->file);1129+ CompilerCangjieProject::GetInstance()->GetAllVisibleExtendMembers(
1130+ {extendTy}, packageNameForPath, *ast->file);
1130 auto decl = Ty::GetDeclPtrOfTy(extendTy);1131 auto decl = Ty::GetDeclPtrOfTy(extendTy);
1131 if (!decl && !extendTy->IsPrimitive()) {1132 if (!decl && !extendTy->IsPrimitive()) {
1132 continue;1133 continue;
@@ -1160,7 +1161,7 @@ void DotCompleterByParse::AddExtendVisibleMembers(const std::vector<Ptr<Ty>> &ex
1160 }1161 }
1161}1162}
1162 1163 
1163-void DotCompleterByParse::AddExtendDeclFromIndexBatch(const std::vector<Ptr<Ty>> &extendTys, CompletionEnv &env) const1164+void DotCompleterByParse::AddExtendDeclFromIndexBatch(const std::vector<DataTy> &extendTys, CompletionEnv &env) const
1164{1165{
1165 if (extendTys.empty()) {1166 if (extendTys.empty()) {
1166 return;1167 return;
@@ -1287,7 +1288,7 @@ void DotCompleterByParse::CompleteFromType(const std::string &identifier,
1287 if (!aliasDecl || !aliasDecl->type) {1288 if (!aliasDecl || !aliasDecl->type) {
1288 return;1289 return;
1289 }1290 }
1290- CompleteFromType(identifier, pos, aliasDecl->type->GetTy(), env);1291+ CompleteFromType(identifier, pos, aliasDecl->type->GetTy().get(), env);
1291 } else if (typeid(*type) == typeid(GenericsTy)) {1292 } else if (typeid(*type) == typeid(GenericsTy)) {
1292 auto genericsDecl = dynamic_cast<GenericsTy *>(type)->upperBounds;1293 auto genericsDecl = dynamic_cast<GenericsTy *>(type)->upperBounds;
1293 for (auto ty : genericsDecl) {1294 for (auto ty : genericsDecl) {
@@ -1304,7 +1305,7 @@ void DotCompleterByParse::CompleteFromType(const std::string &identifier,
1304 }1305 }
1305}1306}
1306 1307 
1307-void DotCompleterByParse::CompleteClassDecl(Ptr<Ty> ty, const Cangjie::Position &pos,1308+void DotCompleterByParse::CompleteClassDecl(DataTy ty, const Cangjie::Position &pos,
1308 CompletionEnv &env, bool isSuperOrThis) const1309 CompletionEnv &env, bool isSuperOrThis) const
1309{1310{
1310 auto classDecl = DynamicCast<ClassDecl>(Ty::GetDeclPtrOfTy(ty));1311 auto classDecl = DynamicCast<ClassDecl>(Ty::GetDeclPtrOfTy(ty));
@@ -1336,7 +1337,7 @@ void DotCompleterByParse::CompleteClassDecl(Ptr<Ty> ty, const Cangjie::Position
1336 if (ark::Is<ClassDecl>(classDecl->GetSuperClassDecl().get())) {1337 if (ark::Is<ClassDecl>(classDecl->GetSuperClassDecl().get())) {
1337 auto superClass = classDecl->GetSuperClassDecl();1338 auto superClass = classDecl->GetSuperClassDecl();
1338 env.SetValue(FILTER::IS_SUPER, true);1339 env.SetValue(FILTER::IS_SUPER, true);
1339- CompleteClassDecl(superClass->GetTy(), pos, env, isSuperOrThis);1340+ CompleteClassDecl(superClass->GetTy().Ty(), pos, env, isSuperOrThis);
1340 }1341 }
1341}1342}
1342 1343 
@@ -1363,12 +1364,12 @@ void DotCompleterByParse::CompleteSuperInterface(Ptr<const InterfaceDecl> interf
1363 }1364 }
1364 auto refType = dynamic_cast<RefType*>(inheritedType.get().get());1365 auto refType = dynamic_cast<RefType*>(inheritedType.get().get());
1365 if (Cangjie::Is<InterfaceTy>(refType->GetTy().get()) && !IsHiddenDecl(refType->ref.target)) {1366 if (Cangjie::Is<InterfaceTy>(refType->GetTy().get()) && !IsHiddenDecl(refType->ref.target)) {
1366- CompleteFromType("", pos, refType->GetTy(), env);1367+ CompleteFromType("", pos, refType->GetTy().get(), env);
1367 }1368 }
1368 }1369 }
1369}1370}
1370 1371 
1371-void DotCompleterByParse::CompleteEnumDecl(Ptr<Ty> ty, const Cangjie::Position &pos, CompletionEnv &env) const1372+void DotCompleterByParse::CompleteEnumDecl(DataTy ty, const Cangjie::Position &pos, CompletionEnv &env) const
1372{1373{
1373 // TD: Enum Type will be written later.1374 // TD: Enum Type will be written later.
1374 auto enumDecl = DynamicCast<EnumDecl>(Ty::GetDeclPtrOfTy(ty));1375 auto enumDecl = DynamicCast<EnumDecl>(Ty::GetDeclPtrOfTy(ty));
@@ -1413,7 +1414,7 @@ void DotCompleterByParse::CompleteEnumInterface(Ptr<EnumDecl> enumDecl, const Po
1413 }1414 }
1414}1415}
1415// LCOV_EXCL_STOP1416// LCOV_EXCL_STOP
1416-void DotCompleterByParse::CompleteStructDecl(Ptr<Ty> ty, const Cangjie::Position &pos, CompletionEnv &env) const1417+void DotCompleterByParse::CompleteStructDecl(DataTy ty, const Cangjie::Position &pos, CompletionEnv &env) const
1417{1418{
1418 // TD: Struct Type will be written later.1419 // TD: Struct Type will be written later.
1419 auto structDecl = dynamic_cast<StructTy *>(ty.get())->decl;1420 auto structDecl = dynamic_cast<StructTy *>(ty.get())->decl;
@@ -1450,7 +1451,7 @@ void DotCompleterByParse::CompleteBuiltInType(Ty *type, CompletionEnv &env) cons
1450 return;1451 return;
1451 }1452 }
1452 auto extendDecls = CompilerCangjieProject::GetInstance()->GetAllVisibleExtendMembers(1453 auto extendDecls = CompilerCangjieProject::GetInstance()->GetAllVisibleExtendMembers(
1453- type, packageNameForPath, *ast->file);1454+ Cangjie::AST::ModalTy{Cangjie::AST::DataTy{type}}, packageNameForPath, *ast->file);
1454 for (auto &decl : extendDecls) {1455 for (auto &decl : extendDecls) {
1455 if (!syscap.CheckSysCap(decl) || IsHiddenDecl(decl) || IsHiddenDecl(decl->outerDecl)) {1456 if (!syscap.CheckSysCap(decl) || IsHiddenDecl(decl) || IsHiddenDecl(decl->outerDecl)) {
1456 return;1457 return;
@@ -1472,7 +1473,7 @@ void DotCompleterByParse::CompleteBuiltInType(Ty *type, CompletionEnv &env) cons
1472 1473 
1473 if (type->IsIdeal()) {1474 if (type->IsIdeal()) {
1474 auto kinds = GetIdealTypesByKind(type->kind);1475 auto kinds = GetIdealTypesByKind(type->kind);
1475- std::vector<Ptr<Ty>> extendTys;1476+ std::vector<DataTy> extendTys;
1476 for (auto kind: kinds) {1477 for (auto kind: kinds) {
1477 auto primitivety = TypeManager::GetPrimitiveTy(kind);1478 auto primitivety = TypeManager::GetPrimitiveTy(kind);
1478 extendTys.push_back(primitivety);1479 extendTys.push_back(primitivety);
@@ -43,7 +43,7 @@ public:
43 CompletionEnv &env) const;43 CompletionEnv &env) const;
44 44 
45private:45private:
46- void CompleteClassDecl(Ptr<Cangjie::AST::Ty> ty,46+ void CompleteClassDecl(Cangjie::AST::DataTy ty,
47 const Cangjie::Position &pos,47 const Cangjie::Position &pos,
48 CompletionEnv &env,48 CompletionEnv &env,
49 bool isSuperOrThis = false) const;49 bool isSuperOrThis = false) const;
@@ -52,9 +52,9 @@ private:
52 const Cangjie::Position &pos,52 const Cangjie::Position &pos,
53 CompletionEnv &env) const;53 CompletionEnv &env) const;
54 54 
55- void CompleteEnumDecl(Ptr<Cangjie::AST::Ty> ty, const Cangjie::Position &pos, CompletionEnv &env) const;55+ void CompleteEnumDecl(Cangjie::AST::DataTy ty, const Cangjie::Position &pos, CompletionEnv &env) const;
56 56 
57- void CompleteStructDecl(Ptr<Cangjie::AST::Ty> ty, const Cangjie::Position &pos, CompletionEnv &env) const;57+ void CompleteStructDecl(Cangjie::AST::DataTy ty, const Cangjie::Position &pos, CompletionEnv &env) const;
58 58 
59 void CompleteBuiltInType(Ty *type, CompletionEnv &env) const;59 void CompleteBuiltInType(Ty *type, CompletionEnv &env) const;
60 60 
@@ -67,11 +67,11 @@ private:
67 std::set<std::string> FindDeclSetByFiles(const std::string &packageName,67 std::set<std::string> FindDeclSetByFiles(const std::string &packageName,
68 std::vector<OwnedPtr<Cangjie::AST::File>> &files) const;68 std::vector<OwnedPtr<Cangjie::AST::File>> &files) const;
69 69 
70- void AddExtendDeclFromIndex(Ptr<Ty> extendTy, CompletionEnv &env) const;70+ void AddExtendDeclFromIndex(DataTy extendTy, CompletionEnv &env) const;
71 71 
72- void AddExtendVisibleMembers(const std::vector<Ptr<Ty>> &extendTys, CompletionEnv &env, ArkAST *ast,72+ void AddExtendVisibleMembers(const std::vector<DataTy> &extendTys, CompletionEnv &env, ArkAST *ast,
73 std::unordered_set<lsp::SymbolID> &ids, std::unordered_set<lsp::SymbolID> &allVisibleMembers) const;73 std::unordered_set<lsp::SymbolID> &ids, std::unordered_set<lsp::SymbolID> &allVisibleMembers) const;
74- void AddExtendDeclFromIndexBatch(const std::vector<Ptr<Ty>> &extendTys, CompletionEnv &env) const;74+ void AddExtendDeclFromIndexBatch(const std::vector<DataTy> &extendTys, CompletionEnv &env) const;
75 75 
76 std::string QueryByPos(Ptr<Node> node, const Position pos);76 std::string QueryByPos(Ptr<Node> node, const Position pos);
77 77 
@@ -204,12 +204,12 @@ private:
204 std::vector<OwnedPtr<AST::Decl>> &decls);204 std::vector<OwnedPtr<AST::Decl>> &decls);
205 205 
206 void GetTyFromMacroCallNodes(Ptr<Expr> expr, std::unique_ptr<ArkAST> arkAst,206 void GetTyFromMacroCallNodes(Ptr<Expr> expr, std::unique_ptr<ArkAST> arkAst,
207- Ptr<Ty> &ty, Ptr<NameReferenceExpr> &resExpr);207+ DataTy &ty, Ptr<NameReferenceExpr> &resExpr);
208 208 
209 void CompleteByReferenceTarget(const Position &pos, const std::string &prefix, CompletionEnv &env,209 void CompleteByReferenceTarget(const Position &pos, const std::string &prefix, CompletionEnv &env,
210 const Ptr<Expr> &expr, std::string &scopeName);210 const Ptr<Expr> &expr, std::string &scopeName);
211 211 
212- Ptr<Ty> GetTyFromMacroCallNodes(Ptr<Expr> expr, std::unique_ptr<ArkAST> arkAst);212+ DataTy GetTyFromMacroCallNodes(Ptr<Expr> expr, std::unique_ptr<ArkAST> arkAst);
213 213 
214 bool CheckInIfAvailable(Ptr<Decl> decl, const Position &pos);214 bool CheckInIfAvailable(Ptr<Decl> decl, const Position &pos);
215 215 
@@ -191,22 +191,19 @@ void OverrideCompleter::ExtractReplace(Ptr<Decl> decl)
191 }191 }
192 for (const auto& inheritedType: inheritedTypes) {192 for (const auto& inheritedType: inheritedTypes) {
193 Ptr<ClassLikeDecl> inheritedDecl = nullptr;193 Ptr<ClassLikeDecl> inheritedDecl = nullptr;
194- if (auto clsTy = DynamicCast<ClassTy*>(inheritedType->GetTy())) {194+ if (auto clsTy = DynamicCast<ClassTy*>(inheritedType->GetTy().get())) {
195 inheritedDecl = clsTy->declPtr;195 inheritedDecl = clsTy->declPtr;
196- } else if (auto ifTy = DynamicCast<InterfaceTy*>(inheritedType->GetTy())) {196+ } else if (auto ifTy = DynamicCast<InterfaceTy*>(inheritedType->GetTy().get())) {
197 inheritedDecl = ifTy->declPtr;197 inheritedDecl = ifTy->declPtr;
198 }198 }
199 if (!inheritedDecl || !inheritedType->GetTy()) {199 if (!inheritedDecl || !inheritedType->GetTy()) {
200 continue;200 continue;
201 }201 }
202- auto originalDetail = ResolveType(inheritedDecl->GetTy());202+ auto originalDetail = ResolveType(inheritedDecl->GetTy().Ty());
203 if (!originalDetail) {203 if (!originalDetail) {
204 return;204 return;
205 }205 }
206- auto newDetail = ResolveType(inheritedType->GetTy());206+ auto newDetail = ResolveType(inheritedType->GetTy().Ty());
207- if (!newDetail) {
208- return;
209- }
210 for (auto& item: replace) {207 for (auto& item: replace) {
211 newDetail->SetIdentifier(item.first, item.second);208 newDetail->SetIdentifier(item.first, item.second);
212 }209 }
@@ -44,16 +44,16 @@ std::string CrossDefinitionCangjie2C::TypeVarray(const Cangjie::AST::Ty *ty, boo
44 for (auto &item: ty->typeArgs) {44 for (auto &item: ty->typeArgs) {
45 if (!isSimple) {45 if (!isSimple) {
46 if (item->kind == TypeKind::TYPE_VARRAY || item->kind == TypeKind::TYPE_CSTRING) {46 if (item->kind == TypeKind::TYPE_VARRAY || item->kind == TypeKind::TYPE_CSTRING) {
47- return GetCType(item) + "[]";47+ return GetCType(item.get()) + "[]";
48 }48 }
49 if (item->kind == TypeKind::TYPE_POINTER) {49 if (item->kind == TypeKind::TYPE_POINTER) {
50- const string baseType = GetCType(item, true);50+ const string baseType = GetCType(item.get(), true);
51 return baseType == CANGJIE2C.find(TypeKind::TYPE_CSTRING)->second ? baseType + "*[]" :51 return baseType == CANGJIE2C.find(TypeKind::TYPE_CSTRING)->second ? baseType + "*[]" :
52 baseType + " *[]";52 baseType + " *[]";
53 }53 }
54- return GetCType(item) + " []";54+ return GetCType(item.get()) + " []";
55 }55 }
56- return GetCType(item, true);56+ return GetCType(item.get(), true);
57 }57 }
58 return "unknown";58 return "unknown";
59}59}
@@ -63,16 +63,16 @@ std::string CrossDefinitionCangjie2C::TypeCpointer(const Cangjie::AST::Ty *ty, b
63 for (auto &item: ty->typeArgs) {63 for (auto &item: ty->typeArgs) {
64 if (!isSimple) {64 if (!isSimple) {
65 if (item->kind == TypeKind::TYPE_POINTER || item->kind == TypeKind::TYPE_CSTRING) {65 if (item->kind == TypeKind::TYPE_POINTER || item->kind == TypeKind::TYPE_CSTRING) {
66- return GetCType(item) + "*";66+ return GetCType(item.get()) + "*";
67 }67 }
68 if (item->kind == TypeKind::TYPE_VARRAY) {68 if (item->kind == TypeKind::TYPE_VARRAY) {
69- const string baseType = GetCType(item, true);69+ const string baseType = GetCType(item.get(), true);
70 return baseType == CANGJIE2C.find(TypeKind::TYPE_CSTRING)->second ? baseType + "*" :70 return baseType == CANGJIE2C.find(TypeKind::TYPE_CSTRING)->second ? baseType + "*" :
71 baseType + " *";71 baseType + " *";
72 }72 }
73- return GetCType(item, true) + " *";73+ return GetCType(item.get(), true) + " *";
74 }74 }
75- return GetCType(item, true);75+ return GetCType(item.get(), true);
76 }76 }
77 return "unknown";77 return "unknown";
78}78}
@@ -83,10 +83,10 @@ void CrossDefinitionCangjie2C::Cangjie2CGetFuncMessage(std::vector<message> &Cro
83 message message;83 message message;
84 bool inValid = !funcDecl || !funcDecl->funcBody || !funcDecl->funcBody->retType ||84 bool inValid = !funcDecl || !funcDecl->funcBody || !funcDecl->funcBody->retType ||
85 !funcDecl->funcBody->retType->GetTy() || funcDecl->funcBody->paramLists.empty() ||85 !funcDecl->funcBody->retType->GetTy() || funcDecl->funcBody->paramLists.empty() ||
86- GetCType(funcDecl->funcBody->retType->GetTy()) == "unknown";86+ GetCType(funcDecl->funcBody->retType->GetTy().get()) == "unknown";
87 if (inValid) { return; }87 if (inValid) { return; }
88 for (const auto &item: funcDecl->funcBody->paramLists[0]->params) {88 for (const auto &item: funcDecl->funcBody->paramLists[0]->params) {
89- string basicString = GetCType(item->GetTy());89+ string basicString = GetCType(item->GetTy().get());
90 if (basicString == "unknown") {90 if (basicString == "unknown") {
91 message.functionParameters = {};91 message.functionParameters = {};
92 return;92 return;
@@ -99,7 +99,7 @@ void CrossDefinitionCangjie2C::Cangjie2CGetFuncMessage(std::vector<message> &Cro
99 }99 }
100 message.targetLanguage = "C";100 message.targetLanguage = "C";
101 message.functionName = funcDecl->identifier;101 message.functionName = funcDecl->identifier;
102- message.retType = GetCType(funcDecl->funcBody->retType->GetTy());102+ message.retType = GetCType(funcDecl->funcBody->retType->GetTy().get());
103 if (funcDecl->hasVariableLenArg) {103 if (funcDecl->hasVariableLenArg) {
104 (void) message.functionParameters.emplace_back("...");104 (void) message.functionParameters.emplace_back("...");
105 }105 }
@@ -130,7 +130,7 @@ std::string GetDocumentSymbolNameByFuncDecl(const FuncDecl &decl, bool isMain)
130 detail += ": Int64";130 detail += ": Int64";
131 return detail;131 return detail;
132 }132 }
133- Ty *retTy = decl.funcBody->retType ? decl.funcBody->retType->GetTy() : nullptr;133+ Ty *retTy = decl.funcBody->retType ? decl.funcBody->retType->GetTy().get() : nullptr;
134 std::string retTyStr;134 std::string retTyStr;
135 if (decl.funcBody->retType) {135 if (decl.funcBody->retType) {
136 retTyStr = ItemResolverUtil::ResolveTypeSignature(*decl.funcBody->retType);136 retTyStr = ItemResolverUtil::ResolveTypeSignature(*decl.funcBody->retType);
@@ -380,7 +380,7 @@ std::string HoverImpl::GetHoverMessageByOuterDecl(const Decl &node)
380 if (decl.GetTy() == nullptr) {380 if (decl.GetTy() == nullptr) {
381 return detail;381 return detail;
382 }382 }
383- Ptr<Decl> realDecl = ItemResolverUtil::GetDeclByTy(decl.GetTy());383+ Ptr<Decl> realDecl = ItemResolverUtil::GetDeclByTy(decl.GetTy().get());
384 if (realDecl == nullptr) {384 if (realDecl == nullptr) {
385 return detail;385 return detail;
386 }386 }
@@ -172,17 +172,17 @@ void ExtractReplace(const Ptr<InheritableDecl>& decl, std::unordered_map<Ptr<Inh
172 }172 }
173 173 
174 for (const auto& inheritedType: inheritedTypes) {174 for (const auto& inheritedType: inheritedTypes) {
175- auto inheritedDecl = GetInheritedDeclFromType(inheritedType->GetTy());175+ auto inheritedDecl = GetInheritedDeclFromType(inheritedType->GetTy().Ty());
176 if (!inheritedDecl || !inheritedType->GetTy()) {176 if (!inheritedDecl || !inheritedType->GetTy()) {
177 continue;177 continue;
178 }178 }
179 179 
180- auto originalDetail = ResolveType(inheritedDecl->GetTy());180+ auto originalDetail = ResolveType(inheritedDecl->GetTy().Ty());
181 if (!originalDetail) {181 if (!originalDetail) {
182 continue;182 continue;
183 }183 }
184 184 
185- auto newDetail = ResolveType(inheritedType->GetTy());185+ auto newDetail = ResolveType(inheritedType->GetTy().Ty());
186 ApplyReplace(newDetail, replace);186 ApplyReplace(newDetail, replace);
187 std::unordered_map<std::string, std::string> myReplace;187 std::unordered_map<std::string, std::string> myReplace;
188 originalDetail->Diff(newDetail, myReplace);188 originalDetail->Diff(newDetail, myReplace);
@@ -133,7 +133,7 @@ std::unique_ptr<ClassLikeTypeDetail> ResolveGenericType(const T &t)
133 detail->identifier = t.decl->identifier;133 detail->identifier = t.decl->identifier;
134 if (t.decl->generic) {134 if (t.decl->generic) {
135 for (const auto &tyArg : t.typeArgs) {135 for (const auto &tyArg : t.typeArgs) {
136- detail->generics.emplace_back(ResolveType(tyArg));136+ detail->generics.emplace_back(ResolveType(tyArg.Ty()));
137 }137 }
138 }138 }
139 return detail;139 return detail;
@@ -143,9 +143,9 @@ std::unique_ptr<FuncLikeTypeDetail> ResolveFuncType(const FuncTy& ty)
143{143{
144 auto detail = std::make_unique<FuncLikeTypeDetail>();144 auto detail = std::make_unique<FuncLikeTypeDetail>();
145 for (const auto& paramTy: ty.paramTys) {145 for (const auto& paramTy: ty.paramTys) {
146- detail->params.emplace_back(ResolveType(paramTy));146+ detail->params.emplace_back(ResolveType(paramTy.Ty()));
147 }147 }
148- detail->ret = ResolveType(ty.retTy);148+ detail->ret = ResolveType(ty.retTy.Ty());
149 return detail;149 return detail;
150}150}
151 151 
@@ -156,7 +156,7 @@ std::unique_ptr<VArrayTypeDetail> ResolveVarrayType(const VArrayTy& ty)
156 return detail;156 return detail;
157 }157 }
158 detail->identifier = ty.name;158 detail->identifier = ty.name;
159- detail->tyArg = ResolveType(ty.typeArgs[0]);159+ detail->tyArg = ResolveType(ty.typeArgs[0].Ty());
160 detail->size = ty.size;160 detail->size = ty.size;
161 return detail;161 return detail;
162}162}
@@ -165,7 +165,7 @@ std::unique_ptr<TupleTypeDetail> ResolveTupleType(const TupleTy& ty)
165{165{
166 auto detail = std::make_unique<TupleTypeDetail>();166 auto detail = std::make_unique<TupleTypeDetail>();
167 for (auto& typeArg: ty.typeArgs) {167 for (auto& typeArg: ty.typeArgs) {
168- detail->params.emplace_back(ResolveType(typeArg));168+ detail->params.emplace_back(ResolveType(typeArg.Ty()));
169 }169 }
170 return detail;170 return detail;
171}171}
@@ -253,7 +253,7 @@ FuncParamDetailList ResolveFuncParamList(const Ptr<FuncDecl>& funcDecl)
253 continue;253 continue;
254 }254 }
255 paramDetail.identifier = identifier;255 paramDetail.identifier = identifier;
256- paramDetail.type = ResolveType(param->GetTy());256+ paramDetail.type = ResolveType(param->GetTy().Ty());
257 params.isVariadic = paramList->variadicArgIndex > 0;257 params.isVariadic = paramList->variadicArgIndex > 0;
258 params.params.emplace_back(std::move(paramDetail));258 params.params.emplace_back(std::move(paramDetail));
259 }259 }
@@ -271,7 +271,7 @@ std::unique_ptr<TypeDetail> ResolveFuncRetType(const Ptr<FuncDecl>& funcDecl)
271 if (!type) {271 if (!type) {
272 return {};272 return {};
273 }273 }
274- return ResolveType(type->GetTy());274+ return ResolveType(type->GetTy().Ty());
275}275}
276 276 
277FuncDetail ResolveFuncDetail(const Ptr<FuncDecl>& funcDecl)277FuncDetail ResolveFuncDetail(const Ptr<FuncDecl>& funcDecl)
@@ -290,7 +290,7 @@ PropDetail ResolvePropDetail(const Ptr<PropDecl>& propDecl)
290 PropDetail detail;290 PropDetail detail;
291 detail.modifiers = ResolveDeclModifiers(propDecl);291 detail.modifiers = ResolveDeclModifiers(propDecl);
292 detail.identifier = ResolveDeclIdentifier(propDecl);292 detail.identifier = ResolveDeclIdentifier(propDecl);
293- detail.type = ResolveType(propDecl->GetTy());293+ detail.type = ResolveType(propDecl->GetTy().Ty());
294 return detail;294 return detail;
295}295}
296} // namespace ark296} // namespace ark
@@ -384,6 +384,7 @@ Ptr<Block> TweakUtils::GetSymbolBlock(AST::Symbol &symbol, Range &range)
384 auto funcDecl = DynamicCast<FuncDecl>(symbol.node);384 auto funcDecl = DynamicCast<FuncDecl>(symbol.node);
385 return DealFuncDecl(funcDecl, range);385 return DealFuncDecl(funcDecl, range);
386 }386 }
387+ case Cangjie::AST::ASTKind::EXCLAVE_EXPR:
387 default:388 default:
388 return nullptr;389 return nullptr;
389 }390 }
@@ -55,6 +55,7 @@ bool IsRefLoop(const Symbol& sym, const Node& self)
55 case ASTKind::FUNC_DECL:55 case ASTKind::FUNC_DECL:
56 case ASTKind::LAMBDA_EXPR:56 case ASTKind::LAMBDA_EXPR:
57 return VisitAction::SKIP_CHILDREN;57 return VisitAction::SKIP_CHILDREN;
58+ case ASTKind::EXCLAVE_EXPR:
58 default:59 default:
59 return VisitAction::WALK_CHILDREN;60 return VisitAction::WALK_CHILDREN;
60 }61 }
@@ -360,7 +360,7 @@ static std::string GetEnumDefaultInitializer(const Tweak::Selection &sel, const
360 if (!selectedExpr || !selectedExpr->GetTy()) {360 if (!selectedExpr || !selectedExpr->GetTy()) {
361 return "";361 return "";
362 }362 }
363- auto enumDecl = GetEnumDeclFromTy(selectedExpr->GetTy());363+ auto enumDecl = GetEnumDeclFromTy(selectedExpr->GetTy().Ty());
364 if (!enumDecl || enumDecl->constructors.empty() || !enumDecl->constructors.front()) {364 if (!enumDecl || enumDecl->constructors.empty() || !enumDecl->constructors.front()) {
365 return "";365 return "";
366 }366 }
@@ -359,7 +359,7 @@ class IntroduceParameterRule : public TweakRule {
359 std::to_string(static_cast<int>(IntroduceParameter::IntroduceParameterError::INVALID_TYPE))));359 std::to_string(static_cast<int>(IntroduceParameter::IntroduceParameterError::INVALID_TYPE))));
360 return false;360 return false;
361 }361 }
362- if (selectedExpr && IntroducedParameterTypeBreaksPublicSignature(*funcDecl, selectedExpr->GetTy())) {362+ if (selectedExpr && IntroducedParameterTypeBreaksPublicSignature(*funcDecl, selectedExpr->GetTy().Ty())) {
363 extraOptions.insert(std::make_pair("ErrorCode",363 extraOptions.insert(std::make_pair("ErrorCode",
364 std::to_string(static_cast<int>(364 std::to_string(static_cast<int>(
365 IntroduceParameter::IntroduceParameterError::PUBLIC_DECL_USES_NON_PUBLIC_TYPE))));365 IntroduceParameter::IntroduceParameterError::PUBLIC_DECL_USES_NON_PUBLIC_TYPE))));
@@ -528,7 +528,7 @@ int SignatureHelpImpl::GetFuncNameIndex() const
528 return -1;528 return -1;
529}529}
530 530 
531-void SignatureHelpImpl::FindFuncDeclByDeclType(Ptr<Ty> declTy, const std::string& funcName)531+void SignatureHelpImpl::FindFuncDeclByDeclType(Cangjie::AST::DataTy declTy, const std::string& funcName)
532{532{
533 auto id = Ty::GetDeclPtrOfTy<InheritableDecl>(declTy);533 auto id = Ty::GetDeclPtrOfTy<InheritableDecl>(declTy);
534 if (!id) { return; }534 if (!id) { return; }
@@ -547,7 +547,7 @@ void SignatureHelpImpl::FindFuncDeclByDeclType(Ptr<Ty> declTy, const std::string
547 auto inheritableDecl = DynamicCast<InheritableDecl>(id);547 auto inheritableDecl = DynamicCast<InheritableDecl>(id);
548 if (!inheritableDecl) { return; }548 if (!inheritableDecl) { return; }
549 auto extendMembers = CompilerCangjieProject::GetInstance()->GetAllVisibleExtendMembers(549 auto extendMembers = CompilerCangjieProject::GetInstance()->GetAllVisibleExtendMembers(
550- declTy, packageNameForPath, *ast->file);550+ Cangjie::AST::ModalTy{declTy}, packageNameForPath, *ast->file);
551 for (auto &decl : extendMembers) {551 for (auto &decl : extendMembers) {
552 // LCOV_EXCL_START552 // LCOV_EXCL_START
553 // Make sure extend has access553 // Make sure extend has access
@@ -41,7 +41,7 @@ private:
41 41 
42 void FindFunDeclByNode(Cangjie::AST::Node &node);42 void FindFunDeclByNode(Cangjie::AST::Node &node);
43 43 
44- void FindFuncDeclByDeclType(Ptr<Cangjie::AST::Ty> declTy, const std::string& funcName);44+ void FindFuncDeclByDeclType(Cangjie::AST::DataTy declTy, const std::string& funcName);
45 45 
46 void FillingDeclsInPackage(std::string &packageName, const std::string &funcName,46 void FillingDeclsInPackage(std::string &packageName, const std::string &funcName,
47 const Cangjie::AST::Node &curNode);47 const Cangjie::AST::Node &curNode);
@@ -87,7 +87,7 @@ void DealTypeAliasDecl(Ptr<Decl> &decl)
87 if (ark::Is<Cangjie::AST::TypeAliasDecl>(decl.get())) {87 if (ark::Is<Cangjie::AST::TypeAliasDecl>(decl.get())) {
88 auto typeAliasDecl = dynamic_cast<const TypeAliasDecl*>(decl.get());88 auto typeAliasDecl = dynamic_cast<const TypeAliasDecl*>(decl.get());
89 if (!typeAliasDecl || !typeAliasDecl->type) { return; }89 if (!typeAliasDecl || !typeAliasDecl->type) { return; }
90- decl = ItemResolverUtil::GetDeclByTy(typeAliasDecl->type->GetTy());90+ decl = ItemResolverUtil::GetDeclByTy(typeAliasDecl->type->GetTy().get());
91 }91 }
92}92}
93 93 
@@ -151,6 +151,7 @@ CompletionItemKind ItemResolverUtil::ResolveKindByASTKind(Cangjie::AST::ASTKind
151 return CompletionItemKind::CIK_VARIABLE;151 return CompletionItemKind::CIK_VARIABLE;
152 case Cangjie::AST::ASTKind::MACRO_EXPAND_DECL:152 case Cangjie::AST::ASTKind::MACRO_EXPAND_DECL:
153 return CompletionItemKind::CIK_METHOD;153 return CompletionItemKind::CIK_METHOD;
154+ case Cangjie::AST::ASTKind::THIS_PARAM:
154 default:155 default:
155 return CompletionItemKind::CIK_MISSING;156 return CompletionItemKind::CIK_MISSING;
156 }157 }
@@ -593,7 +594,7 @@ void ItemResolverUtil::ResolveVarDeclDetail(std::string &detail, const Cangjie::
593 detail += ": ";594 detail += ": ";
594 detail += ResolveTypeSignature(*decl.type);595 detail += ResolveTypeSignature(*decl.type);
595 } else {596 } else {
596- GetDetailByTy(decl.GetTy(), detail);597+ GetDetailByTy(decl.GetTy().get(), detail);
597 }598 }
598 return;599 return;
599 }600 }
@@ -1787,7 +1788,7 @@ std::string ItemResolverUtil::GetTypeString(const Cangjie::AST::Type &type)
1787 [](const RefType &type) {1788 [](const RefType &type) {
1788 if (type.GetTy() && type.TyKind() == Cangjie::AST::TypeKind::TYPE_VARRAY && !type.typeArguments.empty()) {1789 if (type.GetTy() && type.TyKind() == Cangjie::AST::TypeKind::TYPE_VARRAY && !type.typeArguments.empty()) {
1789 auto paramType = type.typeArguments.begin()->get();1790 auto paramType = type.typeArguments.begin()->get();
1790- auto varrayTy = DynamicCast<VArrayTy>(type.GetTy());1791+ auto varrayTy = DynamicCast<VArrayTy>(type.GetTy().Ty());
1791 if (!varrayTy || !paramType) {1792 if (!varrayTy || !paramType) {
1792 return type.ref.identifier.Val();1793 return type.ref.identifier.Val();
1793 }1794 }
@@ -48,7 +48,7 @@ TypeCompatibility CheckTypeCompatibility(const Ty *lvalue, const Ty *rvalue)
48 }48 }
49 auto ret = TypeCompatibility::IDENTICAL;49 auto ret = TypeCompatibility::IDENTICAL;
50 for (size_t i = 0; i < ltuple->typeArgs.size(); i++) {50 for (size_t i = 0; i < ltuple->typeArgs.size(); i++) {
51- auto res = CheckTypeCompatibility(ltuple->typeArgs[i], rtuple->typeArgs[i]);51+ auto res = CheckTypeCompatibility(ltuple->typeArgs[i].get(), rtuple->typeArgs[i].get());
52 if (res == TypeCompatibility::INCOMPATIBLE) {52 if (res == TypeCompatibility::INCOMPATIBLE) {
53 return res;53 return res;
54 }54 }
@@ -88,7 +88,8 @@ bool IsFuncParameterTypesIdentical(const FuncTy &t1, const FuncTy &t2)
88 if (t1.paramTys.size() == t2.paramTys.size()) {88 if (t1.paramTys.size() == t2.paramTys.size()) {
89 result = true;89 result = true;
90 for (size_t i = 0; i < t2.paramTys.size(); i++) {90 for (size_t i = 0; i < t2.paramTys.size(); i++) {
91- result = result && (CheckTypeCompatibility(t1.paramTys[i], t2.paramTys[i]) == TypeCompatibility::IDENTICAL);91+ result = result &&
92+ (CheckTypeCompatibility(t1.paramTys[i].get(), t2.paramTys[i].get()) == TypeCompatibility::IDENTICAL);
92 }93 }
93 }94 }
94 95 
@@ -254,7 +255,7 @@ CommentKind GetCommentKind(const std::string &comment)
254 return CommentKind::NO_COMMENT;255 return CommentKind::NO_COMMENT;
255}256}
256 257 
257-std::string PrintTypeArgs(std::vector<Ptr<Ty>> tyArgs, const std::pair<bool, int> isVarray)258+std::string PrintTypeArgs(std::vector<DataTy> tyArgs, const std::pair<bool, int> isVarray)
258{259{
259 if (tyArgs.empty()) {260 if (tyArgs.empty()) {
260 return "";261 return "";
@@ -295,7 +296,7 @@ std::string GetString(const Ty &ty)
295 if (vArrayTy) {296 if (vArrayTy) {
296 isVArray = {true, vArrayTy->size};297 isVArray = {true, vArrayTy->size};
297 }298 }
298- return ty.name.empty() ? ty.String() : ty.name + PrintTypeArgs(ty.typeArgs, isVArray);299+ return ty.name.empty() ? ty.String() : ty.name + PrintTypeArgs(ty.TyArgs(), isVArray);
299}300}
300 301 
301std::string ReplaceTuple(const std::string &type)302std::string ReplaceTuple(const std::string &type)
@@ -353,7 +354,7 @@ std::string GetVarDeclType(Ptr<VarDecl> decl, SourceManager *sourceManager)
353 if (decl->type) {354 if (decl->type) {
354 type = ItemResolverUtil::ResolveTypeSignature(*decl->type);355 type = ItemResolverUtil::ResolveTypeSignature(*decl->type);
355 } else {356 } else {
356- ItemResolverUtil::GetDetailByTy(decl->GetTy(), type, true);357+ ItemResolverUtil::GetDetailByTy(decl->GetTy().get(), type, true);
357 }358 }
358 std::string realType = ReplaceTuple(type);359 std::string realType = ReplaceTuple(type);
359 type = realType.empty() ? type : realType;360 type = realType.empty() ? type : realType;
@@ -436,7 +437,7 @@ bool IsFuncSignatureIdentical(const Cangjie::AST::FuncDecl &funcDecl1, const Can
436 auto funcTy1 = dynamic_cast<FuncTy *>(funcDecl1.GetTy().get());437 auto funcTy1 = dynamic_cast<FuncTy *>(funcDecl1.GetTy().get());
437 auto funcTy2 = dynamic_cast<FuncTy *>(funcDecl2.GetTy().get());438 auto funcTy2 = dynamic_cast<FuncTy *>(funcDecl2.GetTy().get());
438 if (!funcTy1 || !funcTy2 || !IsFuncParameterTypesIdentical(*funcTy1, *funcTy2) ||439 if (!funcTy1 || !funcTy2 || !IsFuncParameterTypesIdentical(*funcTy1, *funcTy2) ||
439- !(CheckTypeCompatibility(funcTy1->retTy, funcTy2->retTy) == TypeCompatibility::IDENTICAL)) {440+ !(CheckTypeCompatibility(funcTy1->retTy.get(), funcTy2->retTy.get()) == TypeCompatibility::IDENTICAL)) {
440 return false;441 return false;
441 }442 }
442 return true;443 return true;
@@ -58,7 +58,7 @@ void MatchBracket(const std::string &type, size_t &index, int &count);
58 58 
59std::string GetVarDeclType(Ptr<VarDecl> decl, SourceManager *sourceManager);59std::string GetVarDeclType(Ptr<VarDecl> decl, SourceManager *sourceManager);
60 60 
61-std::string PrintTypeArgs(std::vector<Ptr<Cangjie::AST::Ty>> tyArgs, const std::pair<bool, int> isVarray = {false, 0});61+std::string PrintTypeArgs(std::vector<Cangjie::AST::DataTy> tyArgs, const std::pair<bool, int> isVarray = {false, 0});
62 62 
63CommentKind GetCommentKind(const std::string &comment);63CommentKind GetCommentKind(const std::string &comment);
64 64 
@@ -288,7 +288,7 @@ inline bool IsLocalFuncOrLambda(const AST::Decl& decl)
288 288 
289lsp::SymbolID GetSymbolId(const Decl &decl);289lsp::SymbolID GetSymbolId(const Decl &decl);
290 290 
291-inline std::string GetPrimaryTypeIdentifier(const Ptr<Ty> ty)291+inline std::string GetPrimaryTypeIdentifier(const DataTy ty)
292{292{
293 if (!ty || ty->IsPrimitive()) {293 if (!ty || ty->IsPrimitive()) {
294 return "";294 return "";
@@ -76,7 +76,7 @@ Ptr<Decl> GetRealDecl(Ptr<Decl> decl)
76 return decl;76 return decl;
77}77}
78 78 
79-TypeSubst GenerateTypeMapping(Ptr<const Generic> generic, const std::vector<Ptr<Ty>> &typeArgs)79+TypeSubst GenerateTypeMapping(Ptr<const Generic> generic, const std::vector<DataTy> &typeArgs)
80{80{
81 TypeSubst mapping;81 TypeSubst mapping;
82 if (!generic || generic->typeParameters.size() != typeArgs.size()) {82 if (!generic || generic->typeParameters.size() != typeArgs.size()) {
@@ -84,7 +84,7 @@ TypeSubst GenerateTypeMapping(Ptr<const Generic> generic, const std::vector<Ptr<
84 }84 }
85 for (size_t i = 0; i < typeArgs.size(); ++i) {85 for (size_t i = 0; i < typeArgs.size(); ++i) {
86 if (Ty::IsTyCorrect(generic->typeParameters[i]->GetTy()) && Ty::IsTyCorrect(typeArgs[i])) {86 if (Ty::IsTyCorrect(generic->typeParameters[i]->GetTy()) && Ty::IsTyCorrect(typeArgs[i])) {
87- if (auto genParam = DynamicCast<GenericsTy*>(generic->typeParameters[i]->GetTy())) {87+ if (auto genParam = DynamicCast<GenericsTy*>(generic->typeParameters[i]->GetTy().get())) {
88 mapping[genParam] = typeArgs[i];88 mapping[genParam] = typeArgs[i];
89 }89 }
90 }90 }
@@ -1303,7 +1303,7 @@ void SymbolCollector::CreateExtend(const Decl &decl, const std::string &filePath
1303 if (target) {1303 if (target) {
1304 symbolID = GetDeclSymbolID(*target);1304 symbolID = GetDeclSymbolID(*target);
1305 } else {1305 } else {
1306- symbolID = GetPrimaryTypeSymbolId(extendDecl->extendedType->GetTy());1306+ symbolID = GetPrimaryTypeSymbolId(extendDecl->extendedType->GetTy().Ty());
1307 }1307 }
1308 auto fullPackageName = extendDecl->fullPackageName;1308 auto fullPackageName = extendDecl->fullPackageName;
1309 std::vector<ExtendInfo> extendVec;1309 std::vector<ExtendInfo> extendVec;
@@ -2032,8 +2032,8 @@ Ptr<Decl> SymbolCollector::FindOverriddenMember(const Decl &member, const Inheri
2032 *static_cast<FuncDecl *>(it.get()), *static_cast<const FuncDecl *>(&member));2032 *static_cast<FuncDecl *>(it.get()), *static_cast<const FuncDecl *>(&member));
2033 memberTy = tyMgr.GetInstantiatedTy(memberTy, mapping);2033 memberTy = tyMgr.GetInstantiatedTy(memberTy, mapping);
2034 }2034 }
2035- if (tyMgr.IsFuncParameterTypesIdentical(*StaticCast<FuncTy *>(memberTy),2035+ if (tyMgr.IsFuncParameterTypesIdentical(*StaticCast<FuncTy *>(memberTy.Ty()),
2036- *StaticCast<FuncTy *>(member.GetTy()))) {2036+ *StaticCast<FuncTy *>(member.GetTy().Ty()))) {
2037 found = it;2037 found = it;
2038 break;2038 break;
2039 }2039 }
@@ -2060,7 +2060,7 @@ Ptr<Decl> SymbolCollector::FindOverriddenMemberFromSuperClass(const Decl &member
2060 }2060 }
2061 sd = StaticCast<ClassDecl *>(Ty::GetDeclPtrOfTy(it->GetTy()));2061 sd = StaticCast<ClassDecl *>(Ty::GetDeclPtrOfTy(it->GetTy()));
2062 CJC_NULLPTR_CHECK(sd); // When ty is class and correct, sd must be non-null.2062 CJC_NULLPTR_CHECK(sd); // When ty is class and correct, sd must be non-null.
2063- typeMapping.merge(GenerateTypeMapping(sd->GetGeneric(), it->GetTy()->typeArgs));2063+ typeMapping.merge(GenerateTypeMapping(sd->GetGeneric(), it->GetTy()->TyArgs()));
2064 if (auto parent = FindOverriddenMember(member, *sd, typeMapping, condition)) {2064 if (auto parent = FindOverriddenMember(member, *sd, typeMapping, condition)) {
2065 return parent;2065 return parent;
2066 }2066 }
@@ -2095,7 +2095,7 @@ std::vector<Ptr<Decl>> SymbolCollector::FindImplMemberFromInterface(const Decl &
2095 continue;2095 continue;
2096 }2096 }
2097 auto currentMapping =2097 auto currentMapping =
2098- GenerateTypeMapping(interfaceDecl->GetGeneric(), it->GetTy()->typeArgs);2098+ GenerateTypeMapping(interfaceDecl->GetGeneric(), it->GetTy()->TyArgs());
2099 currentMapping.insert(mapping.begin(), mapping.end());2099 currentMapping.insert(mapping.begin(), mapping.end());
2100 if (auto found =2100 if (auto found =
2101 FindOverriddenMember(member, *interfaceDecl, currentMapping, condition)) {2101 FindOverriddenMember(member, *interfaceDecl, currentMapping, condition)) {
@@ -71,7 +71,7 @@ public:
71 astMap = std::move(arkAstMap);71 astMap = std::move(arkAstMap);
72 }72 }
73 73 
74- SymbolID GetPrimaryTypeSymbolId(const Ptr<Ty> ty)74+ SymbolID GetPrimaryTypeSymbolId(const DataTy ty)
75 {75 {
76 if (!ty || !ty->IsPrimitive()) {76 if (!ty || !ty->IsPrimitive()) {
77 return INVALID_SYMBOL_ID;77 return INVALID_SYMBOL_ID;
@@ -739,7 +739,7 @@ namespace test::common {
739 // 3 times739 // 3 times
740 const int maxRetries = 3;740 const int maxRetries = 3;
741 // 3 min timeout741 // 3 min timeout
742- const int timeout = 1 * 180;742+ const int timeout = 1 * 1800000;
743 bool success = false;743 bool success = false;
744 744 
745 while (retryCount < maxRetries && !success) {745 while (retryCount < maxRetries && !success) {
@@ -1 +1 @@
1-{"id":6,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public static let Max: Int64","documentation":"","filterText":"Max","insertText":"Max","insertTextFormat":1,"kind":6,"label":"Max","sortText":""},{"deprecated":false,"detail":"public static let Min: Int64","documentation":"","filterText":"Min","insertText":"Min","insertTextFormat":1,"kind":6,"label":"Min","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Arbitrary<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"arbitrary","insertText":"arbitrary(${1:random: RandomSource})","insertTextFormat":2,"kind":2,"label":"arbitrary(random: RandomSource)","sortText":""},{"additionalTextEdits":[{"newText":"import std.math.MaxMinValue<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.math","documentation":"","filterText":"getMax","insertText":"getMax()","insertTextFormat":1,"kind":2,"label":"getMax()","sortText":""},{"additionalTextEdits":[{"newText":"import std.math.MaxMinValue<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.math","documentation":"","filterText":"getMin","insertText":"getMin()","insertTextFormat":1,"kind":2,"label":"getMin()","sortText":""},{"additionalTextEdits":[{"newText":"import std.math.Integer<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.math","documentation":"","filterText":"isSigned","insertText":"isSigned()","insertTextFormat":1,"kind":2,"label":"isSigned()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.ArbitraryRange<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"max","insertText":"max()","insertTextFormat":1,"kind":2,"label":"max()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.ArbitraryRange<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"min","insertText":"min()","insertTextFormat":1,"kind":2,"label":"min()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"parse","insertText":"parse","insertTextFormat":1,"kind":2,"label":"parse","sortText":""},{"deprecated":false,"detail":"public static func parse(data: String): Int64","documentation":"","filterText":"parse","insertText":"parse(${1:data: String})","insertTextFormat":2,"kind":2,"label":"parse(data: String)","sortText":""},{"deprecated":false,"detail":"public static func parse(value: String, radix!: Int64): Int64","documentation":"","filterText":"parse","insertText":"parse(${1:value: String}, radix: ${2:Int64})","insertTextFormat":2,"kind":2,"label":"parse(value: String, radix!: Int64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.BigEndianOrder<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"readBigEndian","insertText":"readBigEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"readBigEndian(buffer: Array<Byte>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.LittleEndianOrder<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"readLittleEndian","insertText":"readLittleEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"readLittleEndian(buffer: Array<Byte>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"tryParse","insertText":"tryParse","insertTextFormat":1,"kind":2,"label":"tryParse","sortText":""},{"deprecated":false,"detail":"public static func tryParse(data: String): Option<Int64>","documentation":"","filterText":"tryParse","insertText":"tryParse(${1:data: String})","insertTextFormat":2,"kind":2,"label":"tryParse(data: String)","sortText":""},{"deprecated":false,"detail":"public static func tryParse(value: String, radix!: Int64): Option<Int64>","documentation":"","filterText":"tryParse","insertText":"tryParse(${1:value: String}, radix: ${2:Int64})","insertTextFormat":2,"kind":2,"label":"tryParse(value: String, radix!: Int64)","sortText":""}]}1+{"id":6,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public static let Max: Int64","documentation":"","filterText":"Max","insertText":"Max","insertTextFormat":1,"kind":6,"label":"Max","sortText":""},{"deprecated":false,"detail":"public static let Min: Int64","documentation":"","filterText":"Min","insertText":"Min","insertTextFormat":1,"kind":6,"label":"Min","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Arbitrary<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"arbitrary","insertText":"arbitrary(${1:random: RandomSource})","insertTextFormat":2,"kind":2,"label":"arbitrary(random: RandomSource)","sortText":""},{"additionalTextEdits":[{"newText":"import std.math.MaxMinValue<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.math","documentation":"","filterText":"getMax","insertText":"getMax()","insertTextFormat":1,"kind":2,"label":"getMax()","sortText":""},{"additionalTextEdits":[{"newText":"import std.math.MaxMinValue<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.math","documentation":"","filterText":"getMin","insertText":"getMin()","insertTextFormat":1,"kind":2,"label":"getMin()","sortText":""},{"additionalTextEdits":[{"newText":"import std.math.Integer<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.math","documentation":"","filterText":"isSigned","insertText":"isSigned()","insertTextFormat":1,"kind":2,"label":"isSigned()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.ArbitraryRange<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"max","insertText":"max()","insertTextFormat":1,"kind":2,"label":"max()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.ArbitraryRange<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"min","insertText":"min()","insertTextFormat":1,"kind":2,"label":"min()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"parse","insertText":"parse","insertTextFormat":1,"kind":2,"label":"parse","sortText":""},{"deprecated":false,"detail":"public static func parse(data: String): Int64","documentation":"","filterText":"parse","insertText":"parse(${1:data: String})","insertTextFormat":2,"kind":2,"label":"parse(data: String)","sortText":""},{"deprecated":false,"detail":"public static func parse(value: String): T","documentation":"","filterText":"parse","insertText":"parse(${1:value: String})","insertTextFormat":2,"kind":2,"label":"parse(value: String)","sortText":""},{"deprecated":false,"detail":"public static func parse(value: String, radix!: Int64): Int64","documentation":"","filterText":"parse","insertText":"parse(${1:value: String}, radix: ${2:Int64})","insertTextFormat":2,"kind":2,"label":"parse(value: String, radix!: Int64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.BigEndianOrder<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"readBigEndian","insertText":"readBigEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"readBigEndian(buffer: Array<Byte>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.LittleEndianOrder<T>\n","range":{"end":{"character":0,"line":9},"start":{"character":0,"line":9}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"readLittleEndian","insertText":"readLittleEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"readLittleEndian(buffer: Array<Byte>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"tryParse","insertText":"tryParse","insertTextFormat":1,"kind":2,"label":"tryParse","sortText":""},{"deprecated":false,"detail":"public static func tryParse(data: String): Option<Int64>","documentation":"","filterText":"tryParse","insertText":"tryParse(${1:data: String})","insertTextFormat":2,"kind":2,"label":"tryParse(data: String)","sortText":""},{"deprecated":false,"detail":"public static func tryParse(value: String, radix!: Int64): Option<Int64>","documentation":"","filterText":"tryParse","insertText":"tryParse(${1:value: String}, radix: ${2:Int64})","insertTextFormat":2,"kind":2,"label":"tryParse(value: String, radix!: Int64)","sortText":""}]}
@@ -1 +1 @@
1-{"id":14,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public interface Any","documentation":"","filterText":"Any","insertText":"Any","insertTextFormat":1,"kind":8,"label":"Any","sortText":""},{"deprecated":false,"detail":"public struct Array<T>","documentation":"","filterText":"Array","insertText":"Array<${1:T}>","insertTextFormat":2,"kind":22,"label":"Array<T>","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>()","insertTextFormat":2,"kind":3,"label":"Array<T>()","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, initElement: (Int64) -> T)","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>(${3:size: Int64}, ${4:initElement: (Int64) -> T})","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64, initElement: (Int64) -> T)","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, repeat!: T)","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>(${3:size: Int64}, repeat: ${4:T})","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64, repeat!: T)","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, initElement: (Int64) -> T)","documentation":"","filterText":"Array<T>","insertText":"Array<T>(${3:size: Int64}) { arg1: Int64 => ${4:T} }","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64) { Int64 => T }","sortText":""},{"deprecated":false,"detail":"public class ArrayIterator<T> <: Iterator<T>","documentation":"","filterText":"ArrayIterator","insertText":"ArrayIterator<${1:T}>","insertTextFormat":2,"kind":7,"label":"ArrayIterator<T>","sortText":""},{"deprecated":false,"detail":"public func init(data: Array<T>)","documentation":"","filterText":"ArrayIterator<T>","insertText":"ArrayIterator<${1:T}>(${3:data: Array<T>})","insertTextFormat":2,"kind":3,"label":"ArrayIterator<T>(data: Array<T>)","sortText":""},{"deprecated":false,"detail":"public type Byte = UInt8","documentation":"","filterText":"Byte","insertText":"Byte","insertTextFormat":1,"kind":7,"label":"Byte","sortText":""},{"deprecated":false,"detail":"public sealed open interface CType","documentation":"","filterText":"CType","insertText":"CType","insertTextFormat":1,"kind":8,"label":"CType","sortText":""},{"deprecated":false,"detail":"public class IllegalMemoryException <: Exception","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException","insertTextFormat":1,"kind":7,"label":"IllegalMemoryException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException()","insertTextFormat":1,"kind":3,"label":"IllegalMemoryException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalMemoryException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class OutOfMemoryError <: Error","documentation":"","filterText":"OutOfMemoryError","insertText":"OutOfMemoryError","insertTextFormat":1,"kind":7,"label":"OutOfMemoryError","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData","insertTextFormat":1,"kind":2,"label":"acquireArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func acquireArrayRawData<T>(arr: Array<T>): CPointerHandle<T>","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData<${1:T}>(${3:arr: Array<T>})","insertTextFormat":2,"kind":2,"label":"acquireArrayRawData<T>(arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"let howManyHours: Int64 = match (r1) {\n case Year => 365 * 24\n case Month => 30 * 24\n case Day => 24\n case Hour1 => 1\n}","documentation":"","filterText":"howManyHours","insertText":"howManyHours","insertTextFormat":1,"kind":6,"label":"howManyHours","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData","insertTextFormat":1,"kind":2,"label":"releaseArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func releaseArrayRawData<T>(handle: CPointerHandle<T>): Unit","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData<${1:T}>(${3:handle: CPointerHandle<T>})","insertTextFormat":2,"kind":2,"label":"releaseArrayRawData<T>(handle: CPointerHandle<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"VArray","insertText":"VArray","insertTextFormat":1,"kind":14,"label":"VArray","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"type","insertText":"type","insertTextFormat":1,"kind":14,"label":"type","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"try","insertText":"try","insertTextFormat":1,"kind":14,"label":"try","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"finally","insertText":"finally","insertTextFormat":1,"kind":14,"label":"finally","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"try {}","documentation":"","filterText":"try","insertText":"try {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"try {}","sortText":""},{"deprecated":false,"detail":"finally {}","documentation":"","filterText":"finally","insertText":"finally {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"finally {}","sortText":""},{"deprecated":false,"detail":"type newName = originalName","documentation":"","filterText":"type","insertText":"type ${1:newName} = ${0:originalName}","insertTextFormat":2,"kind":14,"label":"type newName = originalName","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(${0:initElement: (Int64) -> T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(repeat!: T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(repeat: ${0:T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(repeat!: T)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ArrayList\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"ArrayList","insertText":"ArrayList<${1:T}>","insertTextFormat":2,"kind":7,"label":"ArrayList<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.ConfigurationKey\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"ConfigurationKey","insertText":"ConfigurationKey","insertTextFormat":1,"kind":7,"label":"ConfigurationKey","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataStrategy\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataStrategy","insertText":"DataStrategy<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataStrategy<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyFor\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyFor","insertText":"KeyFor<${1:T}>","insertTextFormat":2,"kind":8,"label":"KeyFor<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyTags\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyTags","insertText":"KeyTags","insertTextFormat":1,"kind":22,"label":"KeyTags","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.Arbitrary\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"Arbitrary","insertText":"Arbitrary<${1:T}>","insertTextFormat":2,"kind":8,"label":"Arbitrary<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyRandom\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyRandom","insertText":"KeyRandom","insertTextFormat":1,"kind":22,"label":"KeyRandom","sortText":""}]}1+{"id":14,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public interface Any","documentation":"","filterText":"Any","insertText":"Any","insertTextFormat":1,"kind":8,"label":"Any","sortText":""},{"deprecated":false,"detail":"public struct Array<T>","documentation":"","filterText":"Array","insertText":"Array<${1:T}>","insertTextFormat":2,"kind":22,"label":"Array<T>","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>()","insertTextFormat":2,"kind":3,"label":"Array<T>()","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, initElement: (Int64) -> T)","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>(${3:size: Int64}, ${4:initElement: (Int64) -> T})","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64, initElement: (Int64) -> T)","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, repeat!: T)","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>(${3:size: Int64}, repeat: ${4:T})","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64, repeat!: T)","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, initElement: (Int64) -> T)","documentation":"","filterText":"Array<T>","insertText":"Array<T>(${3:size: Int64}) { arg1: Int64 => ${4:T} }","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64) { Int64 => T }","sortText":""},{"deprecated":false,"detail":"public class ArrayIterator<T> <: Iterator<T>","documentation":"","filterText":"ArrayIterator","insertText":"ArrayIterator<${1:T}>","insertTextFormat":2,"kind":7,"label":"ArrayIterator<T>","sortText":""},{"deprecated":false,"detail":"public func init(data: Array<T>)","documentation":"","filterText":"ArrayIterator<T>","insertText":"ArrayIterator<${1:T}>(${3:data: Array<T>})","insertTextFormat":2,"kind":3,"label":"ArrayIterator<T>(data: Array<T>)","sortText":""},{"deprecated":false,"detail":"public type Byte = UInt8","documentation":"","filterText":"Byte","insertText":"Byte","insertTextFormat":1,"kind":7,"label":"Byte","sortText":""},{"deprecated":false,"detail":"public sealed open interface CType","documentation":"","filterText":"CType","insertText":"CType","insertTextFormat":1,"kind":8,"label":"CType","sortText":""},{"deprecated":false,"detail":"public sealed open interface Copyable","documentation":"","filterText":"Copyable","insertText":"Copyable","insertTextFormat":1,"kind":8,"label":"Copyable","sortText":""},{"deprecated":false,"detail":"public class IllegalMemoryException <: Exception","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException","insertTextFormat":1,"kind":7,"label":"IllegalMemoryException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException()","insertTextFormat":1,"kind":3,"label":"IllegalMemoryException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalMemoryException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class OutOfMemoryError <: Error","documentation":"","filterText":"OutOfMemoryError","insertText":"OutOfMemoryError","insertTextFormat":1,"kind":7,"label":"OutOfMemoryError","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData","insertTextFormat":1,"kind":2,"label":"acquireArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func acquireArrayRawData<T>(arr: Array<T>): CPointerHandle<T>","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData<${1:T}>(${3:arr: Array<T>})","insertTextFormat":2,"kind":2,"label":"acquireArrayRawData<T>(arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"let howManyHours: Int64 = match (r1) {\n case Year => 365 * 24\n case Month => 30 * 24\n case Day => 24\n case Hour1 => 1\n}","documentation":"","filterText":"howManyHours","insertText":"howManyHours","insertTextFormat":1,"kind":6,"label":"howManyHours","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData","insertTextFormat":1,"kind":2,"label":"releaseArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func releaseArrayRawData<T>(handle: CPointerHandle<T>): Unit","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData<${1:T}>(${3:handle: CPointerHandle<T>})","insertTextFormat":2,"kind":2,"label":"releaseArrayRawData<T>(handle: CPointerHandle<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"VArray","insertText":"VArray","insertTextFormat":1,"kind":14,"label":"VArray","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"type","insertText":"type","insertTextFormat":1,"kind":14,"label":"type","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"try","insertText":"try","insertTextFormat":1,"kind":14,"label":"try","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"finally","insertText":"finally","insertTextFormat":1,"kind":14,"label":"finally","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"try {}","documentation":"","filterText":"try","insertText":"try {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"try {}","sortText":""},{"deprecated":false,"detail":"finally {}","documentation":"","filterText":"finally","insertText":"finally {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"finally {}","sortText":""},{"deprecated":false,"detail":"type newName = originalName","documentation":"","filterText":"type","insertText":"type ${1:newName} = ${0:originalName}","insertTextFormat":2,"kind":14,"label":"type newName = originalName","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(${0:initElement: (Int64) -> T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(repeat!: T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(repeat: ${0:T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(repeat!: T)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ArrayList\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"ArrayList","insertText":"ArrayList<${1:T}>","insertTextFormat":2,"kind":7,"label":"ArrayList<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.ConfigurationKey\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"ConfigurationKey","insertText":"ConfigurationKey","insertTextFormat":1,"kind":7,"label":"ConfigurationKey","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataStrategy\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataStrategy","insertText":"DataStrategy<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataStrategy<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyFor\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyFor","insertText":"KeyFor<${1:T}>","insertTextFormat":2,"kind":8,"label":"KeyFor<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyTags\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyTags","insertText":"KeyTags","insertTextFormat":1,"kind":22,"label":"KeyTags","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.Arbitrary\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"Arbitrary","insertText":"Arbitrary<${1:T}>","insertTextFormat":2,"kind":8,"label":"Arbitrary<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyRandom\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyRandom","insertText":"KeyRandom","insertTextFormat":1,"kind":22,"label":"KeyRandom","sortText":""}]}
@@ -1 +1 @@
1-{"id":10,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"","documentation":"","filterText":"clone","insertText":"clone","insertTextFormat":1,"kind":2,"label":"clone","sortText":""},{"deprecated":false,"detail":"public func clone(): String","documentation":"","filterText":"clone","insertText":"clone()","insertTextFormat":1,"kind":2,"label":"clone()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public abstract func compare(other: T): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:other: T})","insertTextFormat":2,"kind":2,"label":"compare(other: T)","sortText":""},{"deprecated":false,"detail":"public func compare(str: String): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:str: String})","insertTextFormat":2,"kind":2,"label":"compare(str: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"contains","insertText":"contains","insertTextFormat":1,"kind":2,"label":"contains","sortText":""},{"deprecated":false,"detail":"public func contains(str: String): Bool","documentation":"","filterText":"contains","insertText":"contains(${1:str: String})","insertTextFormat":2,"kind":2,"label":"contains(str: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"count","insertText":"count","insertTextFormat":1,"kind":2,"label":"count","sortText":""},{"deprecated":false,"detail":"public func count(str: String): Int64","documentation":"","filterText":"count","insertText":"count(${1:str: String})","insertTextFormat":2,"kind":2,"label":"count(str: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"endsWith","insertText":"endsWith","insertTextFormat":1,"kind":2,"label":"endsWith","sortText":""},{"deprecated":false,"detail":"public func endsWith(suffix: String): Bool","documentation":"","filterText":"endsWith","insertText":"endsWith(${1:suffix: String})","insertTextFormat":2,"kind":2,"label":"endsWith(suffix: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"equalsIgnoreAsciiCase","insertText":"equalsIgnoreAsciiCase","insertTextFormat":1,"kind":2,"label":"equalsIgnoreAsciiCase","sortText":""},{"deprecated":false,"detail":"public func equalsIgnoreAsciiCase(other: String): Bool","documentation":"","filterText":"equalsIgnoreAsciiCase","insertText":"equalsIgnoreAsciiCase(${1:other: String})","insertTextFormat":2,"kind":2,"label":"equalsIgnoreAsciiCase(other: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"get","insertText":"get","insertTextFormat":1,"kind":2,"label":"get","sortText":""},{"deprecated":false,"detail":"public func get(index: Int64): Option<Byte>","documentation":"","filterText":"get","insertText":"get(${1:index: Int64})","insertTextFormat":2,"kind":2,"label":"get(index: Int64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.diff.AssertPrintable<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unittest.diff","documentation":"","filterText":"hasNestedDiff","insertText":"hasNestedDiff","insertTextFormat":1,"kind":0,"label":"hasNestedDiff","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"indexOf","insertText":"indexOf","insertTextFormat":1,"kind":2,"label":"indexOf","sortText":""},{"deprecated":false,"detail":"public func indexOf(b: Byte): Option<Int64>","documentation":"","filterText":"indexOf","insertText":"indexOf(${1:b: Byte})","insertTextFormat":2,"kind":2,"label":"indexOf(b: Byte)","sortText":""},{"deprecated":false,"detail":"public func indexOf(b: Byte, fromIndex: Int64): Option<Int64>","documentation":"","filterText":"indexOf","insertText":"indexOf(${1:b: Byte}, ${2:fromIndex: Int64})","insertTextFormat":2,"kind":2,"label":"indexOf(b: Byte, fromIndex: Int64)","sortText":""},{"deprecated":false,"detail":"public func indexOf(str: String): Option<Int64>","documentation":"","filterText":"indexOf","insertText":"indexOf(${1:str: String})","insertTextFormat":2,"kind":2,"label":"indexOf(str: String)","sortText":""},{"deprecated":false,"detail":"public func indexOf(str: String, fromIndex: Int64): Option<Int64>","documentation":"","filterText":"indexOf","insertText":"indexOf(${1:str: String}, ${2:fromIndex: Int64})","insertTextFormat":2,"kind":2,"label":"indexOf(str: String, fromIndex: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAscii","insertText":"isAscii","insertTextFormat":1,"kind":2,"label":"isAscii","sortText":""},{"deprecated":false,"detail":"public func isAscii(): Bool","documentation":"","filterText":"isAscii","insertText":"isAscii()","insertTextFormat":1,"kind":2,"label":"isAscii()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiBlank","insertText":"isAsciiBlank","insertTextFormat":1,"kind":2,"label":"isAsciiBlank","sortText":""},{"deprecated":false,"detail":"public func isAsciiBlank(): Bool","documentation":"","filterText":"isAsciiBlank","insertText":"isAsciiBlank()","insertTextFormat":1,"kind":2,"label":"isAsciiBlank()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isBlank","insertText":"isBlank()","insertTextFormat":1,"kind":2,"label":"isBlank()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isEmpty","insertText":"isEmpty","insertTextFormat":1,"kind":2,"label":"isEmpty","sortText":""},{"deprecated":false,"detail":"public func isEmpty(): Bool","documentation":"","filterText":"isEmpty","insertText":"isEmpty()","insertTextFormat":1,"kind":2,"label":"isEmpty()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"iterator","insertText":"iterator","insertTextFormat":1,"kind":2,"label":"iterator","sortText":""},{"deprecated":false,"detail":"public func iterator(): Iterator<Byte>","documentation":"","filterText":"iterator","insertText":"iterator()","insertTextFormat":1,"kind":2,"label":"iterator()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"lastIndexOf","insertText":"lastIndexOf","insertTextFormat":1,"kind":2,"label":"lastIndexOf","sortText":""},{"deprecated":false,"detail":"public func lastIndexOf(b: Byte): Option<Int64>","documentation":"","filterText":"lastIndexOf","insertText":"lastIndexOf(${1:b: Byte})","insertTextFormat":2,"kind":2,"label":"lastIndexOf(b: Byte)","sortText":""},{"deprecated":false,"detail":"public func lastIndexOf(b: Byte, fromIndex: Int64): Option<Int64>","documentation":"","filterText":"lastIndexOf","insertText":"lastIndexOf(${1:b: Byte}, ${2:fromIndex: Int64})","insertTextFormat":2,"kind":2,"label":"lastIndexOf(b: Byte, fromIndex: Int64)","sortText":""},{"deprecated":false,"detail":"public func lastIndexOf(str: String): Option<Int64>","documentation":"","filterText":"lastIndexOf","insertText":"lastIndexOf(${1:str: String})","insertTextFormat":2,"kind":2,"label":"lastIndexOf(str: String)","sortText":""},{"deprecated":false,"detail":"public func lastIndexOf(str: String, fromIndex: Int64): Option<Int64>","documentation":"","filterText":"lastIndexOf","insertText":"lastIndexOf(${1:str: String}, ${2:fromIndex: Int64})","insertTextFormat":2,"kind":2,"label":"lastIndexOf(str: String, fromIndex: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"lazySplit","insertText":"lazySplit","insertTextFormat":1,"kind":2,"label":"lazySplit","sortText":""},{"deprecated":false,"detail":"public func lazySplit(str: String, maxSplits: Int64, removeEmpty!: Bool = false): Iterator<String>","documentation":"","filterText":"lazySplit","insertText":"lazySplit(${1:str: String}, ${2:maxSplits: Int64}, removeEmpty: ${3:Bool = false})","insertTextFormat":2,"kind":2,"label":"lazySplit(str: String, maxSplits: Int64, removeEmpty!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func lazySplit(str: String, removeEmpty!: Bool = false): Iterator<String>","documentation":"","filterText":"lazySplit","insertText":"lazySplit(${1:str: String}, removeEmpty: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"lazySplit(str: String, removeEmpty!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"lines","insertText":"lines","insertTextFormat":1,"kind":2,"label":"lines","sortText":""},{"deprecated":false,"detail":"public func lines(): Iterator<String>","documentation":"","filterText":"lines","insertText":"lines()","insertTextFormat":1,"kind":2,"label":"lines()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"padEnd","insertText":"padEnd","insertTextFormat":1,"kind":2,"label":"padEnd","sortText":""},{"deprecated":false,"detail":"public func padEnd(totalWidth: Int64, padding!: String = \" \"): String","documentation":"","filterText":"padEnd","insertText":"padEnd(${1:totalWidth: Int64}, padding: ${2:String = \" \"})","insertTextFormat":2,"kind":2,"label":"padEnd(totalWidth: Int64, padding!: String = \" \")","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"padStart","insertText":"padStart","insertTextFormat":1,"kind":2,"label":"padStart","sortText":""},{"deprecated":false,"detail":"public func padStart(totalWidth: Int64, padding!: String = \" \"): String","documentation":"","filterText":"padStart","insertText":"padStart(${1:totalWidth: Int64}, padding: ${2:String = \" \"})","insertTextFormat":2,"kind":2,"label":"padStart(totalWidth: Int64, padding!: String = \" \")","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"rawData","insertText":"rawData","insertTextFormat":1,"kind":2,"label":"rawData","sortText":""},{"deprecated":false,"detail":"public unsafe func rawData(): Array<Byte>","documentation":"","filterText":"rawData","insertText":"rawData()","insertTextFormat":1,"kind":2,"label":"rawData()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"removePrefix","insertText":"removePrefix","insertTextFormat":1,"kind":2,"label":"removePrefix","sortText":""},{"deprecated":false,"detail":"public func removePrefix(prefix: String): String","documentation":"","filterText":"removePrefix","insertText":"removePrefix(${1:prefix: String})","insertTextFormat":2,"kind":2,"label":"removePrefix(prefix: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"removeSuffix","insertText":"removeSuffix","insertTextFormat":1,"kind":2,"label":"removeSuffix","sortText":""},{"deprecated":false,"detail":"public func removeSuffix(suffix: String): String","documentation":"","filterText":"removeSuffix","insertText":"removeSuffix(${1:suffix: String})","insertTextFormat":2,"kind":2,"label":"removeSuffix(suffix: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"replace","insertText":"replace","insertTextFormat":1,"kind":2,"label":"replace","sortText":""},{"deprecated":false,"detail":"public func replace(old: String, new: String): String","documentation":"","filterText":"replace","insertText":"replace(${1:old: String}, ${2:new: String})","insertTextFormat":2,"kind":2,"label":"replace(old: String, new: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"runes","insertText":"runes","insertTextFormat":1,"kind":2,"label":"runes","sortText":""},{"deprecated":false,"detail":"public func runes(): Iterator<Rune>","documentation":"","filterText":"runes","insertText":"runes()","insertTextFormat":1,"kind":2,"label":"runes()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"deprecated":false,"detail":"public let size: Int64","documentation":"","filterText":"size","insertText":"size","insertTextFormat":1,"kind":6,"label":"size","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"split","insertText":"split","insertTextFormat":1,"kind":2,"label":"split","sortText":""},{"deprecated":false,"detail":"public func split(str: String, maxSplits: Int64, removeEmpty!: Bool = false): Array<String>","documentation":"","filterText":"split","insertText":"split(${1:str: String}, ${2:maxSplits: Int64}, removeEmpty: ${3:Bool = false})","insertTextFormat":2,"kind":2,"label":"split(str: String, maxSplits: Int64, removeEmpty!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func split(str: String, removeEmpty!: Bool = false): Array<String>","documentation":"","filterText":"split","insertText":"split(${1:str: String}, removeEmpty: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"split(str: String, removeEmpty!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"startsWith","insertText":"startsWith","insertTextFormat":1,"kind":2,"label":"startsWith","sortText":""},{"deprecated":false,"detail":"public func startsWith(prefix: String): Bool","documentation":"","filterText":"startsWith","insertText":"startsWith(${1:prefix: String})","insertTextFormat":2,"kind":2,"label":"startsWith(prefix: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toArray","insertText":"toArray","insertTextFormat":1,"kind":2,"label":"toArray","sortText":""},{"deprecated":false,"detail":"public func toArray(): Array<Byte>","documentation":"","filterText":"toArray","insertText":"toArray()","insertTextFormat":1,"kind":2,"label":"toArray()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toAsciiLower","insertText":"toAsciiLower","insertTextFormat":1,"kind":2,"label":"toAsciiLower","sortText":""},{"deprecated":false,"detail":"public func toAsciiLower(): String","documentation":"","filterText":"toAsciiLower","insertText":"toAsciiLower()","insertTextFormat":1,"kind":2,"label":"toAsciiLower()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toAsciiTitle","insertText":"toAsciiTitle","insertTextFormat":1,"kind":2,"label":"toAsciiTitle","sortText":""},{"deprecated":false,"detail":"public func toAsciiTitle(): String","documentation":"","filterText":"toAsciiTitle","insertText":"toAsciiTitle()","insertTextFormat":1,"kind":2,"label":"toAsciiTitle()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toAsciiUpper","insertText":"toAsciiUpper","insertTextFormat":1,"kind":2,"label":"toAsciiUpper","sortText":""},{"deprecated":false,"detail":"public func toAsciiUpper(): String","documentation":"","filterText":"toAsciiUpper","insertText":"toAsciiUpper()","insertTextFormat":1,"kind":2,"label":"toAsciiUpper()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toLower","insertText":"toLower()","insertTextFormat":1,"kind":2,"label":"toLower()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toLower","insertText":"toLower(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toLower(opt: CasingOption)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toRuneArray","insertText":"toRuneArray","insertTextFormat":1,"kind":2,"label":"toRuneArray","sortText":""},{"deprecated":false,"detail":"public func toRuneArray(): Array<Rune>","documentation":"","filterText":"toRuneArray","insertText":"toRuneArray()","insertTextFormat":1,"kind":2,"label":"toRuneArray()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toTitle","insertText":"toTitle()","insertTextFormat":1,"kind":2,"label":"toTitle()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toTitle","insertText":"toTitle(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toTitle(opt: CasingOption)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toUpper","insertText":"toUpper()","insertTextFormat":1,"kind":2,"label":"toUpper()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toUpper","insertText":"toUpper(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toUpper(opt: CasingOption)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"trim","insertText":"trim()","insertTextFormat":1,"kind":2,"label":"trim()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"trimAscii","insertText":"trimAscii","insertTextFormat":1,"kind":2,"label":"trimAscii","sortText":""},{"deprecated":false,"detail":"public func trimAscii(): String","documentation":"","filterText":"trimAscii","insertText":"trimAscii()","insertTextFormat":1,"kind":2,"label":"trimAscii()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"trimAsciiEnd","insertText":"trimAsciiEnd","insertTextFormat":1,"kind":2,"label":"trimAsciiEnd","sortText":""},{"deprecated":false,"detail":"public func trimAsciiEnd(): String","documentation":"","filterText":"trimAsciiEnd","insertText":"trimAsciiEnd()","insertTextFormat":1,"kind":2,"label":"trimAsciiEnd()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"trimAsciiStart","insertText":"trimAsciiStart","insertTextFormat":1,"kind":2,"label":"trimAsciiStart","sortText":""},{"deprecated":false,"detail":"public func trimAsciiStart(): String","documentation":"","filterText":"trimAsciiStart","insertText":"trimAsciiStart()","insertTextFormat":1,"kind":2,"label":"trimAsciiStart()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"trimEnd","insertText":"trimEnd","insertTextFormat":1,"kind":2,"label":"trimEnd","sortText":""},{"deprecated":false,"detail":"public func trimEnd(predicate: (Rune) -> Bool): String","documentation":"","filterText":"trimEnd","insertText":"trimEnd { arg1: Rune => ${1:Bool} }","insertTextFormat":2,"kind":2,"label":"trimEnd { Rune => Bool }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"trimEnd","insertText":"trimEnd()","insertTextFormat":1,"kind":2,"label":"trimEnd()","sortText":""},{"deprecated":false,"detail":"public func trimEnd(predicate: (Rune) -> Bool): String","documentation":"","filterText":"trimEnd","insertText":"trimEnd(${1:predicate: (Rune) -> Bool})","insertTextFormat":2,"kind":2,"label":"trimEnd(predicate: (Rune) -> Bool)","sortText":""},{"deprecated":false,"detail":"public func trimEnd(set: Array<Rune>): String","documentation":"","filterText":"trimEnd","insertText":"trimEnd(${1:set: Array<Rune>})","insertTextFormat":2,"kind":2,"label":"trimEnd(set: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"public func trimEnd(set: String): String","documentation":"","filterText":"trimEnd","insertText":"trimEnd(${1:set: String})","insertTextFormat":2,"kind":2,"label":"trimEnd(set: String)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":true,"detail":"import std.unicode","documentation":"","filterText":"trimLeft","insertText":"trimLeft()","insertTextFormat":1,"kind":2,"label":"trimLeft()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":true,"detail":"import std.unicode","documentation":"","filterText":"trimRight","insertText":"trimRight()","insertTextFormat":1,"kind":2,"label":"trimRight()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"trimStart","insertText":"trimStart","insertTextFormat":1,"kind":2,"label":"trimStart","sortText":""},{"deprecated":false,"detail":"public func trimStart(predicate: (Rune) -> Bool): String","documentation":"","filterText":"trimStart","insertText":"trimStart { arg1: Rune => ${1:Bool} }","insertTextFormat":2,"kind":2,"label":"trimStart { Rune => Bool }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"trimStart","insertText":"trimStart()","insertTextFormat":1,"kind":2,"label":"trimStart()","sortText":""},{"deprecated":false,"detail":"public func trimStart(predicate: (Rune) -> Bool): String","documentation":"","filterText":"trimStart","insertText":"trimStart(${1:predicate: (Rune) -> Bool})","insertTextFormat":2,"kind":2,"label":"trimStart(predicate: (Rune) -> Bool)","sortText":""},{"deprecated":false,"detail":"public func trimStart(set: Array<Rune>): String","documentation":"","filterText":"trimStart","insertText":"trimStart(${1:set: Array<Rune>})","insertTextFormat":2,"kind":2,"label":"trimStart(set: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"public func trimStart(set: String): String","documentation":"","filterText":"trimStart","insertText":"trimStart(${1:set: String})","insertTextFormat":2,"kind":2,"label":"trimStart(set: String)","sortText":""}]}1+{"id":10,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"","documentation":"","filterText":"clone","insertText":"clone","insertTextFormat":1,"kind":2,"label":"clone","sortText":""},{"deprecated":false,"detail":"public func clone(): String","documentation":"","filterText":"clone","insertText":"clone()","insertTextFormat":1,"kind":2,"label":"clone()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public abstract func compare(other: T): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:other: T})","insertTextFormat":2,"kind":2,"label":"compare(other: T)","sortText":""},{"deprecated":false,"detail":"public func compare(str: String): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:str: String})","insertTextFormat":2,"kind":2,"label":"compare(str: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"contains","insertText":"contains","insertTextFormat":1,"kind":2,"label":"contains","sortText":""},{"deprecated":false,"detail":"public func contains(str: String): Bool","documentation":"","filterText":"contains","insertText":"contains(${1:str: String})","insertTextFormat":2,"kind":2,"label":"contains(str: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"count","insertText":"count","insertTextFormat":1,"kind":2,"label":"count","sortText":""},{"deprecated":false,"detail":"public func count(str: String): Int64","documentation":"","filterText":"count","insertText":"count(${1:str: String})","insertTextFormat":2,"kind":2,"label":"count(str: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"endsWith","insertText":"endsWith","insertTextFormat":1,"kind":2,"label":"endsWith","sortText":""},{"deprecated":false,"detail":"public func endsWith(suffix: String): Bool","documentation":"","filterText":"endsWith","insertText":"endsWith(${1:suffix: String})","insertTextFormat":2,"kind":2,"label":"endsWith(suffix: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"equalsIgnoreAsciiCase","insertText":"equalsIgnoreAsciiCase","insertTextFormat":1,"kind":2,"label":"equalsIgnoreAsciiCase","sortText":""},{"deprecated":false,"detail":"public func equalsIgnoreAsciiCase(other: String): Bool","documentation":"","filterText":"equalsIgnoreAsciiCase","insertText":"equalsIgnoreAsciiCase(${1:other: String})","insertTextFormat":2,"kind":2,"label":"equalsIgnoreAsciiCase(other: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"get","insertText":"get","insertTextFormat":1,"kind":2,"label":"get","sortText":""},{"deprecated":false,"detail":"public func get(index: Int64): Option<Byte>","documentation":"","filterText":"get","insertText":"get(${1:index: Int64})","insertTextFormat":2,"kind":2,"label":"get(index: Int64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.diff.AssertPrintable<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unittest.diff","documentation":"","filterText":"hasNestedDiff","insertText":"hasNestedDiff","insertTextFormat":1,"kind":0,"label":"hasNestedDiff","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"indexOf","insertText":"indexOf","insertTextFormat":1,"kind":2,"label":"indexOf","sortText":""},{"deprecated":false,"detail":"public func indexOf(b: Byte): Option<Int64>","documentation":"","filterText":"indexOf","insertText":"indexOf(${1:b: Byte})","insertTextFormat":2,"kind":2,"label":"indexOf(b: Byte)","sortText":""},{"deprecated":false,"detail":"public func indexOf(b: Byte, fromIndex: Int64): Option<Int64>","documentation":"","filterText":"indexOf","insertText":"indexOf(${1:b: Byte}, ${2:fromIndex: Int64})","insertTextFormat":2,"kind":2,"label":"indexOf(b: Byte, fromIndex: Int64)","sortText":""},{"deprecated":false,"detail":"public func indexOf(str: String): Option<Int64>","documentation":"","filterText":"indexOf","insertText":"indexOf(${1:str: String})","insertTextFormat":2,"kind":2,"label":"indexOf(str: String)","sortText":""},{"deprecated":false,"detail":"public func indexOf(str: String, fromIndex: Int64): Option<Int64>","documentation":"","filterText":"indexOf","insertText":"indexOf(${1:str: String}, ${2:fromIndex: Int64})","insertTextFormat":2,"kind":2,"label":"indexOf(str: String, fromIndex: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAscii","insertText":"isAscii","insertTextFormat":1,"kind":2,"label":"isAscii","sortText":""},{"deprecated":false,"detail":"public func isAscii(): Bool","documentation":"","filterText":"isAscii","insertText":"isAscii()","insertTextFormat":1,"kind":2,"label":"isAscii()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiBlank","insertText":"isAsciiBlank","insertTextFormat":1,"kind":2,"label":"isAsciiBlank","sortText":""},{"deprecated":false,"detail":"public func isAsciiBlank(): Bool","documentation":"","filterText":"isAsciiBlank","insertText":"isAsciiBlank()","insertTextFormat":1,"kind":2,"label":"isAsciiBlank()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isBlank","insertText":"isBlank()","insertTextFormat":1,"kind":2,"label":"isBlank()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isEmpty","insertText":"isEmpty","insertTextFormat":1,"kind":2,"label":"isEmpty","sortText":""},{"deprecated":false,"detail":"public func isEmpty(): Bool","documentation":"","filterText":"isEmpty","insertText":"isEmpty()","insertTextFormat":1,"kind":2,"label":"isEmpty()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"iterator","insertText":"iterator","insertTextFormat":1,"kind":2,"label":"iterator","sortText":""},{"deprecated":false,"detail":"public func iterator(): Iterator<Byte>","documentation":"","filterText":"iterator","insertText":"iterator()","insertTextFormat":1,"kind":2,"label":"iterator()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"lastIndexOf","insertText":"lastIndexOf","insertTextFormat":1,"kind":2,"label":"lastIndexOf","sortText":""},{"deprecated":false,"detail":"public func lastIndexOf(b: Byte): Option<Int64>","documentation":"","filterText":"lastIndexOf","insertText":"lastIndexOf(${1:b: Byte})","insertTextFormat":2,"kind":2,"label":"lastIndexOf(b: Byte)","sortText":""},{"deprecated":false,"detail":"public func lastIndexOf(b: Byte, fromIndex: Int64): Option<Int64>","documentation":"","filterText":"lastIndexOf","insertText":"lastIndexOf(${1:b: Byte}, ${2:fromIndex: Int64})","insertTextFormat":2,"kind":2,"label":"lastIndexOf(b: Byte, fromIndex: Int64)","sortText":""},{"deprecated":false,"detail":"public func lastIndexOf(str: String): Option<Int64>","documentation":"","filterText":"lastIndexOf","insertText":"lastIndexOf(${1:str: String})","insertTextFormat":2,"kind":2,"label":"lastIndexOf(str: String)","sortText":""},{"deprecated":false,"detail":"public func lastIndexOf(str: String, fromIndex: Int64): Option<Int64>","documentation":"","filterText":"lastIndexOf","insertText":"lastIndexOf(${1:str: String}, ${2:fromIndex: Int64})","insertTextFormat":2,"kind":2,"label":"lastIndexOf(str: String, fromIndex: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"lazySplit","insertText":"lazySplit","insertTextFormat":1,"kind":2,"label":"lazySplit","sortText":""},{"deprecated":false,"detail":"public func lazySplit(str: String, maxSplits: Int64, removeEmpty!: Bool = false): Iterator<String>","documentation":"","filterText":"lazySplit","insertText":"lazySplit(${1:str: String}, ${2:maxSplits: Int64}, removeEmpty: ${3:Bool = false})","insertTextFormat":2,"kind":2,"label":"lazySplit(str: String, maxSplits: Int64, removeEmpty!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func lazySplit(str: String, removeEmpty!: Bool = false): Iterator<String>","documentation":"","filterText":"lazySplit","insertText":"lazySplit(${1:str: String}, removeEmpty: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"lazySplit(str: String, removeEmpty!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"lines","insertText":"lines","insertTextFormat":1,"kind":2,"label":"lines","sortText":""},{"deprecated":false,"detail":"public func lines(): Iterator<String>","documentation":"","filterText":"lines","insertText":"lines()","insertTextFormat":1,"kind":2,"label":"lines()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"padEnd","insertText":"padEnd","insertTextFormat":1,"kind":2,"label":"padEnd","sortText":""},{"deprecated":false,"detail":"public func padEnd(totalWidth: Int64, padding!: String = \" \"): String","documentation":"","filterText":"padEnd","insertText":"padEnd(${1:totalWidth: Int64}, padding: ${2:String = \" \"})","insertTextFormat":2,"kind":2,"label":"padEnd(totalWidth: Int64, padding!: String = \" \")","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"padStart","insertText":"padStart","insertTextFormat":1,"kind":2,"label":"padStart","sortText":""},{"deprecated":false,"detail":"public func padStart(totalWidth: Int64, padding!: String = \" \"): String","documentation":"","filterText":"padStart","insertText":"padStart(${1:totalWidth: Int64}, padding: ${2:String = \" \"})","insertTextFormat":2,"kind":2,"label":"padStart(totalWidth: Int64, padding!: String = \" \")","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"rawData","insertText":"rawData","insertTextFormat":1,"kind":2,"label":"rawData","sortText":""},{"deprecated":false,"detail":"public unsafe func rawData(): Array<Byte>","documentation":"","filterText":"rawData","insertText":"rawData()","insertTextFormat":1,"kind":2,"label":"rawData()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"removePrefix","insertText":"removePrefix","insertTextFormat":1,"kind":2,"label":"removePrefix","sortText":""},{"deprecated":false,"detail":"public func removePrefix(prefix: String): String","documentation":"","filterText":"removePrefix","insertText":"removePrefix(${1:prefix: String})","insertTextFormat":2,"kind":2,"label":"removePrefix(prefix: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"removeSuffix","insertText":"removeSuffix","insertTextFormat":1,"kind":2,"label":"removeSuffix","sortText":""},{"deprecated":false,"detail":"public func removeSuffix(suffix: String): String","documentation":"","filterText":"removeSuffix","insertText":"removeSuffix(${1:suffix: String})","insertTextFormat":2,"kind":2,"label":"removeSuffix(suffix: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"replace","insertText":"replace","insertTextFormat":1,"kind":2,"label":"replace","sortText":""},{"deprecated":false,"detail":"public func replace(old: String, new: String): String","documentation":"","filterText":"replace","insertText":"replace(${1:old: String}, ${2:new: String})","insertTextFormat":2,"kind":2,"label":"replace(old: String, new: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"runes","insertText":"runes","insertTextFormat":1,"kind":2,"label":"runes","sortText":""},{"deprecated":false,"detail":"public func runes(): Iterator<Rune>","documentation":"","filterText":"runes","insertText":"runes()","insertTextFormat":1,"kind":2,"label":"runes()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"deprecated":false,"detail":"public let size: Int64","documentation":"","filterText":"size","insertText":"size","insertTextFormat":1,"kind":6,"label":"size","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"split","insertText":"split","insertTextFormat":1,"kind":2,"label":"split","sortText":""},{"deprecated":false,"detail":"public func split(str: String, maxSplits: Int64, removeEmpty!: Bool = false): Array<String>","documentation":"","filterText":"split","insertText":"split(${1:str: String}, ${2:maxSplits: Int64}, removeEmpty: ${3:Bool = false})","insertTextFormat":2,"kind":2,"label":"split(str: String, maxSplits: Int64, removeEmpty!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func split(str: String, removeEmpty!: Bool = false): Array<String>","documentation":"","filterText":"split","insertText":"split(${1:str: String}, removeEmpty: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"split(str: String, removeEmpty!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"startsWith","insertText":"startsWith","insertTextFormat":1,"kind":2,"label":"startsWith","sortText":""},{"deprecated":false,"detail":"public func startsWith(prefix: String): Bool","documentation":"","filterText":"startsWith","insertText":"startsWith(${1:prefix: String})","insertTextFormat":2,"kind":2,"label":"startsWith(prefix: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toArray","insertText":"toArray","insertTextFormat":1,"kind":2,"label":"toArray","sortText":""},{"deprecated":false,"detail":"public func toArray(): Array<Byte>","documentation":"","filterText":"toArray","insertText":"toArray()","insertTextFormat":1,"kind":2,"label":"toArray()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toAsciiLower","insertText":"toAsciiLower","insertTextFormat":1,"kind":2,"label":"toAsciiLower","sortText":""},{"deprecated":false,"detail":"public func toAsciiLower(): String","documentation":"","filterText":"toAsciiLower","insertText":"toAsciiLower()","insertTextFormat":1,"kind":2,"label":"toAsciiLower()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toAsciiTitle","insertText":"toAsciiTitle","insertTextFormat":1,"kind":2,"label":"toAsciiTitle","sortText":""},{"deprecated":false,"detail":"public func toAsciiTitle(): String","documentation":"","filterText":"toAsciiTitle","insertText":"toAsciiTitle()","insertTextFormat":1,"kind":2,"label":"toAsciiTitle()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toAsciiUpper","insertText":"toAsciiUpper","insertTextFormat":1,"kind":2,"label":"toAsciiUpper","sortText":""},{"deprecated":false,"detail":"public func toAsciiUpper(): String","documentation":"","filterText":"toAsciiUpper","insertText":"toAsciiUpper()","insertTextFormat":1,"kind":2,"label":"toAsciiUpper()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toHeap","insertText":"toHeap","insertTextFormat":1,"kind":2,"label":"toHeap","sortText":""},{"deprecated":false,"detail":"public func toHeap(): String","documentation":"","filterText":"toHeap","insertText":"toHeap()","insertTextFormat":1,"kind":2,"label":"toHeap()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toLocal","insertText":"toLocal","insertTextFormat":1,"kind":2,"label":"toLocal","sortText":""},{"deprecated":false,"detail":"public func toLocal(): String","documentation":"","filterText":"toLocal","insertText":"toLocal()","insertTextFormat":1,"kind":2,"label":"toLocal()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toLower","insertText":"toLower()","insertTextFormat":1,"kind":2,"label":"toLower()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toLower","insertText":"toLower(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toLower(opt: CasingOption)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toRuneArray","insertText":"toRuneArray","insertTextFormat":1,"kind":2,"label":"toRuneArray","sortText":""},{"deprecated":false,"detail":"public func toRuneArray(): Array<Rune>","documentation":"","filterText":"toRuneArray","insertText":"toRuneArray()","insertTextFormat":1,"kind":2,"label":"toRuneArray()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toTitle","insertText":"toTitle()","insertTextFormat":1,"kind":2,"label":"toTitle()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toTitle","insertText":"toTitle(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toTitle(opt: CasingOption)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toUpper","insertText":"toUpper()","insertTextFormat":1,"kind":2,"label":"toUpper()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toUpper","insertText":"toUpper(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toUpper(opt: CasingOption)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"trim","insertText":"trim()","insertTextFormat":1,"kind":2,"label":"trim()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"trimAscii","insertText":"trimAscii","insertTextFormat":1,"kind":2,"label":"trimAscii","sortText":""},{"deprecated":false,"detail":"public func trimAscii(): String","documentation":"","filterText":"trimAscii","insertText":"trimAscii()","insertTextFormat":1,"kind":2,"label":"trimAscii()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"trimAsciiEnd","insertText":"trimAsciiEnd","insertTextFormat":1,"kind":2,"label":"trimAsciiEnd","sortText":""},{"deprecated":false,"detail":"public func trimAsciiEnd(): String","documentation":"","filterText":"trimAsciiEnd","insertText":"trimAsciiEnd()","insertTextFormat":1,"kind":2,"label":"trimAsciiEnd()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"trimAsciiStart","insertText":"trimAsciiStart","insertTextFormat":1,"kind":2,"label":"trimAsciiStart","sortText":""},{"deprecated":false,"detail":"public func trimAsciiStart(): String","documentation":"","filterText":"trimAsciiStart","insertText":"trimAsciiStart()","insertTextFormat":1,"kind":2,"label":"trimAsciiStart()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"trimEnd","insertText":"trimEnd","insertTextFormat":1,"kind":2,"label":"trimEnd","sortText":""},{"deprecated":false,"detail":"public func trimEnd(predicate: (Rune) -> Bool): String","documentation":"","filterText":"trimEnd","insertText":"trimEnd { arg1: Rune => ${1:Bool} }","insertTextFormat":2,"kind":2,"label":"trimEnd { Rune => Bool }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"trimEnd","insertText":"trimEnd()","insertTextFormat":1,"kind":2,"label":"trimEnd()","sortText":""},{"deprecated":false,"detail":"public func trimEnd(predicate: (Rune) -> Bool): String","documentation":"","filterText":"trimEnd","insertText":"trimEnd(${1:predicate: (Rune) -> Bool})","insertTextFormat":2,"kind":2,"label":"trimEnd(predicate: (Rune) -> Bool)","sortText":""},{"deprecated":false,"detail":"public func trimEnd(set: Array<Rune>): String","documentation":"","filterText":"trimEnd","insertText":"trimEnd(${1:set: Array<Rune>})","insertTextFormat":2,"kind":2,"label":"trimEnd(set: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"public func trimEnd(set: String): String","documentation":"","filterText":"trimEnd","insertText":"trimEnd(${1:set: String})","insertTextFormat":2,"kind":2,"label":"trimEnd(set: String)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":true,"detail":"import std.unicode","documentation":"","filterText":"trimLeft","insertText":"trimLeft()","insertTextFormat":1,"kind":2,"label":"trimLeft()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":true,"detail":"import std.unicode","documentation":"","filterText":"trimRight","insertText":"trimRight()","insertTextFormat":1,"kind":2,"label":"trimRight()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"trimStart","insertText":"trimStart","insertTextFormat":1,"kind":2,"label":"trimStart","sortText":""},{"deprecated":false,"detail":"public func trimStart(predicate: (Rune) -> Bool): String","documentation":"","filterText":"trimStart","insertText":"trimStart { arg1: Rune => ${1:Bool} }","insertTextFormat":2,"kind":2,"label":"trimStart { Rune => Bool }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeStringExtension\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"trimStart","insertText":"trimStart()","insertTextFormat":1,"kind":2,"label":"trimStart()","sortText":""},{"deprecated":false,"detail":"public func trimStart(predicate: (Rune) -> Bool): String","documentation":"","filterText":"trimStart","insertText":"trimStart(${1:predicate: (Rune) -> Bool})","insertTextFormat":2,"kind":2,"label":"trimStart(predicate: (Rune) -> Bool)","sortText":""},{"deprecated":false,"detail":"public func trimStart(set: Array<Rune>): String","documentation":"","filterText":"trimStart","insertText":"trimStart(${1:set: Array<Rune>})","insertTextFormat":2,"kind":2,"label":"trimStart(set: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"public func trimStart(set: String): String","documentation":"","filterText":"trimStart","insertText":"trimStart(${1:set: String})","insertTextFormat":2,"kind":2,"label":"trimStart(set: String)","sortText":""}]}
@@ -1 +1 @@
1-{"id":10,"jsonrpc":"2.0","result":[{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingDec","insertText":"carryingDec()","insertTextFormat":1,"kind":2,"label":"carryingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingInc","insertText":"carryingInc()","insertTextFormat":1,"kind":2,"label":"carryingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingNeg","insertText":"carryingNeg()","insertTextFormat":1,"kind":2,"label":"carryingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingPow\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingPow","insertText":"carryingPow(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"carryingPow(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingShl","insertText":"carryingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"carryingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingShr","insertText":"carryingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"carryingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedDec","insertText":"checkedDec()","insertTextFormat":1,"kind":2,"label":"checkedDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedInc","insertText":"checkedInc()","insertTextFormat":1,"kind":2,"label":"checkedInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedNeg","insertText":"checkedNeg()","insertTextFormat":1,"kind":2,"label":"checkedNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedPow\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedPow","insertText":"checkedPow(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"checkedPow(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedShl","insertText":"checkedShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"checkedShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedShr","insertText":"checkedShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"checkedShr(y: UInt64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public func compare(other: Int64): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:other: Int64})","insertTextFormat":2,"kind":2,"label":"compare(other: Int64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.convert.Formattable\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.convert","documentation":"","filterText":"format","insertText":"format(${1:fmt: String})","insertTextFormat":2,"kind":2,"label":"format(fmt: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"next","insertText":"next","insertTextFormat":1,"kind":2,"label":"next","sortText":""},{"deprecated":false,"detail":"public func next(right: Int64): Int64","documentation":"","filterText":"next","insertText":"next(${1:right: Int64})","insertTextFormat":2,"kind":2,"label":"next(right: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"position","insertText":"position","insertTextFormat":1,"kind":2,"label":"position","sortText":""},{"deprecated":false,"detail":"public func position(): Int64","documentation":"","filterText":"position","insertText":"position()","insertTextFormat":1,"kind":2,"label":"position()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingDec","insertText":"saturatingDec()","insertTextFormat":1,"kind":2,"label":"saturatingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingInc","insertText":"saturatingInc()","insertTextFormat":1,"kind":2,"label":"saturatingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingNeg","insertText":"saturatingNeg()","insertTextFormat":1,"kind":2,"label":"saturatingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingPow\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingPow","insertText":"saturatingPow(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"saturatingPow(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingShl","insertText":"saturatingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"saturatingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingShr","insertText":"saturatingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"saturatingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.SwapEndianOrder<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"swapBytes","insertText":"swapBytes()","insertTextFormat":1,"kind":2,"label":"swapBytes()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingDec","insertText":"throwingDec()","insertTextFormat":1,"kind":2,"label":"throwingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingInc","insertText":"throwingInc()","insertTextFormat":1,"kind":2,"label":"throwingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingNeg","insertText":"throwingNeg()","insertTextFormat":1,"kind":2,"label":"throwingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingPow\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingPow","insertText":"throwingPow(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"throwingPow(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingShl","insertText":"throwingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"throwingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingShr","insertText":"throwingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"throwingShr(y: UInt64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.convert.RadixConvertible<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.convert","documentation":"","filterText":"toString","insertText":"toString(radix: ${1:Int64})","insertTextFormat":2,"kind":2,"label":"toString(radix!: Int64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingDec","insertText":"wrappingDec()","insertTextFormat":1,"kind":2,"label":"wrappingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingInc","insertText":"wrappingInc()","insertTextFormat":1,"kind":2,"label":"wrappingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingNeg","insertText":"wrappingNeg()","insertTextFormat":1,"kind":2,"label":"wrappingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingPow\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingPow","insertText":"wrappingPow(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"wrappingPow(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingShl","insertText":"wrappingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"wrappingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingShr","insertText":"wrappingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"wrappingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.BigEndianOrder<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeBigEndian","insertText":"writeBigEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeBigEndian(buffer: Array<Byte>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.LittleEndianOrder<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeLittleEndian","insertText":"writeLittleEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeLittleEndian(buffer: Array<Byte>)","sortText":""}]}1+{"id":10,"jsonrpc":"2.0","result":[{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingDec","insertText":"carryingDec()","insertTextFormat":1,"kind":2,"label":"carryingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingInc","insertText":"carryingInc()","insertTextFormat":1,"kind":2,"label":"carryingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingNeg","insertText":"carryingNeg()","insertTextFormat":1,"kind":2,"label":"carryingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingPow\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingPow","insertText":"carryingPow(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"carryingPow(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingShl","insertText":"carryingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"carryingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingShr","insertText":"carryingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"carryingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedDec","insertText":"checkedDec()","insertTextFormat":1,"kind":2,"label":"checkedDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedInc","insertText":"checkedInc()","insertTextFormat":1,"kind":2,"label":"checkedInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedNeg","insertText":"checkedNeg()","insertTextFormat":1,"kind":2,"label":"checkedNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedPow\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedPow","insertText":"checkedPow(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"checkedPow(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedShl","insertText":"checkedShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"checkedShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedShr","insertText":"checkedShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"checkedShr(y: UInt64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public func compare(other: Int64): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:other: Int64})","insertTextFormat":2,"kind":2,"label":"compare(other: Int64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.convert.Formattable\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.convert","documentation":"","filterText":"format","insertText":"format(${1:fmt: String})","insertTextFormat":2,"kind":2,"label":"format(fmt: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public open func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"next","insertText":"next","insertTextFormat":1,"kind":2,"label":"next","sortText":""},{"deprecated":false,"detail":"public func next(right: Int64): Int64","documentation":"","filterText":"next","insertText":"next(${1:right: Int64})","insertTextFormat":2,"kind":2,"label":"next(right: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"position","insertText":"position","insertTextFormat":1,"kind":2,"label":"position","sortText":""},{"deprecated":false,"detail":"public func position(): Int64","documentation":"","filterText":"position","insertText":"position()","insertTextFormat":1,"kind":2,"label":"position()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingDec","insertText":"saturatingDec()","insertTextFormat":1,"kind":2,"label":"saturatingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingInc","insertText":"saturatingInc()","insertTextFormat":1,"kind":2,"label":"saturatingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingNeg","insertText":"saturatingNeg()","insertTextFormat":1,"kind":2,"label":"saturatingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingPow\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingPow","insertText":"saturatingPow(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"saturatingPow(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingShl","insertText":"saturatingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"saturatingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingShr","insertText":"saturatingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"saturatingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.SwapEndianOrder<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"swapBytes","insertText":"swapBytes()","insertTextFormat":1,"kind":2,"label":"swapBytes()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingDec","insertText":"throwingDec()","insertTextFormat":1,"kind":2,"label":"throwingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingInc","insertText":"throwingInc()","insertTextFormat":1,"kind":2,"label":"throwingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingNeg","insertText":"throwingNeg()","insertTextFormat":1,"kind":2,"label":"throwingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingPow\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingPow","insertText":"throwingPow(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"throwingPow(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingShl","insertText":"throwingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"throwingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingShr","insertText":"throwingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"throwingShr(y: UInt64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public open func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.convert.RadixConvertible<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.convert","documentation":"","filterText":"toString","insertText":"toString(radix: ${1:Int64})","insertTextFormat":2,"kind":2,"label":"toString(radix!: Int64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingDec","insertText":"wrappingDec()","insertTextFormat":1,"kind":2,"label":"wrappingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingInc","insertText":"wrappingInc()","insertTextFormat":1,"kind":2,"label":"wrappingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingNeg","insertText":"wrappingNeg()","insertTextFormat":1,"kind":2,"label":"wrappingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingPow\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingPow","insertText":"wrappingPow(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"wrappingPow(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingShl","insertText":"wrappingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"wrappingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingShr","insertText":"wrappingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"wrappingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.BigEndianOrder<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeBigEndian","insertText":"writeBigEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeBigEndian(buffer: Array<Byte>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.LittleEndianOrder<T>\n","range":{"end":{"character":0,"line":8},"start":{"character":0,"line":8}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeLittleEndian","insertText":"writeLittleEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeLittleEndian(buffer: Array<Byte>)","sortText":""}]}
@@ -1 +1 @@
1-{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"","documentation":"","filterText":"asResource","insertText":"asResource","insertTextFormat":1,"kind":2,"label":"asResource","sortText":""},{"deprecated":false,"detail":"public func asResource(): CStringResource","documentation":"","filterText":"asResource","insertText":"asResource()","insertTextFormat":1,"kind":2,"label":"asResource()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public func compare(str: CString): Int32","documentation":"","filterText":"compare","insertText":"compare(${1:str: CString})","insertTextFormat":2,"kind":2,"label":"compare(str: CString)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"endsWith","insertText":"endsWith","insertTextFormat":1,"kind":2,"label":"endsWith","sortText":""},{"deprecated":false,"detail":"public func endsWith(suffix: CString): Bool","documentation":"","filterText":"endsWith","insertText":"endsWith(${1:suffix: CString})","insertTextFormat":2,"kind":2,"label":"endsWith(suffix: CString)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"equals","insertText":"equals","insertTextFormat":1,"kind":2,"label":"equals","sortText":""},{"deprecated":false,"detail":"public func equals(other: CString): Bool","documentation":"","filterText":"equals","insertText":"equals(${1:other: CString})","insertTextFormat":2,"kind":2,"label":"equals(other: CString)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"equalsLower","insertText":"equalsLower","insertTextFormat":1,"kind":2,"label":"equalsLower","sortText":""},{"deprecated":false,"detail":"public func equalsLower(other: CString): Bool","documentation":"","filterText":"equalsLower","insertText":"equalsLower(${1:other: CString})","insertTextFormat":2,"kind":2,"label":"equalsLower(other: CString)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"getChars","insertText":"getChars","insertTextFormat":1,"kind":2,"label":"getChars","sortText":""},{"deprecated":false,"detail":"public func getChars(): CPointer<UInt8>","documentation":"","filterText":"getChars","insertText":"getChars()","insertTextFormat":1,"kind":2,"label":"getChars()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isEmpty","insertText":"isEmpty","insertTextFormat":1,"kind":2,"label":"isEmpty","sortText":""},{"deprecated":false,"detail":"public func isEmpty(): Bool","documentation":"","filterText":"isEmpty","insertText":"isEmpty()","insertTextFormat":1,"kind":2,"label":"isEmpty()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isNotEmpty","insertText":"isNotEmpty","insertTextFormat":1,"kind":2,"label":"isNotEmpty","sortText":""},{"deprecated":false,"detail":"public func isNotEmpty(): Bool","documentation":"","filterText":"isNotEmpty","insertText":"isNotEmpty()","insertTextFormat":1,"kind":2,"label":"isNotEmpty()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isNull","insertText":"isNull","insertTextFormat":1,"kind":2,"label":"isNull","sortText":""},{"deprecated":false,"detail":"public func isNull(): Bool","documentation":"","filterText":"isNull","insertText":"isNull()","insertTextFormat":1,"kind":2,"label":"isNull()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"size","insertText":"size","insertTextFormat":1,"kind":2,"label":"size","sortText":""},{"deprecated":false,"detail":"public func size(): Int64","documentation":"","filterText":"size","insertText":"size()","insertTextFormat":1,"kind":2,"label":"size()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"startsWith","insertText":"startsWith","insertTextFormat":1,"kind":2,"label":"startsWith","sortText":""},{"deprecated":false,"detail":"public func startsWith(prefix: CString): Bool","documentation":"","filterText":"startsWith","insertText":"startsWith(${1:prefix: CString})","insertTextFormat":2,"kind":2,"label":"startsWith(prefix: CString)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"subCString","insertText":"subCString","insertTextFormat":1,"kind":2,"label":"subCString","sortText":""},{"deprecated":false,"detail":"public func subCString(beginIndex: UIntNative): CString","documentation":"","filterText":"subCString","insertText":"subCString(${1:beginIndex: UIntNative})","insertTextFormat":2,"kind":2,"label":"subCString(beginIndex: UIntNative)","sortText":""},{"deprecated":false,"detail":"public func subCString(beginIndex: UIntNative, subLen: UIntNative): CString","documentation":"","filterText":"subCString","insertText":"subCString(${1:beginIndex: UIntNative}, ${2:subLen: UIntNative})","insertTextFormat":2,"kind":2,"label":"subCString(beginIndex: UIntNative, subLen: UIntNative)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""}]} 1+{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"","documentation":"","filterText":"asResource","insertText":"asResource","insertTextFormat":1,"kind":2,"label":"asResource","sortText":""},{"deprecated":false,"detail":"public func asResource(): CStringResource","documentation":"","filterText":"asResource","insertText":"asResource()","insertTextFormat":1,"kind":2,"label":"asResource()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public func compare(str: CString): Int32","documentation":"","filterText":"compare","insertText":"compare(${1:str: CString})","insertTextFormat":2,"kind":2,"label":"compare(str: CString)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"endsWith","insertText":"endsWith","insertTextFormat":1,"kind":2,"label":"endsWith","sortText":""},{"deprecated":false,"detail":"public func endsWith(suffix: CString): Bool","documentation":"","filterText":"endsWith","insertText":"endsWith(${1:suffix: CString})","insertTextFormat":2,"kind":2,"label":"endsWith(suffix: CString)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"equals","insertText":"equals","insertTextFormat":1,"kind":2,"label":"equals","sortText":""},{"deprecated":false,"detail":"public func equals(other: CString): Bool","documentation":"","filterText":"equals","insertText":"equals(${1:other: CString})","insertTextFormat":2,"kind":2,"label":"equals(other: CString)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"equalsLower","insertText":"equalsLower","insertTextFormat":1,"kind":2,"label":"equalsLower","sortText":""},{"deprecated":false,"detail":"public func equalsLower(other: CString): Bool","documentation":"","filterText":"equalsLower","insertText":"equalsLower(${1:other: CString})","insertTextFormat":2,"kind":2,"label":"equalsLower(other: CString)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"getChars","insertText":"getChars","insertTextFormat":1,"kind":2,"label":"getChars","sortText":""},{"deprecated":false,"detail":"public func getChars(): CPointer<UInt8>","documentation":"","filterText":"getChars","insertText":"getChars()","insertTextFormat":1,"kind":2,"label":"getChars()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isEmpty","insertText":"isEmpty","insertTextFormat":1,"kind":2,"label":"isEmpty","sortText":""},{"deprecated":false,"detail":"public func isEmpty(): Bool","documentation":"","filterText":"isEmpty","insertText":"isEmpty()","insertTextFormat":1,"kind":2,"label":"isEmpty()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isNotEmpty","insertText":"isNotEmpty","insertTextFormat":1,"kind":2,"label":"isNotEmpty","sortText":""},{"deprecated":false,"detail":"public func isNotEmpty(): Bool","documentation":"","filterText":"isNotEmpty","insertText":"isNotEmpty()","insertTextFormat":1,"kind":2,"label":"isNotEmpty()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isNull","insertText":"isNull","insertTextFormat":1,"kind":2,"label":"isNull","sortText":""},{"deprecated":false,"detail":"public func isNull(): Bool","documentation":"","filterText":"isNull","insertText":"isNull()","insertTextFormat":1,"kind":2,"label":"isNull()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"size","insertText":"size","insertTextFormat":1,"kind":2,"label":"size","sortText":""},{"deprecated":false,"detail":"public func size(): Int64","documentation":"","filterText":"size","insertText":"size()","insertTextFormat":1,"kind":2,"label":"size()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"startsWith","insertText":"startsWith","insertTextFormat":1,"kind":2,"label":"startsWith","sortText":""},{"deprecated":false,"detail":"public func startsWith(prefix: CString): Bool","documentation":"","filterText":"startsWith","insertText":"startsWith(${1:prefix: CString})","insertTextFormat":2,"kind":2,"label":"startsWith(prefix: CString)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"subCString","insertText":"subCString","insertTextFormat":1,"kind":2,"label":"subCString","sortText":""},{"deprecated":false,"detail":"public func subCString(beginIndex: UIntNative): CString","documentation":"","filterText":"subCString","insertText":"subCString(${1:beginIndex: UIntNative})","insertTextFormat":2,"kind":2,"label":"subCString(beginIndex: UIntNative)","sortText":""},{"deprecated":false,"detail":"public func subCString(beginIndex: UIntNative, subLen: UIntNative): CString","documentation":"","filterText":"subCString","insertText":"subCString(${1:beginIndex: UIntNative}, ${2:subLen: UIntNative})","insertTextFormat":2,"kind":2,"label":"subCString(beginIndex: UIntNative, subLen: UIntNative)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public open func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""}]}
@@ -1 +1 @@
1-{"id":"9","jsonrpc":"2.0","result":[{"deprecated":false,"detail":"internal var c: Int64 = 1","documentation":"","filterText":"c","insertText":"c","insertTextFormat":1,"kind":6,"label":"c","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public func compare(other: Int64): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:other: Int64})","insertTextFormat":2,"kind":2,"label":"compare(other: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"next","insertText":"next","insertTextFormat":1,"kind":2,"label":"next","sortText":""},{"deprecated":false,"detail":"public func next(right: Int64): Int64","documentation":"","filterText":"next","insertText":"next(${1:right: Int64})","insertTextFormat":2,"kind":2,"label":"next(right: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"position","insertText":"position","insertTextFormat":1,"kind":2,"label":"position","sortText":""},{"deprecated":false,"detail":"public func position(): Int64","documentation":"","filterText":"position","insertText":"position()","insertTextFormat":1,"kind":2,"label":"position()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""}]} 1+{"id":"9","jsonrpc":"2.0","result":[{"deprecated":false,"detail":"internal var c: Int64 = 1","documentation":"","filterText":"c","insertText":"c","insertTextFormat":1,"kind":6,"label":"c","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public func compare(other: Int64): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:other: Int64})","insertTextFormat":2,"kind":2,"label":"compare(other: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public open func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"next","insertText":"next","insertTextFormat":1,"kind":2,"label":"next","sortText":""},{"deprecated":false,"detail":"public func next(right: Int64): Int64","documentation":"","filterText":"next","insertText":"next(${1:right: Int64})","insertTextFormat":2,"kind":2,"label":"next(right: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"position","insertText":"position","insertTextFormat":1,"kind":2,"label":"position","sortText":""},{"deprecated":false,"detail":"public func position(): Int64","documentation":"","filterText":"position","insertText":"position()","insertTextFormat":1,"kind":2,"label":"position()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public open func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""}]}
@@ -1 +1 @@
1-{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"class ZZZ","documentation":"","filterText":"ZZZ","insertText":"ZZZ","insertTextFormat":1,"kind":7,"label":"ZZZ","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sizeOf","insertText":"sizeOf","insertTextFormat":1,"kind":2,"label":"sizeOf","sortText":""},{"deprecated":false,"detail":"public func sizeOf<T>(): UIntNative","documentation":"","filterText":"sizeOf","insertText":"sizeOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"sizeOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"Frozen","documentation":"","filterText":"Frozen","insertText":"Frozen","insertTextFormat":1,"kind":14,"label":"Frozen","sortText":""}]}1+{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"class ZZZ","documentation":"","filterText":"ZZZ","insertText":"ZZZ","insertTextFormat":1,"kind":7,"label":"ZZZ","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sizeOf","insertText":"sizeOf","insertTextFormat":1,"kind":2,"label":"sizeOf","sortText":""},{"deprecated":false,"detail":"public func sizeOf<T>(): UIntNative","documentation":"","filterText":"sizeOf","insertText":"sizeOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"sizeOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2","insertTextFormat":1,"kind":2,"label":"zeroValue2","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue2<T>(): T","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue2<T>()","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"Frozen","documentation":"","filterText":"Frozen","insertText":"Frozen","insertTextFormat":1,"kind":14,"label":"Frozen","sortText":""}]}
@@ -1 +1 @@
1-{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public open class ArithmeticException <: Exception","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException","insertTextFormat":1,"kind":7,"label":"ArithmeticException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException()","insertTextFormat":1,"kind":3,"label":"ArithmeticException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"ArithmeticException(message: String)","sortText":""},{"deprecated":false,"detail":"public class Box<T>","documentation":"","filterText":"Box","insertText":"Box<${1:T}>","insertTextFormat":2,"kind":7,"label":"Box<T>","sortText":""},{"deprecated":false,"detail":"public func init(v: T)","documentation":"","filterText":"Box<T>","insertText":"Box<${1:T}>(${3:v: T})","insertTextFormat":2,"kind":3,"label":"Box<T>(v: T)","sortText":""},{"deprecated":false,"detail":"public open class Exception <: ToString","documentation":"","filterText":"Exception","insertText":"Exception","insertTextFormat":1,"kind":7,"label":"Exception","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Exception","insertText":"Exception()","insertTextFormat":1,"kind":3,"label":"Exception()","sortText":""},{"deprecated":false,"detail":"public func init(causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String})","insertTextFormat":2,"kind":3,"label":"Exception(message: String)","sortText":""},{"deprecated":false,"detail":"public func init(message: String, causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String}, ${2:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(message: String, causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public class ExclusiveScopeException <: Exception","documentation":"","filterText":"ExclusiveScopeException","insertText":"ExclusiveScopeException","insertTextFormat":1,"kind":7,"label":"ExclusiveScopeException","sortText":""},{"deprecated":false,"detail":"public open class IllegalArgumentException <: Exception","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException","insertTextFormat":1,"kind":7,"label":"IllegalArgumentException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException()","insertTextFormat":1,"kind":3,"label":"IllegalArgumentException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalArgumentException(message: String)","sortText":""},{"deprecated":false,"detail":"public open class IllegalFormatException <: IllegalArgumentException","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException","insertTextFormat":1,"kind":7,"label":"IllegalFormatException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException()","insertTextFormat":1,"kind":3,"label":"IllegalFormatException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalFormatException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalMemoryException <: Exception","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException","insertTextFormat":1,"kind":7,"label":"IllegalMemoryException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException()","insertTextFormat":1,"kind":3,"label":"IllegalMemoryException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalMemoryException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalStateException <: Exception","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException","insertTextFormat":1,"kind":7,"label":"IllegalStateException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException()","insertTextFormat":1,"kind":3,"label":"IllegalStateException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalStateException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IncompatiblePackageException <: Exception","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException","insertTextFormat":1,"kind":7,"label":"IncompatiblePackageException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException()","insertTextFormat":1,"kind":3,"label":"IncompatiblePackageException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IncompatiblePackageException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IndexOutOfBoundsException <: Exception","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException","insertTextFormat":1,"kind":7,"label":"IndexOutOfBoundsException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException()","insertTextFormat":1,"kind":3,"label":"IndexOutOfBoundsException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IndexOutOfBoundsException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NoneValueException <: Exception","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException","insertTextFormat":1,"kind":7,"label":"NoneValueException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException()","insertTextFormat":1,"kind":3,"label":"NoneValueException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NoneValueException(message: String)","sortText":""},{"deprecated":false,"detail":"public class OverflowException <: ArithmeticException","documentation":"","filterText":"OverflowException","insertText":"OverflowException","insertTextFormat":1,"kind":7,"label":"OverflowException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"OverflowException","insertText":"OverflowException()","insertTextFormat":1,"kind":3,"label":"OverflowException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"OverflowException","insertText":"OverflowException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"OverflowException(message: String)","sortText":""},{"deprecated":false,"detail":"public class SpawnException <: Exception","documentation":"","filterText":"SpawnException","insertText":"SpawnException","insertTextFormat":1,"kind":7,"label":"SpawnException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"SpawnException","insertText":"SpawnException()","insertTextFormat":1,"kind":3,"label":"SpawnException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"SpawnException","insertText":"SpawnException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"SpawnException(message: String)","sortText":""},{"deprecated":false,"detail":"public interface ThreadContext","documentation":"","filterText":"ThreadContext","insertText":"ThreadContext","insertTextFormat":1,"kind":8,"label":"ThreadContext","sortText":""},{"deprecated":false,"detail":"public class TimeoutException <: Exception","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException","insertTextFormat":1,"kind":7,"label":"TimeoutException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException()","insertTextFormat":1,"kind":3,"label":"TimeoutException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"TimeoutException(message: String)","sortText":""},{"deprecated":false,"detail":"public class UnsupportedException <: Exception","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException","insertTextFormat":1,"kind":7,"label":"UnsupportedException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException()","insertTextFormat":1,"kind":3,"label":"UnsupportedException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"UnsupportedException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope","insertTextFormat":1,"kind":2,"label":"exclusiveScope","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}> { => ${3:T} }","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T> { => T }","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}>(${3:fn: () -> T})","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T>(fn: () -> T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"max","insertText":"max","insertTextFormat":1,"kind":2,"label":"max","sortText":""},{"deprecated":false,"detail":"public func max<T>(a: T, b: T, others: Array<T>): T","documentation":"","filterText":"max","insertText":"max<${1:T}>(${3:a: T}, ${4:b: T}, ${5:others: Array<T>})","insertTextFormat":2,"kind":2,"label":"max<T>(a: T, b: T, others: Array<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"extend","insertText":"extend","insertTextFormat":1,"kind":14,"label":"extend","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"except","insertText":"except","insertTextFormat":1,"kind":14,"label":"except","sortText":""},{"deprecated":false,"detail":"extend name{}","documentation":"","filterText":"extend","insertText":"extend ${0:name}{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend name{}","sortText":""},{"deprecated":false,"detail":"extend<T> name<T>{}","documentation":"","filterText":"extend","insertText":"extend<T> ${0:name}<T>{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend<T> name<T>{}","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.blackBox\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"blackBox","insertText":"blackBox<${1:T}>(${3:input: T})","insertTextFormat":2,"kind":2,"label":"blackBox<T>(input: T)","sortText":""}]}1+{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public open class ArithmeticException <: Exception","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException","insertTextFormat":1,"kind":7,"label":"ArithmeticException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException()","insertTextFormat":1,"kind":3,"label":"ArithmeticException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"ArithmeticException(message: String)","sortText":""},{"deprecated":false,"detail":"public class Box<T>","documentation":"","filterText":"Box","insertText":"Box<${1:T}>","insertTextFormat":2,"kind":7,"label":"Box<T>","sortText":""},{"deprecated":false,"detail":"public func init(v: T)","documentation":"","filterText":"Box<T>","insertText":"Box<${1:T}>(${3:v: T})","insertTextFormat":2,"kind":3,"label":"Box<T>(v: T)","sortText":""},{"deprecated":false,"detail":"public open class Exception <: ToString","documentation":"","filterText":"Exception","insertText":"Exception","insertTextFormat":1,"kind":7,"label":"Exception","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Exception","insertText":"Exception()","insertTextFormat":1,"kind":3,"label":"Exception()","sortText":""},{"deprecated":false,"detail":"public func init(causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String})","insertTextFormat":2,"kind":3,"label":"Exception(message: String)","sortText":""},{"deprecated":false,"detail":"public func init(message: String, causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String}, ${2:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(message: String, causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public class ExclusiveScopeException <: Exception","documentation":"","filterText":"ExclusiveScopeException","insertText":"ExclusiveScopeException","insertTextFormat":1,"kind":7,"label":"ExclusiveScopeException","sortText":""},{"deprecated":false,"detail":"public open class IllegalArgumentException <: Exception","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException","insertTextFormat":1,"kind":7,"label":"IllegalArgumentException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException()","insertTextFormat":1,"kind":3,"label":"IllegalArgumentException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalArgumentException(message: String)","sortText":""},{"deprecated":false,"detail":"public open class IllegalFormatException <: IllegalArgumentException","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException","insertTextFormat":1,"kind":7,"label":"IllegalFormatException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException()","insertTextFormat":1,"kind":3,"label":"IllegalFormatException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalFormatException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalMemoryException <: Exception","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException","insertTextFormat":1,"kind":7,"label":"IllegalMemoryException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException()","insertTextFormat":1,"kind":3,"label":"IllegalMemoryException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalMemoryException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalStateException <: Exception","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException","insertTextFormat":1,"kind":7,"label":"IllegalStateException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException()","insertTextFormat":1,"kind":3,"label":"IllegalStateException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalStateException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IncompatiblePackageException <: Exception","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException","insertTextFormat":1,"kind":7,"label":"IncompatiblePackageException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException()","insertTextFormat":1,"kind":3,"label":"IncompatiblePackageException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IncompatiblePackageException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IndexOutOfBoundsException <: Exception","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException","insertTextFormat":1,"kind":7,"label":"IndexOutOfBoundsException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException()","insertTextFormat":1,"kind":3,"label":"IndexOutOfBoundsException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IndexOutOfBoundsException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NoneValueException <: Exception","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException","insertTextFormat":1,"kind":7,"label":"NoneValueException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException()","insertTextFormat":1,"kind":3,"label":"NoneValueException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NoneValueException(message: String)","sortText":""},{"deprecated":false,"detail":"public class OverflowException <: ArithmeticException","documentation":"","filterText":"OverflowException","insertText":"OverflowException","insertTextFormat":1,"kind":7,"label":"OverflowException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"OverflowException","insertText":"OverflowException()","insertTextFormat":1,"kind":3,"label":"OverflowException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"OverflowException","insertText":"OverflowException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"OverflowException(message: String)","sortText":""},{"deprecated":false,"detail":"public class SpawnException <: Exception","documentation":"","filterText":"SpawnException","insertText":"SpawnException","insertTextFormat":1,"kind":7,"label":"SpawnException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"SpawnException","insertText":"SpawnException()","insertTextFormat":1,"kind":3,"label":"SpawnException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"SpawnException","insertText":"SpawnException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"SpawnException(message: String)","sortText":""},{"deprecated":false,"detail":"public interface ThreadContext","documentation":"","filterText":"ThreadContext","insertText":"ThreadContext","insertTextFormat":1,"kind":8,"label":"ThreadContext","sortText":""},{"deprecated":false,"detail":"public class TimeoutException <: Exception","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException","insertTextFormat":1,"kind":7,"label":"TimeoutException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException()","insertTextFormat":1,"kind":3,"label":"TimeoutException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"TimeoutException(message: String)","sortText":""},{"deprecated":false,"detail":"public class UnsupportedException <: Exception","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException","insertTextFormat":1,"kind":7,"label":"UnsupportedException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException()","insertTextFormat":1,"kind":3,"label":"UnsupportedException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"UnsupportedException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope","insertTextFormat":1,"kind":2,"label":"exclusiveScope","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}> { => ${3:T} }","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T> { => T }","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}>(${3:fn: () -> T})","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T>(fn: () -> T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"max","insertText":"max","insertTextFormat":1,"kind":2,"label":"max","sortText":""},{"deprecated":false,"detail":"public func max<T>(a: T, b: T, others: Array<T>): T","documentation":"","filterText":"max","insertText":"max<${1:T}>(${3:a: T}, ${4:b: T}, ${5:others: Array<T>})","insertTextFormat":2,"kind":2,"label":"max<T>(a: T, b: T, others: Array<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"extend","insertText":"extend","insertTextFormat":1,"kind":14,"label":"extend","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"exclave","insertText":"exclave","insertTextFormat":1,"kind":14,"label":"exclave","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"except","insertText":"except","insertTextFormat":1,"kind":14,"label":"except","sortText":""},{"deprecated":false,"detail":"extend name{}","documentation":"","filterText":"extend","insertText":"extend ${0:name}{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend name{}","sortText":""},{"deprecated":false,"detail":"extend<T> name<T>{}","documentation":"","filterText":"extend","insertText":"extend<T> ${0:name}<T>{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend<T> name<T>{}","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.blackBox\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"blackBox","insertText":"blackBox<${1:T}>(${3:input: T})","insertTextFormat":2,"kind":2,"label":"blackBox<T>(input: T)","sortText":""}]}
@@ -1 +1 @@
1-{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public interface Any","documentation":"","filterText":"Any","insertText":"Any","insertTextFormat":1,"kind":8,"label":"Any","sortText":""},{"deprecated":false,"detail":"public struct Array<T>","documentation":"","filterText":"Array","insertText":"Array<${1:T}>","insertTextFormat":2,"kind":22,"label":"Array<T>","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>()","insertTextFormat":2,"kind":3,"label":"Array<T>()","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, initElement: (Int64) -> T)","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>(${3:size: Int64}, ${4:initElement: (Int64) -> T})","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64, initElement: (Int64) -> T)","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, repeat!: T)","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>(${3:size: Int64}, repeat: ${4:T})","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64, repeat!: T)","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, initElement: (Int64) -> T)","documentation":"","filterText":"Array<T>","insertText":"Array<T>(${3:size: Int64}) { arg1: Int64 => ${4:T} }","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64) { Int64 => T }","sortText":""},{"deprecated":false,"detail":"public class ArrayIterator<T> <: Iterator<T>","documentation":"","filterText":"ArrayIterator","insertText":"ArrayIterator<${1:T}>","insertTextFormat":2,"kind":7,"label":"ArrayIterator<T>","sortText":""},{"deprecated":false,"detail":"public func init(data: Array<T>)","documentation":"","filterText":"ArrayIterator<T>","insertText":"ArrayIterator<${1:T}>(${3:data: Array<T>})","insertTextFormat":2,"kind":3,"label":"ArrayIterator<T>(data: Array<T>)","sortText":""},{"deprecated":false,"detail":"public type Byte = UInt8","documentation":"","filterText":"Byte","insertText":"Byte","insertTextFormat":1,"kind":7,"label":"Byte","sortText":""},{"deprecated":false,"detail":"public sealed open interface CType","documentation":"","filterText":"CType","insertText":"CType","insertTextFormat":1,"kind":8,"label":"CType","sortText":""},{"deprecated":false,"detail":"public class IllegalMemoryException <: Exception","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException","insertTextFormat":1,"kind":7,"label":"IllegalMemoryException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException()","insertTextFormat":1,"kind":3,"label":"IllegalMemoryException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalMemoryException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class OutOfMemoryError <: Error","documentation":"","filterText":"OutOfMemoryError","insertText":"OutOfMemoryError","insertTextFormat":1,"kind":7,"label":"OutOfMemoryError","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData","insertTextFormat":1,"kind":2,"label":"acquireArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func acquireArrayRawData<T>(arr: Array<T>): CPointerHandle<T>","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData<${1:T}>(${3:arr: Array<T>})","insertTextFormat":2,"kind":2,"label":"acquireArrayRawData<T>(arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData","insertTextFormat":1,"kind":2,"label":"releaseArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func releaseArrayRawData<T>(handle: CPointerHandle<T>): Unit","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData<${1:T}>(${3:handle: CPointerHandle<T>})","insertTextFormat":2,"kind":2,"label":"releaseArrayRawData<T>(handle: CPointerHandle<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"VArray","insertText":"VArray","insertTextFormat":1,"kind":14,"label":"VArray","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"type","insertText":"type","insertTextFormat":1,"kind":14,"label":"type","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"try","insertText":"try","insertTextFormat":1,"kind":14,"label":"try","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"finally","insertText":"finally","insertTextFormat":1,"kind":14,"label":"finally","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"try {}","documentation":"","filterText":"try","insertText":"try {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"try {}","sortText":""},{"deprecated":false,"detail":"finally {}","documentation":"","filterText":"finally","insertText":"finally {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"finally {}","sortText":""},{"deprecated":false,"detail":"type newName = originalName","documentation":"","filterText":"type","insertText":"type ${1:newName} = ${0:originalName}","insertTextFormat":2,"kind":14,"label":"type newName = originalName","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(${0:initElement: (Int64) -> T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(repeat!: T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(repeat: ${0:T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(repeat!: T)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ArrayList\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"ArrayList","insertText":"ArrayList<${1:T}>","insertTextFormat":2,"kind":7,"label":"ArrayList<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.ConfigurationKey\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"ConfigurationKey","insertText":"ConfigurationKey","insertTextFormat":1,"kind":7,"label":"ConfigurationKey","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataStrategy\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataStrategy","insertText":"DataStrategy<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataStrategy<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyFor\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyFor","insertText":"KeyFor<${1:T}>","insertTextFormat":2,"kind":8,"label":"KeyFor<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyTags\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyTags","insertText":"KeyTags","insertTextFormat":1,"kind":22,"label":"KeyTags","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.Arbitrary\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"Arbitrary","insertText":"Arbitrary<${1:T}>","insertTextFormat":2,"kind":8,"label":"Arbitrary<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyRandom\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyRandom","insertText":"KeyRandom","insertTextFormat":1,"kind":22,"label":"KeyRandom","sortText":""}]}1+{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public interface Any","documentation":"","filterText":"Any","insertText":"Any","insertTextFormat":1,"kind":8,"label":"Any","sortText":""},{"deprecated":false,"detail":"public struct Array<T>","documentation":"","filterText":"Array","insertText":"Array<${1:T}>","insertTextFormat":2,"kind":22,"label":"Array<T>","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>()","insertTextFormat":2,"kind":3,"label":"Array<T>()","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, initElement: (Int64) -> T)","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>(${3:size: Int64}, ${4:initElement: (Int64) -> T})","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64, initElement: (Int64) -> T)","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, repeat!: T)","documentation":"","filterText":"Array<T>","insertText":"Array<${1:T}>(${3:size: Int64}, repeat: ${4:T})","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64, repeat!: T)","sortText":""},{"deprecated":false,"detail":"public func init(size: Int64, initElement: (Int64) -> T)","documentation":"","filterText":"Array<T>","insertText":"Array<T>(${3:size: Int64}) { arg1: Int64 => ${4:T} }","insertTextFormat":2,"kind":3,"label":"Array<T>(size: Int64) { Int64 => T }","sortText":""},{"deprecated":false,"detail":"public class ArrayIterator<T> <: Iterator<T>","documentation":"","filterText":"ArrayIterator","insertText":"ArrayIterator<${1:T}>","insertTextFormat":2,"kind":7,"label":"ArrayIterator<T>","sortText":""},{"deprecated":false,"detail":"public func init(data: Array<T>)","documentation":"","filterText":"ArrayIterator<T>","insertText":"ArrayIterator<${1:T}>(${3:data: Array<T>})","insertTextFormat":2,"kind":3,"label":"ArrayIterator<T>(data: Array<T>)","sortText":""},{"deprecated":false,"detail":"public type Byte = UInt8","documentation":"","filterText":"Byte","insertText":"Byte","insertTextFormat":1,"kind":7,"label":"Byte","sortText":""},{"deprecated":false,"detail":"public sealed open interface CType","documentation":"","filterText":"CType","insertText":"CType","insertTextFormat":1,"kind":8,"label":"CType","sortText":""},{"deprecated":false,"detail":"public sealed open interface Copyable","documentation":"","filterText":"Copyable","insertText":"Copyable","insertTextFormat":1,"kind":8,"label":"Copyable","sortText":""},{"deprecated":false,"detail":"public class IllegalMemoryException <: Exception","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException","insertTextFormat":1,"kind":7,"label":"IllegalMemoryException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException()","insertTextFormat":1,"kind":3,"label":"IllegalMemoryException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalMemoryException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class OutOfMemoryError <: Error","documentation":"","filterText":"OutOfMemoryError","insertText":"OutOfMemoryError","insertTextFormat":1,"kind":7,"label":"OutOfMemoryError","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData","insertTextFormat":1,"kind":2,"label":"acquireArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func acquireArrayRawData<T>(arr: Array<T>): CPointerHandle<T>","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData<${1:T}>(${3:arr: Array<T>})","insertTextFormat":2,"kind":2,"label":"acquireArrayRawData<T>(arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData","insertTextFormat":1,"kind":2,"label":"releaseArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func releaseArrayRawData<T>(handle: CPointerHandle<T>): Unit","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData<${1:T}>(${3:handle: CPointerHandle<T>})","insertTextFormat":2,"kind":2,"label":"releaseArrayRawData<T>(handle: CPointerHandle<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"VArray","insertText":"VArray","insertTextFormat":1,"kind":14,"label":"VArray","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"type","insertText":"type","insertTextFormat":1,"kind":14,"label":"type","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"try","insertText":"try","insertTextFormat":1,"kind":14,"label":"try","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"finally","insertText":"finally","insertTextFormat":1,"kind":14,"label":"finally","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"try {}","documentation":"","filterText":"try","insertText":"try {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"try {}","sortText":""},{"deprecated":false,"detail":"finally {}","documentation":"","filterText":"finally","insertText":"finally {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"finally {}","sortText":""},{"deprecated":false,"detail":"type newName = originalName","documentation":"","filterText":"type","insertText":"type ${1:newName} = ${0:originalName}","insertTextFormat":2,"kind":14,"label":"type newName = originalName","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(${0:initElement: (Int64) -> T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(repeat!: T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(repeat: ${0:T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(repeat!: T)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ArrayList\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"ArrayList","insertText":"ArrayList<${1:T}>","insertTextFormat":2,"kind":7,"label":"ArrayList<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.ConfigurationKey\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"ConfigurationKey","insertText":"ConfigurationKey","insertTextFormat":1,"kind":7,"label":"ConfigurationKey","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataStrategy\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataStrategy","insertText":"DataStrategy<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataStrategy<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyFor\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyFor","insertText":"KeyFor<${1:T}>","insertTextFormat":2,"kind":8,"label":"KeyFor<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyTags\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyTags","insertText":"KeyTags","insertTextFormat":1,"kind":22,"label":"KeyTags","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.Arbitrary\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"Arbitrary","insertText":"Arbitrary<${1:T}>","insertTextFormat":2,"kind":8,"label":"Arbitrary<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyRandom\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyRandom","insertText":"KeyRandom","insertTextFormat":1,"kind":22,"label":"KeyRandom","sortText":""}]}
@@ -1 +1 @@
1-{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public enum AnnotationKind","documentation":"","filterText":"AnnotationKind","insertText":"AnnotationKind","insertTextFormat":1,"kind":13,"label":"AnnotationKind","sortText":""},{"deprecated":false,"detail":"public interface Any","documentation":"","filterText":"Any","insertText":"Any","insertTextFormat":1,"kind":8,"label":"Any","sortText":""},{"deprecated":false,"detail":"public open class ArithmeticException <: Exception","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException","insertTextFormat":1,"kind":7,"label":"ArithmeticException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException()","insertTextFormat":1,"kind":3,"label":"ArithmeticException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"ArithmeticException(message: String)","sortText":""},{"deprecated":false,"detail":"public Type CFunc<T>","documentation":"","filterText":"CFunc","insertText":"CFunc<${1:()} -> ${2:Unit}>","insertTextFormat":2,"kind":7,"label":"CFunc<T>","sortText":""},{"deprecated":false,"detail":"public Type CPointer<T>","documentation":"","filterText":"CPointer","insertText":"CPointer<${1:T}>","insertTextFormat":2,"kind":7,"label":"CPointer<T>","sortText":""},{"deprecated":false,"detail":"public struct CPointerHandle<T>","documentation":"","filterText":"CPointerHandle","insertText":"CPointerHandle<${1:T}>","insertTextFormat":2,"kind":22,"label":"CPointerHandle<T>","sortText":""},{"deprecated":true,"detail":"public func init()","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>()","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>()","sortText":""},{"deprecated":true,"detail":"public func init(ptr: CPointer<T>, arr: Array<T>)","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>(${3:ptr: CPointer<T>}, ${4:arr: Array<T>})","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>(ptr: CPointer<T>, arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"public struct CPointerResource<T>","documentation":"","filterText":"CPointerResource","insertText":"CPointerResource<${1:T}>","insertTextFormat":2,"kind":22,"label":"CPointerResource<T>","sortText":""},{"deprecated":false,"detail":"public Type CString","documentation":"","filterText":"CString","insertText":"CString","insertTextFormat":1,"kind":7,"label":"CString","sortText":""},{"deprecated":false,"detail":"public struct CStringResource","documentation":"","filterText":"CStringResource","insertText":"CStringResource","insertTextFormat":1,"kind":22,"label":"CStringResource","sortText":""},{"deprecated":false,"detail":"public interface Collection<T> extends Iterable<T>","documentation":"","filterText":"Collection","insertText":"Collection<${1:T}>","insertTextFormat":2,"kind":8,"label":"Collection<T>","sortText":""},{"deprecated":false,"detail":"public interface Countable<T>","documentation":"","filterText":"Countable","insertText":"Countable<${1:T}>","insertTextFormat":2,"kind":8,"label":"Countable<T>","sortText":""},{"deprecated":false,"detail":"public struct Duration","documentation":"","filterText":"Duration","insertText":"Duration","insertTextFormat":1,"kind":22,"label":"Duration","sortText":""},{"deprecated":false,"detail":"public enum Endian","documentation":"","filterText":"Endian","insertText":"Endian","insertTextFormat":1,"kind":13,"label":"Endian","sortText":""},{"deprecated":false,"detail":"public open class Exception <: ToString","documentation":"","filterText":"Exception","insertText":"Exception","insertTextFormat":1,"kind":7,"label":"Exception","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Exception","insertText":"Exception()","insertTextFormat":1,"kind":3,"label":"Exception()","sortText":""},{"deprecated":false,"detail":"public func init(causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String})","insertTextFormat":2,"kind":3,"label":"Exception(message: String)","sortText":""},{"deprecated":false,"detail":"public func init(message: String, causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String}, ${2:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(message: String, causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public class ExclusiveScopeException <: Exception","documentation":"","filterText":"ExclusiveScopeException","insertText":"ExclusiveScopeException","insertTextFormat":1,"kind":7,"label":"ExclusiveScopeException","sortText":""},{"deprecated":false,"detail":"public open class IllegalArgumentException <: Exception","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException","insertTextFormat":1,"kind":7,"label":"IllegalArgumentException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException()","insertTextFormat":1,"kind":3,"label":"IllegalArgumentException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalArgumentException(message: String)","sortText":""},{"deprecated":false,"detail":"public open class IllegalFormatException <: IllegalArgumentException","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException","insertTextFormat":1,"kind":7,"label":"IllegalFormatException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException()","insertTextFormat":1,"kind":3,"label":"IllegalFormatException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalFormatException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalMemoryException <: Exception","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException","insertTextFormat":1,"kind":7,"label":"IllegalMemoryException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException()","insertTextFormat":1,"kind":3,"label":"IllegalMemoryException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalMemoryException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalStateException <: Exception","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException","insertTextFormat":1,"kind":7,"label":"IllegalStateException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException()","insertTextFormat":1,"kind":3,"label":"IllegalStateException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalStateException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IncompatiblePackageException <: Exception","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException","insertTextFormat":1,"kind":7,"label":"IncompatiblePackageException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException()","insertTextFormat":1,"kind":3,"label":"IncompatiblePackageException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IncompatiblePackageException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IndexOutOfBoundsException <: Exception","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException","insertTextFormat":1,"kind":7,"label":"IndexOutOfBoundsException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException()","insertTextFormat":1,"kind":3,"label":"IndexOutOfBoundsException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IndexOutOfBoundsException(message: String)","sortText":""},{"deprecated":false,"detail":"public type Int = Int64","documentation":"","filterText":"Int","insertText":"Int","insertTextFormat":1,"kind":7,"label":"Int","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NoneValueException <: Exception","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException","insertTextFormat":1,"kind":7,"label":"NoneValueException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException()","insertTextFormat":1,"kind":3,"label":"NoneValueException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NoneValueException(message: String)","sortText":""},{"deprecated":false,"detail":"public interface NotEqual<T>","documentation":"","filterText":"NotEqual","insertText":"NotEqual<${1:T}>","insertTextFormat":2,"kind":8,"label":"NotEqual<T>","sortText":""},{"deprecated":false,"detail":"public enum Option<T>","documentation":"","filterText":"Option","insertText":"Option<${1:T}>","insertTextFormat":2,"kind":13,"label":"Option<T>","sortText":""},{"deprecated":false,"detail":"public enum Ordering","documentation":"","filterText":"Ordering","insertText":"Ordering","insertTextFormat":1,"kind":13,"label":"Ordering","sortText":""},{"deprecated":false,"detail":"public class OverflowException <: ArithmeticException","documentation":"","filterText":"OverflowException","insertText":"OverflowException","insertTextFormat":1,"kind":7,"label":"OverflowException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"OverflowException","insertText":"OverflowException()","insertTextFormat":1,"kind":3,"label":"OverflowException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"OverflowException","insertText":"OverflowException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"OverflowException(message: String)","sortText":""},{"deprecated":false,"detail":"public struct Range<T>","documentation":"","filterText":"Range","insertText":"Range<${1:T}>","insertTextFormat":2,"kind":22,"label":"Range<T>","sortText":""},{"deprecated":false,"detail":"public func init(start: T, end: T, step: Int64, hasStart: Bool, hasEnd: Bool, isClosed: Bool)","documentation":"","filterText":"Range<T>","insertText":"Range<${1:T}>(${3:start: T}, ${4:end: T}, ${5:step: Int64}, ${6:hasStart: Bool}, ${7:hasEnd: Bool}, ${8:isClosed: Bool})","insertTextFormat":2,"kind":3,"label":"Range<T>(start: T, end: T, step: Int64, hasStart: Bool, hasEnd: Bool, isClosed: Bool)","sortText":""},{"deprecated":false,"detail":"public class RangeIterator<T> <: Iterator<T>","documentation":"","filterText":"RangeIterator","insertText":"RangeIterator<${1:T}>","insertTextFormat":2,"kind":7,"label":"RangeIterator<T>","sortText":""},{"deprecated":false,"detail":"public class SpawnException <: Exception","documentation":"","filterText":"SpawnException","insertText":"SpawnException","insertTextFormat":1,"kind":7,"label":"SpawnException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"SpawnException","insertText":"SpawnException()","insertTextFormat":1,"kind":3,"label":"SpawnException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"SpawnException","insertText":"SpawnException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"SpawnException(message: String)","sortText":""},{"deprecated":false,"detail":"public open class StackTraceElement <: ToString","documentation":"","filterText":"StackTraceElement","insertText":"StackTraceElement","insertTextFormat":1,"kind":7,"label":"StackTraceElement","sortText":""},{"deprecated":false,"detail":"public func init(declaringClass: String, methodName: String, fileName: String, lineNumber: Int64)","documentation":"","filterText":"StackTraceElement","insertText":"StackTraceElement(${1:declaringClass: String}, ${2:methodName: String}, ${3:fileName: String}, ${4:lineNumber: Int64})","insertTextFormat":2,"kind":3,"label":"StackTraceElement(declaringClass: String, methodName: String, fileName: String, lineNumber: Int64)","sortText":""},{"deprecated":false,"detail":"public struct String","documentation":"","filterText":"String","insertText":"String","insertTextFormat":1,"kind":22,"label":"String","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"String","insertText":"String()","insertTextFormat":1,"kind":3,"label":"String()","sortText":""},{"deprecated":false,"detail":"public func init(value: Array<Rune>)","documentation":"","filterText":"String","insertText":"String(${1:value: Array<Rune>})","insertTextFormat":2,"kind":3,"label":"String(value: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"public func init(value: Collection<Rune>)","documentation":"","filterText":"String","insertText":"String(${1:value: Collection<Rune>})","insertTextFormat":2,"kind":3,"label":"String(value: Collection<Rune>)","sortText":""},{"deprecated":false,"detail":"public class StringBuilder <: ToString","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder","insertTextFormat":1,"kind":7,"label":"StringBuilder","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder()","insertTextFormat":1,"kind":3,"label":"StringBuilder()","sortText":""},{"deprecated":false,"detail":"public func init(capacity: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:capacity: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(capacity: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(r: Rune, n: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:r: Rune}, ${2:n: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(r: Rune, n: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(str: String)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:str: String})","insertTextFormat":2,"kind":3,"label":"StringBuilder(str: String)","sortText":""},{"deprecated":false,"detail":"public func init(value: Array<Rune>)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:value: Array<Rune>})","insertTextFormat":2,"kind":3,"label":"StringBuilder(value: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"public interface ThreadContext","documentation":"","filterText":"ThreadContext","insertText":"ThreadContext","insertTextFormat":1,"kind":8,"label":"ThreadContext","sortText":""},{"deprecated":false,"detail":"public class ThreadSnapshot <: ToString","documentation":"","filterText":"ThreadSnapshot","insertText":"ThreadSnapshot","insertTextFormat":1,"kind":7,"label":"ThreadSnapshot","sortText":""},{"deprecated":false,"detail":"public class TimeoutException <: Exception","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException","insertTextFormat":1,"kind":7,"label":"TimeoutException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException()","insertTextFormat":1,"kind":3,"label":"TimeoutException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"TimeoutException(message: String)","sortText":""},{"deprecated":false,"detail":"public interface ToString","documentation":"","filterText":"ToString","insertText":"ToString","insertTextFormat":1,"kind":8,"label":"ToString","sortText":""},{"deprecated":false,"detail":"public type UInt = UInt64","documentation":"","filterText":"UInt","insertText":"UInt","insertTextFormat":1,"kind":7,"label":"UInt","sortText":""},{"deprecated":false,"detail":"public class UnsupportedException <: Exception","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException","insertTextFormat":1,"kind":7,"label":"UnsupportedException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException()","insertTextFormat":1,"kind":3,"label":"UnsupportedException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"UnsupportedException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"alignOf","insertText":"alignOf","insertTextFormat":1,"kind":2,"label":"alignOf","sortText":""},{"deprecated":false,"detail":"public func alignOf<T>(): UIntNative","documentation":"","filterText":"alignOf","insertText":"alignOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"alignOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"eprint","insertText":"eprint","insertTextFormat":1,"kind":2,"label":"eprint","sortText":""},{"deprecated":false,"detail":"public func eprint(str: String, flush!: Bool = true): Unit","documentation":"","filterText":"eprint","insertText":"eprint(${1:str: String}, flush: ${2:Bool = true})","insertTextFormat":2,"kind":2,"label":"eprint(str: String, flush!: Bool = true)","sortText":""},{"deprecated":false,"detail":"public func eprint<T>(arg: T, flush!: Bool = false): Unit","documentation":"","filterText":"eprint","insertText":"eprint<${1:T}>(${3:arg: T}, flush: ${4:Bool = false})","insertTextFormat":2,"kind":2,"label":"eprint<T>(arg: T, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"eprintln","insertText":"eprintln","insertTextFormat":1,"kind":2,"label":"eprintln","sortText":""},{"deprecated":false,"detail":"public func eprintln(str: String): Unit","documentation":"","filterText":"eprintln","insertText":"eprintln(${1:str: String})","insertTextFormat":2,"kind":2,"label":"eprintln(str: String)","sortText":""},{"deprecated":false,"detail":"public func eprintln<T>(arg: T): Unit","documentation":"","filterText":"eprintln","insertText":"eprintln<${1:T}>(${3:arg: T})","insertTextFormat":2,"kind":2,"label":"eprintln<T>(arg: T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"ifNone","insertText":"ifNone","insertTextFormat":1,"kind":2,"label":"ifNone","sortText":""},{"deprecated":false,"detail":"public func ifNone<T>(o: Option<T>, action: () -> Unit): Unit","documentation":"","filterText":"ifNone","insertText":"ifNone<${1:T}>(${3:o: Option<T>}) { => ${4:Unit} }","insertTextFormat":2,"kind":2,"label":"ifNone<T>(o: Option<T>) { => Unit }","sortText":""},{"deprecated":false,"detail":"public func ifNone<T>(o: Option<T>, action: () -> Unit): Unit","documentation":"","filterText":"ifNone","insertText":"ifNone<${1:T}>(${3:o: Option<T>}, ${4:action: () -> Unit})","insertTextFormat":2,"kind":2,"label":"ifNone<T>(o: Option<T>, action: () -> Unit)","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"init","insertText":"init()","insertTextFormat":1,"kind":4,"label":"init()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"main","insertText":"","insertTextFormat":2,"kind":0,"label":"main()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"min","insertText":"min","insertTextFormat":1,"kind":2,"label":"min","sortText":""},{"deprecated":false,"detail":"public func min<T>(a: T, b: T, others: Array<T>): T","documentation":"","filterText":"min","insertText":"min<${1:T}>(${3:a: T}, ${4:b: T}, ${5:others: Array<T>})","insertTextFormat":2,"kind":2,"label":"min<T>(a: T, b: T, others: Array<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"print","insertText":"print","insertTextFormat":1,"kind":2,"label":"print","sortText":""},{"deprecated":false,"detail":"public func print(b: Bool, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:b: Bool}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(b: Bool, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(c: Rune, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:c: Rune}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(c: Rune, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int8, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int8}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int8, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt8, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt8}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt8, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(str: String, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:str: String}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(str: String, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print<T>(arg: T, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print<${1:T}>(${3:arg: T}, flush: ${4:Bool = false})","insertTextFormat":2,"kind":2,"label":"print<T>(arg: T, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"println","insertText":"println","insertTextFormat":1,"kind":2,"label":"println","sortText":""},{"deprecated":false,"detail":"public func println(): Unit","documentation":"","filterText":"println","insertText":"println()","insertTextFormat":1,"kind":2,"label":"println()","sortText":""},{"deprecated":false,"detail":"public func println(b: Bool): Unit","documentation":"","filterText":"println","insertText":"println(${1:b: Bool})","insertTextFormat":2,"kind":2,"label":"println(b: Bool)","sortText":""},{"deprecated":false,"detail":"public func println(c: Rune): Unit","documentation":"","filterText":"println","insertText":"println(${1:c: Rune})","insertTextFormat":2,"kind":2,"label":"println(c: Rune)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float16): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float16})","insertTextFormat":2,"kind":2,"label":"println(f: Float16)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float32): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float32})","insertTextFormat":2,"kind":2,"label":"println(f: Float32)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float64): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float64})","insertTextFormat":2,"kind":2,"label":"println(f: Float64)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int16): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int16})","insertTextFormat":2,"kind":2,"label":"println(i: Int16)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int32): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int32})","insertTextFormat":2,"kind":2,"label":"println(i: Int32)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int64): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int64})","insertTextFormat":2,"kind":2,"label":"println(i: Int64)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int8): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int8})","insertTextFormat":2,"kind":2,"label":"println(i: Int8)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt16): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt16})","insertTextFormat":2,"kind":2,"label":"println(i: UInt16)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt32): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt32})","insertTextFormat":2,"kind":2,"label":"println(i: UInt32)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt64): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt64})","insertTextFormat":2,"kind":2,"label":"println(i: UInt64)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt8): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt8})","insertTextFormat":2,"kind":2,"label":"println(i: UInt8)","sortText":""},{"deprecated":false,"detail":"public func println(str: String): Unit","documentation":"","filterText":"println","insertText":"println(${1:str: String})","insertTextFormat":2,"kind":2,"label":"println(str: String)","sortText":""},{"deprecated":false,"detail":"public func println<T>(arg: T): Unit","documentation":"","filterText":"println","insertText":"println<${1:T}>(${3:arg: T})","insertTextFormat":2,"kind":2,"label":"println<T>(arg: T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"readln","insertText":"readln","insertTextFormat":1,"kind":2,"label":"readln","sortText":""},{"deprecated":false,"detail":"public func readln(): String","documentation":"","filterText":"readln","insertText":"readln()","insertTextFormat":1,"kind":2,"label":"readln()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Int8","insertText":"Int8","insertTextFormat":1,"kind":14,"label":"Int8","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Int16","insertText":"Int16","insertTextFormat":1,"kind":14,"label":"Int16","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Int32","insertText":"Int32","insertTextFormat":1,"kind":14,"label":"Int32","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Int64","insertText":"Int64","insertTextFormat":1,"kind":14,"label":"Int64","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"IntNative","insertText":"IntNative","insertTextFormat":1,"kind":14,"label":"IntNative","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UInt8","insertText":"UInt8","insertTextFormat":1,"kind":14,"label":"UInt8","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UInt16","insertText":"UInt16","insertTextFormat":1,"kind":14,"label":"UInt16","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UInt32","insertText":"UInt32","insertTextFormat":1,"kind":14,"label":"UInt32","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UInt64","insertText":"UInt64","insertTextFormat":1,"kind":14,"label":"UInt64","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UIntNative","insertText":"UIntNative","insertTextFormat":1,"kind":14,"label":"UIntNative","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Rune","insertText":"Rune","insertTextFormat":1,"kind":14,"label":"Rune","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Nothing","insertText":"Nothing","insertTextFormat":1,"kind":14,"label":"Nothing","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Unit","insertText":"Unit","insertTextFormat":1,"kind":14,"label":"Unit","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"enum","insertText":"enum","insertTextFormat":1,"kind":14,"label":"enum","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"interface","insertText":"interface","insertTextFormat":1,"kind":14,"label":"interface","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"func","insertText":"func","insertTextFormat":1,"kind":14,"label":"func","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"const","insertText":"const","insertTextFormat":1,"kind":14,"label":"const","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"init","insertText":"init","insertTextFormat":1,"kind":14,"label":"init","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"finally","insertText":"finally","insertTextFormat":1,"kind":14,"label":"finally","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"return","insertText":"return","insertTextFormat":1,"kind":14,"label":"return","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"continue","insertText":"continue","insertTextFormat":1,"kind":14,"label":"continue","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"in","insertText":"in","insertTextFormat":1,"kind":14,"label":"in","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"extend","insertText":"extend","insertTextFormat":1,"kind":14,"label":"extend","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"internal","insertText":"internal","insertTextFormat":1,"kind":14,"label":"internal","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"open","insertText":"open","insertTextFormat":1,"kind":14,"label":"open","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"foreign","insertText":"foreign","insertTextFormat":1,"kind":14,"label":"foreign","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"inout","insertText":"inout","insertTextFormat":1,"kind":14,"label":"inout","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"unsafe","insertText":"unsafe","insertTextFormat":1,"kind":14,"label":"unsafe","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"spawn","insertText":"spawn","insertTextFormat":1,"kind":14,"label":"spawn","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"main","insertText":"main","insertTextFormat":1,"kind":14,"label":"main","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"common","insertText":"common","insertTextFormat":1,"kind":14,"label":"common","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"include","insertText":"include","insertTextFormat":1,"kind":14,"label":"include","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"When","insertText":"When","insertTextFormat":1,"kind":14,"label":"When","sortText":""},{"deprecated":false,"detail":"func name(){}","documentation":"","filterText":"func","insertText":"func ${1:name}($2) {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"func name(){}","sortText":""},{"deprecated":false,"detail":"func name<T>(){}","documentation":"","filterText":"func","insertText":"func ${1:name}<T>($2) {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"func name<T>(){}","sortText":""},{"deprecated":false,"detail":"interface name {}","documentation":"","filterText":"interface","insertText":"interface ${1:name} {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"interface name {}","sortText":""},{"deprecated":false,"detail":"interface name<T> {}","documentation":"","filterText":"interface","insertText":"interface ${1:name}<T> {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"interface name<T> {}","sortText":""},{"deprecated":false,"detail":"enum name {}","documentation":"","filterText":"enum","insertText":"enum ${1:name} {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"enum name {}","sortText":""},{"deprecated":false,"detail":"enum name<T> {}","documentation":"","filterText":"enum","insertText":"enum ${1:name}<T> {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"enum name<T> {}","sortText":""},{"deprecated":false,"detail":"init() {}","documentation":"","filterText":"init","insertText":"init($0) {\n\t\n}","insertTextFormat":2,"kind":14,"label":"init() {}","sortText":""},{"deprecated":false,"detail":"finally {}","documentation":"","filterText":"finally","insertText":"finally {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"finally {}","sortText":""},{"deprecated":false,"detail":"extend name{}","documentation":"","filterText":"extend","insertText":"extend ${0:name}{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend name{}","sortText":""},{"deprecated":false,"detail":"extend<T> name<T>{}","documentation":"","filterText":"extend","insertText":"extend<T> ${0:name}<T>{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend<T> name<T>{}","sortText":""},{"deprecated":false,"detail":"foreign {}","documentation":"","filterText":"foreign","insertText":"foreign {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"foreign {}","sortText":""},{"deprecated":false,"detail":"main() {}","documentation":"","filterText":"main","insertText":"main() {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"main() {}","sortText":""},{"deprecated":false,"detail":"When[expression]","documentation":"","filterText":"When","insertText":"When[${0:expression}]","insertTextFormat":2,"kind":14,"label":"When[expression]","sortText":""},{"deprecated":false,"detail":"spawn {}","documentation":"","filterText":"spawn","insertText":"spawn {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"spawn {}","sortText":""},{"deprecated":false,"detail":"spawn(threadContext) {}","documentation":"","filterText":"spawn","insertText":"spawn(${1:threadContext}) {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"spawn(threadContext) {}","sortText":""},{"deprecated":false,"detail":"Annotation","documentation":"","filterText":"Annotation","insertText":"Annotation","insertTextFormat":1,"kind":14,"label":"Annotation","sortText":""},{"deprecated":false,"detail":"Frozen","documentation":"","filterText":"Frozen","insertText":"Frozen","insertTextFormat":1,"kind":14,"label":"Frozen","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.Configuration\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"Configuration","insertText":"Configuration","insertTextFormat":1,"kind":7,"label":"Configuration","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.ConfigurationKey\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"ConfigurationKey","insertText":"ConfigurationKey","insertTextFormat":1,"kind":7,"label":"ConfigurationKey","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataShrinker\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataShrinker","insertText":"DataShrinker<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataShrinker<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}, ${2:validator: (Any) -> OptionValidity})","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String, validator: (Any) -> OptionValidity)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}) { arg1: Any => ${2:OptionValidity} }","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String) { Any => OptionValidity }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.setOptionInfo\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"setOptionInfo","insertText":"setOptionInfo(${1:name: String}, ${2:types: Array<String>}, description: ${3:Option<String>})","insertTextFormat":2,"kind":2,"label":"setOptionInfo(name: String, types: Array<String>, description!: Option<String>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.Shrink\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"Shrink","insertText":"Shrink<${1:T}>","insertTextFormat":2,"kind":8,"label":"Shrink<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.random\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"random","insertText":"random<${1:T}>()","insertTextFormat":2,"kind":2,"label":"random<T>()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyRandom\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyRandom","insertText":"KeyRandom","insertTextFormat":1,"kind":22,"label":"KeyRandom","sortText":""}]}1+{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public enum AnnotationKind","documentation":"","filterText":"AnnotationKind","insertText":"AnnotationKind","insertTextFormat":1,"kind":13,"label":"AnnotationKind","sortText":""},{"deprecated":false,"detail":"public interface Any","documentation":"","filterText":"Any","insertText":"Any","insertTextFormat":1,"kind":8,"label":"Any","sortText":""},{"deprecated":false,"detail":"public open class ArithmeticException <: Exception","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException","insertTextFormat":1,"kind":7,"label":"ArithmeticException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException()","insertTextFormat":1,"kind":3,"label":"ArithmeticException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"ArithmeticException(message: String)","sortText":""},{"deprecated":false,"detail":"public Type CFunc<T>","documentation":"","filterText":"CFunc","insertText":"CFunc<${1:()} -> ${2:Unit}>","insertTextFormat":2,"kind":7,"label":"CFunc<T>","sortText":""},{"deprecated":false,"detail":"public Type CPointer<T>","documentation":"","filterText":"CPointer","insertText":"CPointer<${1:T}>","insertTextFormat":2,"kind":7,"label":"CPointer<T>","sortText":""},{"deprecated":false,"detail":"public struct CPointerHandle<T>","documentation":"","filterText":"CPointerHandle","insertText":"CPointerHandle<${1:T}>","insertTextFormat":2,"kind":22,"label":"CPointerHandle<T>","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>()","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>()","sortText":""},{"deprecated":false,"detail":"public func init(ptr: CPointer<T>, arr: Array<T>)","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>(${3:ptr: CPointer<T>}, ${4:arr: Array<T>})","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>(ptr: CPointer<T>, arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"public struct CPointerResource<T>","documentation":"","filterText":"CPointerResource","insertText":"CPointerResource<${1:T}>","insertTextFormat":2,"kind":22,"label":"CPointerResource<T>","sortText":""},{"deprecated":false,"detail":"public Type CString","documentation":"","filterText":"CString","insertText":"CString","insertTextFormat":1,"kind":7,"label":"CString","sortText":""},{"deprecated":false,"detail":"public struct CStringResource","documentation":"","filterText":"CStringResource","insertText":"CStringResource","insertTextFormat":1,"kind":22,"label":"CStringResource","sortText":""},{"deprecated":false,"detail":"public interface Collection<T> extends Iterable<T>","documentation":"","filterText":"Collection","insertText":"Collection<${1:T}>","insertTextFormat":2,"kind":8,"label":"Collection<T>","sortText":""},{"deprecated":false,"detail":"public interface Countable<T>","documentation":"","filterText":"Countable","insertText":"Countable<${1:T}>","insertTextFormat":2,"kind":8,"label":"Countable<T>","sortText":""},{"deprecated":false,"detail":"public struct Duration","documentation":"","filterText":"Duration","insertText":"Duration","insertTextFormat":1,"kind":22,"label":"Duration","sortText":""},{"deprecated":false,"detail":"public enum Endian","documentation":"","filterText":"Endian","insertText":"Endian","insertTextFormat":1,"kind":13,"label":"Endian","sortText":""},{"deprecated":false,"detail":"public open class Exception <: ToString","documentation":"","filterText":"Exception","insertText":"Exception","insertTextFormat":1,"kind":7,"label":"Exception","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Exception","insertText":"Exception()","insertTextFormat":1,"kind":3,"label":"Exception()","sortText":""},{"deprecated":false,"detail":"public func init(causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String})","insertTextFormat":2,"kind":3,"label":"Exception(message: String)","sortText":""},{"deprecated":false,"detail":"public func init(message: String, causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String}, ${2:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(message: String, causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public class ExclusiveScopeException <: Exception","documentation":"","filterText":"ExclusiveScopeException","insertText":"ExclusiveScopeException","insertTextFormat":1,"kind":7,"label":"ExclusiveScopeException","sortText":""},{"deprecated":false,"detail":"public open class IllegalArgumentException <: Exception","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException","insertTextFormat":1,"kind":7,"label":"IllegalArgumentException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException()","insertTextFormat":1,"kind":3,"label":"IllegalArgumentException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalArgumentException(message: String)","sortText":""},{"deprecated":false,"detail":"public open class IllegalFormatException <: IllegalArgumentException","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException","insertTextFormat":1,"kind":7,"label":"IllegalFormatException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException()","insertTextFormat":1,"kind":3,"label":"IllegalFormatException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalFormatException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalMemoryException <: Exception","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException","insertTextFormat":1,"kind":7,"label":"IllegalMemoryException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException()","insertTextFormat":1,"kind":3,"label":"IllegalMemoryException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalMemoryException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalStateException <: Exception","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException","insertTextFormat":1,"kind":7,"label":"IllegalStateException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException()","insertTextFormat":1,"kind":3,"label":"IllegalStateException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalStateException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IncompatiblePackageException <: Exception","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException","insertTextFormat":1,"kind":7,"label":"IncompatiblePackageException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException()","insertTextFormat":1,"kind":3,"label":"IncompatiblePackageException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IncompatiblePackageException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IndexOutOfBoundsException <: Exception","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException","insertTextFormat":1,"kind":7,"label":"IndexOutOfBoundsException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException()","insertTextFormat":1,"kind":3,"label":"IndexOutOfBoundsException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IndexOutOfBoundsException(message: String)","sortText":""},{"deprecated":false,"detail":"public type Int = Int64","documentation":"","filterText":"Int","insertText":"Int","insertTextFormat":1,"kind":7,"label":"Int","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NoneValueException <: Exception","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException","insertTextFormat":1,"kind":7,"label":"NoneValueException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException()","insertTextFormat":1,"kind":3,"label":"NoneValueException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NoneValueException(message: String)","sortText":""},{"deprecated":false,"detail":"public interface NotEqual<T>","documentation":"","filterText":"NotEqual","insertText":"NotEqual<${1:T}>","insertTextFormat":2,"kind":8,"label":"NotEqual<T>","sortText":""},{"deprecated":false,"detail":"public enum Option<T>","documentation":"","filterText":"Option","insertText":"Option<${1:T}>","insertTextFormat":2,"kind":13,"label":"Option<T>","sortText":""},{"deprecated":false,"detail":"public enum Ordering","documentation":"","filterText":"Ordering","insertText":"Ordering","insertTextFormat":1,"kind":13,"label":"Ordering","sortText":""},{"deprecated":false,"detail":"public class OverflowException <: ArithmeticException","documentation":"","filterText":"OverflowException","insertText":"OverflowException","insertTextFormat":1,"kind":7,"label":"OverflowException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"OverflowException","insertText":"OverflowException()","insertTextFormat":1,"kind":3,"label":"OverflowException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"OverflowException","insertText":"OverflowException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"OverflowException(message: String)","sortText":""},{"deprecated":false,"detail":"public struct Range<T>","documentation":"","filterText":"Range","insertText":"Range<${1:T}>","insertTextFormat":2,"kind":22,"label":"Range<T>","sortText":""},{"deprecated":false,"detail":"public func init(start: T, end: T, step: Int64, hasStart: Bool, hasEnd: Bool, isClosed: Bool)","documentation":"","filterText":"Range<T>","insertText":"Range<${1:T}>(${3:start: T}, ${4:end: T}, ${5:step: Int64}, ${6:hasStart: Bool}, ${7:hasEnd: Bool}, ${8:isClosed: Bool})","insertTextFormat":2,"kind":3,"label":"Range<T>(start: T, end: T, step: Int64, hasStart: Bool, hasEnd: Bool, isClosed: Bool)","sortText":""},{"deprecated":false,"detail":"public class RangeIterator<T> <: Iterator<T>","documentation":"","filterText":"RangeIterator","insertText":"RangeIterator<${1:T}>","insertTextFormat":2,"kind":7,"label":"RangeIterator<T>","sortText":""},{"deprecated":false,"detail":"public class SpawnException <: Exception","documentation":"","filterText":"SpawnException","insertText":"SpawnException","insertTextFormat":1,"kind":7,"label":"SpawnException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"SpawnException","insertText":"SpawnException()","insertTextFormat":1,"kind":3,"label":"SpawnException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"SpawnException","insertText":"SpawnException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"SpawnException(message: String)","sortText":""},{"deprecated":false,"detail":"public open class StackTraceElement <: ToString","documentation":"","filterText":"StackTraceElement","insertText":"StackTraceElement","insertTextFormat":1,"kind":7,"label":"StackTraceElement","sortText":""},{"deprecated":false,"detail":"public func init(declaringClass: String, methodName: String, fileName: String, lineNumber: Int64)","documentation":"","filterText":"StackTraceElement","insertText":"StackTraceElement(${1:declaringClass: String}, ${2:methodName: String}, ${3:fileName: String}, ${4:lineNumber: Int64})","insertTextFormat":2,"kind":3,"label":"StackTraceElement(declaringClass: String, methodName: String, fileName: String, lineNumber: Int64)","sortText":""},{"deprecated":false,"detail":"public struct String","documentation":"","filterText":"String","insertText":"String","insertTextFormat":1,"kind":22,"label":"String","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"String","insertText":"String()","insertTextFormat":1,"kind":3,"label":"String()","sortText":""},{"deprecated":false,"detail":"public func init(value: Array<Rune>)","documentation":"","filterText":"String","insertText":"String(${1:value: Array<Rune>})","insertTextFormat":2,"kind":3,"label":"String(value: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"public func init(value: Collection<Rune>)","documentation":"","filterText":"String","insertText":"String(${1:value: Collection<Rune>})","insertTextFormat":2,"kind":3,"label":"String(value: Collection<Rune>)","sortText":""},{"deprecated":false,"detail":"public class StringBuilder <: ToString","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder","insertTextFormat":1,"kind":7,"label":"StringBuilder","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder()","insertTextFormat":1,"kind":3,"label":"StringBuilder()","sortText":""},{"deprecated":false,"detail":"public func init(capacity: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:capacity: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(capacity: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(r: Rune, n: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:r: Rune}, ${2:n: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(r: Rune, n: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(str: String)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:str: String})","insertTextFormat":2,"kind":3,"label":"StringBuilder(str: String)","sortText":""},{"deprecated":false,"detail":"public func init(value: Array<Rune>)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:value: Array<Rune>})","insertTextFormat":2,"kind":3,"label":"StringBuilder(value: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"public interface ThreadContext","documentation":"","filterText":"ThreadContext","insertText":"ThreadContext","insertTextFormat":1,"kind":8,"label":"ThreadContext","sortText":""},{"deprecated":false,"detail":"public class ThreadSnapshot <: ToString","documentation":"","filterText":"ThreadSnapshot","insertText":"ThreadSnapshot","insertTextFormat":1,"kind":7,"label":"ThreadSnapshot","sortText":""},{"deprecated":false,"detail":"public class TimeoutException <: Exception","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException","insertTextFormat":1,"kind":7,"label":"TimeoutException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException()","insertTextFormat":1,"kind":3,"label":"TimeoutException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"TimeoutException(message: String)","sortText":""},{"deprecated":false,"detail":"public interface ToString","documentation":"","filterText":"ToString","insertText":"ToString","insertTextFormat":1,"kind":8,"label":"ToString","sortText":""},{"deprecated":false,"detail":"public type UInt = UInt64","documentation":"","filterText":"UInt","insertText":"UInt","insertTextFormat":1,"kind":7,"label":"UInt","sortText":""},{"deprecated":false,"detail":"public class UnsupportedException <: Exception","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException","insertTextFormat":1,"kind":7,"label":"UnsupportedException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException()","insertTextFormat":1,"kind":3,"label":"UnsupportedException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"UnsupportedException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"alignOf","insertText":"alignOf","insertTextFormat":1,"kind":2,"label":"alignOf","sortText":""},{"deprecated":false,"detail":"public func alignOf<T>(): UIntNative","documentation":"","filterText":"alignOf","insertText":"alignOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"alignOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"eprint","insertText":"eprint","insertTextFormat":1,"kind":2,"label":"eprint","sortText":""},{"deprecated":false,"detail":"public func eprint(str: String, flush!: Bool = true): Unit","documentation":"","filterText":"eprint","insertText":"eprint(${1:str: String}, flush: ${2:Bool = true})","insertTextFormat":2,"kind":2,"label":"eprint(str: String, flush!: Bool = true)","sortText":""},{"deprecated":false,"detail":"public func eprint<T>(arg: T, flush!: Bool = false): Unit","documentation":"","filterText":"eprint","insertText":"eprint<${1:T}>(${3:arg: T}, flush: ${4:Bool = false})","insertTextFormat":2,"kind":2,"label":"eprint<T>(arg: T, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"eprintln","insertText":"eprintln","insertTextFormat":1,"kind":2,"label":"eprintln","sortText":""},{"deprecated":false,"detail":"public func eprintln(str: String): Unit","documentation":"","filterText":"eprintln","insertText":"eprintln(${1:str: String})","insertTextFormat":2,"kind":2,"label":"eprintln(str: String)","sortText":""},{"deprecated":false,"detail":"public func eprintln<T>(arg: T): Unit","documentation":"","filterText":"eprintln","insertText":"eprintln<${1:T}>(${3:arg: T})","insertTextFormat":2,"kind":2,"label":"eprintln<T>(arg: T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"ifNone","insertText":"ifNone","insertTextFormat":1,"kind":2,"label":"ifNone","sortText":""},{"deprecated":false,"detail":"public func ifNone<T>(o: Option<T>, action: () -> Unit): Unit","documentation":"","filterText":"ifNone","insertText":"ifNone<${1:T}>(${3:o: Option<T>}) { => ${4:Unit} }","insertTextFormat":2,"kind":2,"label":"ifNone<T>(o: Option<T>) { => Unit }","sortText":""},{"deprecated":false,"detail":"public func ifNone<T>(o: Option<T>, action: () -> Unit): Unit","documentation":"","filterText":"ifNone","insertText":"ifNone<${1:T}>(${3:o: Option<T>}, ${4:action: () -> Unit})","insertTextFormat":2,"kind":2,"label":"ifNone<T>(o: Option<T>, action: () -> Unit)","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"init","insertText":"init()","insertTextFormat":1,"kind":4,"label":"init()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"main","insertText":"","insertTextFormat":2,"kind":0,"label":"main()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"min","insertText":"min","insertTextFormat":1,"kind":2,"label":"min","sortText":""},{"deprecated":false,"detail":"public func min<T>(a: T, b: T, others: Array<T>): T","documentation":"","filterText":"min","insertText":"min<${1:T}>(${3:a: T}, ${4:b: T}, ${5:others: Array<T>})","insertTextFormat":2,"kind":2,"label":"min<T>(a: T, b: T, others: Array<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"print","insertText":"print","insertTextFormat":1,"kind":2,"label":"print","sortText":""},{"deprecated":false,"detail":"public func print(b: Bool, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:b: Bool}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(b: Bool, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(c: Rune, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:c: Rune}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(c: Rune, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int8, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int8}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int8, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt8, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt8}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt8, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(str: String, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:str: String}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(str: String, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print<T>(arg: T, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print<${1:T}>(${3:arg: T}, flush: ${4:Bool = false})","insertTextFormat":2,"kind":2,"label":"print<T>(arg: T, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"println","insertText":"println","insertTextFormat":1,"kind":2,"label":"println","sortText":""},{"deprecated":false,"detail":"public func println(): Unit","documentation":"","filterText":"println","insertText":"println()","insertTextFormat":1,"kind":2,"label":"println()","sortText":""},{"deprecated":false,"detail":"public func println(b: Bool): Unit","documentation":"","filterText":"println","insertText":"println(${1:b: Bool})","insertTextFormat":2,"kind":2,"label":"println(b: Bool)","sortText":""},{"deprecated":false,"detail":"public func println(c: Rune): Unit","documentation":"","filterText":"println","insertText":"println(${1:c: Rune})","insertTextFormat":2,"kind":2,"label":"println(c: Rune)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float16): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float16})","insertTextFormat":2,"kind":2,"label":"println(f: Float16)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float32): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float32})","insertTextFormat":2,"kind":2,"label":"println(f: Float32)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float64): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float64})","insertTextFormat":2,"kind":2,"label":"println(f: Float64)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int16): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int16})","insertTextFormat":2,"kind":2,"label":"println(i: Int16)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int32): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int32})","insertTextFormat":2,"kind":2,"label":"println(i: Int32)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int64): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int64})","insertTextFormat":2,"kind":2,"label":"println(i: Int64)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int8): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int8})","insertTextFormat":2,"kind":2,"label":"println(i: Int8)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt16): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt16})","insertTextFormat":2,"kind":2,"label":"println(i: UInt16)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt32): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt32})","insertTextFormat":2,"kind":2,"label":"println(i: UInt32)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt64): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt64})","insertTextFormat":2,"kind":2,"label":"println(i: UInt64)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt8): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt8})","insertTextFormat":2,"kind":2,"label":"println(i: UInt8)","sortText":""},{"deprecated":false,"detail":"public func println(str: String): Unit","documentation":"","filterText":"println","insertText":"println(${1:str: String})","insertTextFormat":2,"kind":2,"label":"println(str: String)","sortText":""},{"deprecated":false,"detail":"public func println<T>(arg: T): Unit","documentation":"","filterText":"println","insertText":"println<${1:T}>(${3:arg: T})","insertTextFormat":2,"kind":2,"label":"println<T>(arg: T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"readln","insertText":"readln","insertTextFormat":1,"kind":2,"label":"readln","sortText":""},{"deprecated":false,"detail":"public func readln(): String","documentation":"","filterText":"readln","insertText":"readln()","insertTextFormat":1,"kind":2,"label":"readln()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Int8","insertText":"Int8","insertTextFormat":1,"kind":14,"label":"Int8","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Int16","insertText":"Int16","insertTextFormat":1,"kind":14,"label":"Int16","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Int32","insertText":"Int32","insertTextFormat":1,"kind":14,"label":"Int32","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Int64","insertText":"Int64","insertTextFormat":1,"kind":14,"label":"Int64","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"IntNative","insertText":"IntNative","insertTextFormat":1,"kind":14,"label":"IntNative","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UInt8","insertText":"UInt8","insertTextFormat":1,"kind":14,"label":"UInt8","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UInt16","insertText":"UInt16","insertTextFormat":1,"kind":14,"label":"UInt16","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UInt32","insertText":"UInt32","insertTextFormat":1,"kind":14,"label":"UInt32","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UInt64","insertText":"UInt64","insertTextFormat":1,"kind":14,"label":"UInt64","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UIntNative","insertText":"UIntNative","insertTextFormat":1,"kind":14,"label":"UIntNative","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Rune","insertText":"Rune","insertTextFormat":1,"kind":14,"label":"Rune","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Nothing","insertText":"Nothing","insertTextFormat":1,"kind":14,"label":"Nothing","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Unit","insertText":"Unit","insertTextFormat":1,"kind":14,"label":"Unit","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"enum","insertText":"enum","insertTextFormat":1,"kind":14,"label":"enum","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"interface","insertText":"interface","insertTextFormat":1,"kind":14,"label":"interface","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"func","insertText":"func","insertTextFormat":1,"kind":14,"label":"func","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"const","insertText":"const","insertTextFormat":1,"kind":14,"label":"const","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"init","insertText":"init","insertTextFormat":1,"kind":14,"label":"init","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"finally","insertText":"finally","insertTextFormat":1,"kind":14,"label":"finally","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"return","insertText":"return","insertTextFormat":1,"kind":14,"label":"return","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"continue","insertText":"continue","insertTextFormat":1,"kind":14,"label":"continue","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"in","insertText":"in","insertTextFormat":1,"kind":14,"label":"in","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"extend","insertText":"extend","insertTextFormat":1,"kind":14,"label":"extend","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"internal","insertText":"internal","insertTextFormat":1,"kind":14,"label":"internal","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"open","insertText":"open","insertTextFormat":1,"kind":14,"label":"open","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"foreign","insertText":"foreign","insertTextFormat":1,"kind":14,"label":"foreign","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"inout","insertText":"inout","insertTextFormat":1,"kind":14,"label":"inout","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"unsafe","insertText":"unsafe","insertTextFormat":1,"kind":14,"label":"unsafe","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"spawn","insertText":"spawn","insertTextFormat":1,"kind":14,"label":"spawn","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"main","insertText":"main","insertTextFormat":1,"kind":14,"label":"main","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"common","insertText":"common","insertTextFormat":1,"kind":14,"label":"common","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"include","insertText":"include","insertTextFormat":1,"kind":14,"label":"include","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"When","insertText":"When","insertTextFormat":1,"kind":14,"label":"When","sortText":""},{"deprecated":false,"detail":"func name(){}","documentation":"","filterText":"func","insertText":"func ${1:name}($2) {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"func name(){}","sortText":""},{"deprecated":false,"detail":"func name<T>(){}","documentation":"","filterText":"func","insertText":"func ${1:name}<T>($2) {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"func name<T>(){}","sortText":""},{"deprecated":false,"detail":"interface name {}","documentation":"","filterText":"interface","insertText":"interface ${1:name} {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"interface name {}","sortText":""},{"deprecated":false,"detail":"interface name<T> {}","documentation":"","filterText":"interface","insertText":"interface ${1:name}<T> {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"interface name<T> {}","sortText":""},{"deprecated":false,"detail":"enum name {}","documentation":"","filterText":"enum","insertText":"enum ${1:name} {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"enum name {}","sortText":""},{"deprecated":false,"detail":"enum name<T> {}","documentation":"","filterText":"enum","insertText":"enum ${1:name}<T> {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"enum name<T> {}","sortText":""},{"deprecated":false,"detail":"init() {}","documentation":"","filterText":"init","insertText":"init($0) {\n\t\n}","insertTextFormat":2,"kind":14,"label":"init() {}","sortText":""},{"deprecated":false,"detail":"finally {}","documentation":"","filterText":"finally","insertText":"finally {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"finally {}","sortText":""},{"deprecated":false,"detail":"extend name{}","documentation":"","filterText":"extend","insertText":"extend ${0:name}{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend name{}","sortText":""},{"deprecated":false,"detail":"extend<T> name<T>{}","documentation":"","filterText":"extend","insertText":"extend<T> ${0:name}<T>{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend<T> name<T>{}","sortText":""},{"deprecated":false,"detail":"foreign {}","documentation":"","filterText":"foreign","insertText":"foreign {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"foreign {}","sortText":""},{"deprecated":false,"detail":"main() {}","documentation":"","filterText":"main","insertText":"main() {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"main() {}","sortText":""},{"deprecated":false,"detail":"When[expression]","documentation":"","filterText":"When","insertText":"When[${0:expression}]","insertTextFormat":2,"kind":14,"label":"When[expression]","sortText":""},{"deprecated":false,"detail":"spawn {}","documentation":"","filterText":"spawn","insertText":"spawn {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"spawn {}","sortText":""},{"deprecated":false,"detail":"spawn(threadContext) {}","documentation":"","filterText":"spawn","insertText":"spawn(${1:threadContext}) {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"spawn(threadContext) {}","sortText":""},{"deprecated":false,"detail":"Annotation","documentation":"","filterText":"Annotation","insertText":"Annotation","insertTextFormat":1,"kind":14,"label":"Annotation","sortText":""},{"deprecated":false,"detail":"Frozen","documentation":"","filterText":"Frozen","insertText":"Frozen","insertTextFormat":1,"kind":14,"label":"Frozen","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.Configuration\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"Configuration","insertText":"Configuration","insertTextFormat":1,"kind":7,"label":"Configuration","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.ConfigurationKey\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"ConfigurationKey","insertText":"ConfigurationKey","insertTextFormat":1,"kind":7,"label":"ConfigurationKey","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataShrinker\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataShrinker","insertText":"DataShrinker<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataShrinker<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}, ${2:validator: (Any) -> OptionValidity})","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String, validator: (Any) -> OptionValidity)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}) { arg1: Any => ${2:OptionValidity} }","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String) { Any => OptionValidity }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.setOptionInfo\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"setOptionInfo","insertText":"setOptionInfo(${1:name: String}, ${2:types: Array<String>}, description: ${3:Option<String>})","insertTextFormat":2,"kind":2,"label":"setOptionInfo(name: String, types: Array<String>, description!: Option<String>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.Shrink\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"Shrink","insertText":"Shrink<${1:T}>","insertTextFormat":2,"kind":8,"label":"Shrink<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.random\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"random","insertText":"random<${1:T}>()","insertTextFormat":2,"kind":2,"label":"random<T>()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyRandom\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyRandom","insertText":"KeyRandom","insertTextFormat":1,"kind":22,"label":"KeyRandom","sortText":""}]}
@@ -1 +1 @@
1-{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class ExclusiveScopeException <: Exception","documentation":"","filterText":"ExclusiveScopeException","insertText":"ExclusiveScopeException","insertTextFormat":1,"kind":7,"label":"ExclusiveScopeException","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NoneValueException <: Exception","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException","insertTextFormat":1,"kind":7,"label":"NoneValueException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException()","insertTextFormat":1,"kind":3,"label":"NoneValueException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NoneValueException(message: String)","sortText":""},{"deprecated":false,"detail":"public class OverflowException <: ArithmeticException","documentation":"","filterText":"OverflowException","insertText":"OverflowException","insertTextFormat":1,"kind":7,"label":"OverflowException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"OverflowException","insertText":"OverflowException()","insertTextFormat":1,"kind":3,"label":"OverflowException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"OverflowException","insertText":"OverflowException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"OverflowException(message: String)","sortText":""},{"deprecated":false,"detail":"public class StackOverflowError <: Error","documentation":"","filterText":"StackOverflowError","insertText":"StackOverflowError","insertTextFormat":1,"kind":7,"label":"StackOverflowError","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope","insertTextFormat":1,"kind":2,"label":"exclusiveScope","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}> { => ${3:T} }","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T> { => T }","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}>(${3:fn: () -> T})","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T>(fn: () -> T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"IntNative","insertText":"IntNative","insertTextFormat":1,"kind":14,"label":"IntNative","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UIntNative","insertText":"UIntNative","insertTextFormat":1,"kind":14,"label":"UIntNative","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"VArray","insertText":"VArray","insertTextFormat":1,"kind":14,"label":"VArray","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"var","insertText":"var","insertTextFormat":1,"kind":14,"label":"var","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"private","insertText":"private","insertTextFormat":1,"kind":14,"label":"private","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"override","insertText":"override","insertTextFormat":1,"kind":14,"label":"override","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(${0:initElement: (Int64) -> T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(repeat!: T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(repeat: ${0:T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(repeat!: T)","sortText":""},{"deprecated":false,"detail":"IfAvailable","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable","insertTextFormat":1,"kind":14,"label":"IfAvailable","sortText":""},{"deprecated":false,"detail":"IfAvailable(level: , {=> }, {=> })","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable(${1:level: ,} {=>\n\t$2\n}, {=>\n\t$3\n})","insertTextFormat":2,"kind":14,"label":"IfAvailable(level: , {=> }, {=> })","sortText":""},{"deprecated":false,"detail":"IfAvailable(syscap: , {=> }, {=> })","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable(${1:syscap: ,} {=>\n\t$2\n}, {=>\n\t$3\n})","insertTextFormat":2,"kind":14,"label":"IfAvailable(syscap: , {=> }, {=> })","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataProvider\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataProvider","insertText":"DataProvider<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataProvider<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}, ${2:validator: (Any) -> OptionValidity})","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String, validator: (Any) -> OptionValidity)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}) { arg1: Any => ${2:OptionValidity} }","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String) { Any => OptionValidity }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""}]}1+{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class ExclusiveScopeException <: Exception","documentation":"","filterText":"ExclusiveScopeException","insertText":"ExclusiveScopeException","insertTextFormat":1,"kind":7,"label":"ExclusiveScopeException","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NoneValueException <: Exception","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException","insertTextFormat":1,"kind":7,"label":"NoneValueException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException()","insertTextFormat":1,"kind":3,"label":"NoneValueException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NoneValueException(message: String)","sortText":""},{"deprecated":false,"detail":"public class OverflowException <: ArithmeticException","documentation":"","filterText":"OverflowException","insertText":"OverflowException","insertTextFormat":1,"kind":7,"label":"OverflowException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"OverflowException","insertText":"OverflowException()","insertTextFormat":1,"kind":3,"label":"OverflowException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"OverflowException","insertText":"OverflowException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"OverflowException(message: String)","sortText":""},{"deprecated":false,"detail":"public class StackOverflowError <: Error","documentation":"","filterText":"StackOverflowError","insertText":"StackOverflowError","insertTextFormat":1,"kind":7,"label":"StackOverflowError","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope","insertTextFormat":1,"kind":2,"label":"exclusiveScope","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}> { => ${3:T} }","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T> { => T }","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}>(${3:fn: () -> T})","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T>(fn: () -> T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2","insertTextFormat":1,"kind":2,"label":"zeroValue2","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue2<T>(): T","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue2<T>()","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"IntNative","insertText":"IntNative","insertTextFormat":1,"kind":14,"label":"IntNative","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"UIntNative","insertText":"UIntNative","insertTextFormat":1,"kind":14,"label":"UIntNative","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"VArray","insertText":"VArray","insertTextFormat":1,"kind":14,"label":"VArray","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"var","insertText":"var","insertTextFormat":1,"kind":14,"label":"var","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"private","insertText":"private","insertTextFormat":1,"kind":14,"label":"private","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"override","insertText":"override","insertTextFormat":1,"kind":14,"label":"override","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"exclave","insertText":"exclave","insertTextFormat":1,"kind":14,"label":"exclave","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(${0:initElement: (Int64) -> T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(initElement: (Int64) -> T)","sortText":""},{"deprecated":false,"detail":"VArray<T, $IntLiteral>(repeat!: T)","documentation":"","filterText":"VArray","insertText":"VArray<${1:T}, $${2:IntLiteral}>(repeat: ${0:T})","insertTextFormat":2,"kind":14,"label":"VArray<T, $IntLiteral>(repeat!: T)","sortText":""},{"deprecated":false,"detail":"IfAvailable","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable","insertTextFormat":1,"kind":14,"label":"IfAvailable","sortText":""},{"deprecated":false,"detail":"IfAvailable(level: , {=> }, {=> })","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable(${1:level: ,} {=>\n\t$2\n}, {=>\n\t$3\n})","insertTextFormat":2,"kind":14,"label":"IfAvailable(level: , {=> }, {=> })","sortText":""},{"deprecated":false,"detail":"IfAvailable(syscap: , {=> }, {=> })","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable(${1:syscap: ,} {=>\n\t$2\n}, {=>\n\t$3\n})","insertTextFormat":2,"kind":14,"label":"IfAvailable(syscap: , {=> }, {=> })","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataProvider\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataProvider","insertText":"DataProvider<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataProvider<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}, ${2:validator: (Any) -> OptionValidity})","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String, validator: (Any) -> OptionValidity)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}) { arg1: Any => ${2:OptionValidity} }","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String) { Any => OptionValidity }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""}]}
@@ -1 +1 @@
1-{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"class B <: BBB","documentation":"","filterText":"B","insertText":"B","insertTextFormat":1,"kind":7,"label":"B","sortText":""},{"deprecated":false,"detail":"open class BBB","documentation":"","filterText":"BBB","insertText":"BBB","insertTextFormat":1,"kind":7,"label":"BBB","sortText":""},{"deprecated":false,"detail":"public class Box<T>","documentation":"","filterText":"Box","insertText":"Box<${1:T}>","insertTextFormat":2,"kind":7,"label":"Box<T>","sortText":""},{"deprecated":false,"detail":"public func init(v: T)","documentation":"","filterText":"Box<T>","insertText":"Box<${1:T}>(${3:v: T})","insertTextFormat":2,"kind":3,"label":"Box<T>(v: T)","sortText":""},{"deprecated":false,"detail":"public type Byte = UInt8","documentation":"","filterText":"Byte","insertText":"Byte","insertTextFormat":1,"kind":7,"label":"Byte","sortText":""},{"deprecated":false,"detail":"public interface Comparable<T> extends Equatable<T>, Less<T>, Greater<T>, LessOrEqual<T>, GreaterOrEqual<T>","documentation":"","filterText":"Comparable","insertText":"Comparable<${1:T}>","insertTextFormat":2,"kind":8,"label":"Comparable<T>","sortText":""},{"deprecated":false,"detail":"public interface Countable<T>","documentation":"","filterText":"Countable","insertText":"Countable<${1:T}>","insertTextFormat":2,"kind":8,"label":"Countable<T>","sortText":""},{"deprecated":false,"detail":"public interface Equatable<T> extends Equal<T>, NotEqual<T>","documentation":"","filterText":"Equatable","insertText":"Equatable<${1:T}>","insertTextFormat":2,"kind":8,"label":"Equatable<T>","sortText":""},{"deprecated":false,"detail":"public interface Hashable","documentation":"","filterText":"Hashable","insertText":"Hashable","insertTextFormat":1,"kind":8,"label":"Hashable","sortText":""},{"deprecated":false,"detail":"public class IncompatiblePackageException <: Exception","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException","insertTextFormat":1,"kind":7,"label":"IncompatiblePackageException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException()","insertTextFormat":1,"kind":3,"label":"IncompatiblePackageException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IncompatiblePackageException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IndexOutOfBoundsException <: Exception","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException","insertTextFormat":1,"kind":7,"label":"IndexOutOfBoundsException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException()","insertTextFormat":1,"kind":3,"label":"IndexOutOfBoundsException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IndexOutOfBoundsException(message: String)","sortText":""},{"deprecated":false,"detail":"public interface Iterable<E>","documentation":"","filterText":"Iterable","insertText":"Iterable<${1:E}>","insertTextFormat":2,"kind":8,"label":"Iterable<E>","sortText":""},{"deprecated":false,"detail":"public struct LibC","documentation":"","filterText":"LibC","insertText":"LibC","insertTextFormat":1,"kind":22,"label":"LibC","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"LibC","insertText":"LibC()","insertTextFormat":1,"kind":3,"label":"LibC()","sortText":""},{"deprecated":false,"detail":"public open class Object <: Any","documentation":"","filterText":"Object","insertText":"Object","insertTextFormat":1,"kind":7,"label":"Object","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Object","insertText":"Object()","insertTextFormat":1,"kind":3,"label":"Object()","sortText":""},{"deprecated":false,"detail":"public class StringBuilder <: ToString","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder","insertTextFormat":1,"kind":7,"label":"StringBuilder","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder()","insertTextFormat":1,"kind":3,"label":"StringBuilder()","sortText":""},{"deprecated":false,"detail":"public func init(capacity: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:capacity: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(capacity: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(r: Rune, n: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:r: Rune}, ${2:n: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(r: Rune, n: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(str: String)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:str: String})","insertTextFormat":2,"kind":3,"label":"StringBuilder(str: String)","sortText":""},{"deprecated":false,"detail":"public func init(value: Array<Rune>)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:value: Array<Rune>})","insertTextFormat":2,"kind":3,"label":"StringBuilder(value: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Bool","insertText":"Bool","insertTextFormat":1,"kind":14,"label":"Bool","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"break","insertText":"break","insertTextFormat":1,"kind":14,"label":"break","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"public","insertText":"public","insertTextFormat":1,"kind":14,"label":"public","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"abstract","insertText":"abstract","insertTextFormat":1,"kind":14,"label":"abstract","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"backward","insertText":"backward","insertTextFormat":1,"kind":14,"label":"backward","sortText":""},{"deprecated":false,"detail":"IfAvailable","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable","insertTextFormat":1,"kind":14,"label":"IfAvailable","sortText":""},{"deprecated":false,"detail":"IfAvailable(level: , {=> }, {=> })","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable(${1:level: ,} {=>\n\t$2\n}, {=>\n\t$3\n})","insertTextFormat":2,"kind":14,"label":"IfAvailable(level: , {=> }, {=> })","sortText":""},{"deprecated":false,"detail":"IfAvailable(syscap: , {=> }, {=> })","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable(${1:syscap: ,} {=>\n\t$2\n}, {=>\n\t$3\n})","insertTextFormat":2,"kind":14,"label":"IfAvailable(syscap: , {=> }, {=> })","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.Arbitrary\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"Arbitrary","insertText":"Arbitrary<${1:T}>","insertTextFormat":2,"kind":8,"label":"Arbitrary<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.blackBox\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"blackBox","insertText":"blackBox<${1:T}>(${3:input: T})","insertTextFormat":2,"kind":2,"label":"blackBox<T>(input: T)","sortText":""}]}1+{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"class B <: BBB","documentation":"","filterText":"B","insertText":"B","insertTextFormat":1,"kind":7,"label":"B","sortText":""},{"deprecated":false,"detail":"open class BBB","documentation":"","filterText":"BBB","insertText":"BBB","insertTextFormat":1,"kind":7,"label":"BBB","sortText":""},{"deprecated":false,"detail":"public class Box<T>","documentation":"","filterText":"Box","insertText":"Box<${1:T}>","insertTextFormat":2,"kind":7,"label":"Box<T>","sortText":""},{"deprecated":false,"detail":"public func init(v: T)","documentation":"","filterText":"Box<T>","insertText":"Box<${1:T}>(${3:v: T})","insertTextFormat":2,"kind":3,"label":"Box<T>(v: T)","sortText":""},{"deprecated":false,"detail":"public type Byte = UInt8","documentation":"","filterText":"Byte","insertText":"Byte","insertTextFormat":1,"kind":7,"label":"Byte","sortText":""},{"deprecated":false,"detail":"public interface Comparable<T> extends Equatable<T>, Less<T>, Greater<T>, LessOrEqual<T>, GreaterOrEqual<T>","documentation":"","filterText":"Comparable","insertText":"Comparable<${1:T}>","insertTextFormat":2,"kind":8,"label":"Comparable<T>","sortText":""},{"deprecated":false,"detail":"public sealed open interface Copyable","documentation":"","filterText":"Copyable","insertText":"Copyable","insertTextFormat":1,"kind":8,"label":"Copyable","sortText":""},{"deprecated":false,"detail":"public interface Countable<T>","documentation":"","filterText":"Countable","insertText":"Countable<${1:T}>","insertTextFormat":2,"kind":8,"label":"Countable<T>","sortText":""},{"deprecated":false,"detail":"public interface Equatable<T> extends Equal<T>, NotEqual<T>","documentation":"","filterText":"Equatable","insertText":"Equatable<${1:T}>","insertTextFormat":2,"kind":8,"label":"Equatable<T>","sortText":""},{"deprecated":false,"detail":"public interface Hashable","documentation":"","filterText":"Hashable","insertText":"Hashable","insertTextFormat":1,"kind":8,"label":"Hashable","sortText":""},{"deprecated":false,"detail":"public class IncompatiblePackageException <: Exception","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException","insertTextFormat":1,"kind":7,"label":"IncompatiblePackageException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException()","insertTextFormat":1,"kind":3,"label":"IncompatiblePackageException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IncompatiblePackageException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IndexOutOfBoundsException <: Exception","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException","insertTextFormat":1,"kind":7,"label":"IndexOutOfBoundsException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException()","insertTextFormat":1,"kind":3,"label":"IndexOutOfBoundsException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IndexOutOfBoundsException(message: String)","sortText":""},{"deprecated":false,"detail":"public interface Iterable<E>","documentation":"","filterText":"Iterable","insertText":"Iterable<${1:E}>","insertTextFormat":2,"kind":8,"label":"Iterable<E>","sortText":""},{"deprecated":false,"detail":"public struct LibC","documentation":"","filterText":"LibC","insertText":"LibC","insertTextFormat":1,"kind":22,"label":"LibC","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"LibC","insertText":"LibC()","insertTextFormat":1,"kind":3,"label":"LibC()","sortText":""},{"deprecated":false,"detail":"public open class Object <: Any","documentation":"","filterText":"Object","insertText":"Object","insertTextFormat":1,"kind":7,"label":"Object","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Object","insertText":"Object()","insertTextFormat":1,"kind":3,"label":"Object()","sortText":""},{"deprecated":false,"detail":"public class StringBuilder <: ToString","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder","insertTextFormat":1,"kind":7,"label":"StringBuilder","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder()","insertTextFormat":1,"kind":3,"label":"StringBuilder()","sortText":""},{"deprecated":false,"detail":"public func init(capacity: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:capacity: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(capacity: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(r: Rune, n: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:r: Rune}, ${2:n: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(r: Rune, n: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(str: String)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:str: String})","insertTextFormat":2,"kind":3,"label":"StringBuilder(str: String)","sortText":""},{"deprecated":false,"detail":"public func init(value: Array<Rune>)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:value: Array<Rune>})","insertTextFormat":2,"kind":3,"label":"StringBuilder(value: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"Bool","insertText":"Bool","insertTextFormat":1,"kind":14,"label":"Bool","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"break","insertText":"break","insertTextFormat":1,"kind":14,"label":"break","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"public","insertText":"public","insertTextFormat":1,"kind":14,"label":"public","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"abstract","insertText":"abstract","insertTextFormat":1,"kind":14,"label":"abstract","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"backward","insertText":"backward","insertTextFormat":1,"kind":14,"label":"backward","sortText":""},{"deprecated":false,"detail":"IfAvailable","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable","insertTextFormat":1,"kind":14,"label":"IfAvailable","sortText":""},{"deprecated":false,"detail":"IfAvailable(level: , {=> }, {=> })","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable(${1:level: ,} {=>\n\t$2\n}, {=>\n\t$3\n})","insertTextFormat":2,"kind":14,"label":"IfAvailable(level: , {=> }, {=> })","sortText":""},{"deprecated":false,"detail":"IfAvailable(syscap: , {=> }, {=> })","documentation":"","filterText":"IfAvailable","insertText":"IfAvailable(${1:syscap: ,} {=>\n\t$2\n}, {=>\n\t$3\n})","insertTextFormat":2,"kind":14,"label":"IfAvailable(syscap: , {=> }, {=> })","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.Arbitrary\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"Arbitrary","insertText":"Arbitrary<${1:T}>","insertTextFormat":2,"kind":8,"label":"Arbitrary<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.blackBox\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"blackBox","insertText":"blackBox<${1:T}>(${3:input: T})","insertTextFormat":2,"kind":2,"label":"blackBox<T>(input: T)","sortText":""}]}
@@ -1 +1 @@
1-{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public enum AnnotationKind","documentation":"","filterText":"AnnotationKind","insertText":"AnnotationKind","insertTextFormat":1,"kind":13,"label":"AnnotationKind","sortText":""},{"deprecated":false,"detail":"public struct CPointerHandle<T>","documentation":"","filterText":"CPointerHandle","insertText":"CPointerHandle<${1:T}>","insertTextFormat":2,"kind":22,"label":"CPointerHandle<T>","sortText":""},{"deprecated":true,"detail":"public func init()","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>()","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>()","sortText":""},{"deprecated":true,"detail":"public func init(ptr: CPointer<T>, arr: Array<T>)","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>(${3:ptr: CPointer<T>}, ${4:arr: Array<T>})","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>(ptr: CPointer<T>, arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"open class DDD","documentation":"","filterText":"DDD","insertText":"DDD","insertTextFormat":1,"kind":7,"label":"DDD","sortText":""},{"deprecated":false,"detail":"public struct DefaultHasher","documentation":"","filterText":"DefaultHasher","insertText":"DefaultHasher","insertTextFormat":1,"kind":22,"label":"DefaultHasher","sortText":""},{"deprecated":false,"detail":"public func init(res!: Int64 = 0)","documentation":"","filterText":"DefaultHasher","insertText":"DefaultHasher(res: ${1:Int64 = 0})","insertTextFormat":2,"kind":3,"label":"DefaultHasher(res!: Int64 = 0)","sortText":""},{"deprecated":false,"detail":"public struct Duration","documentation":"","filterText":"Duration","insertText":"Duration","insertTextFormat":1,"kind":22,"label":"Duration","sortText":""},{"deprecated":false,"detail":"public enum Endian","documentation":"","filterText":"Endian","insertText":"Endian","insertTextFormat":1,"kind":13,"label":"Endian","sortText":""},{"deprecated":false,"detail":"public class IndexOutOfBoundsException <: Exception","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException","insertTextFormat":1,"kind":7,"label":"IndexOutOfBoundsException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException()","insertTextFormat":1,"kind":3,"label":"IndexOutOfBoundsException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IndexOutOfBoundsException(message: String)","sortText":""},{"deprecated":false,"detail":"public enum Ordering","documentation":"","filterText":"Ordering","insertText":"Ordering","insertTextFormat":1,"kind":13,"label":"Ordering","sortText":""},{"deprecated":false,"detail":"public class StringBuilder <: ToString","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder","insertTextFormat":1,"kind":7,"label":"StringBuilder","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder()","insertTextFormat":1,"kind":3,"label":"StringBuilder()","sortText":""},{"deprecated":false,"detail":"public func init(capacity: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:capacity: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(capacity: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(r: Rune, n: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:r: Rune}, ${2:n: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(r: Rune, n: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(str: String)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:str: String})","insertTextFormat":2,"kind":3,"label":"StringBuilder(str: String)","sortText":""},{"deprecated":false,"detail":"public func init(value: Array<Rune>)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:value: Array<Rune>})","insertTextFormat":2,"kind":3,"label":"StringBuilder(value: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"public class Thread","documentation":"","filterText":"Thread","insertText":"Thread","insertTextFormat":1,"kind":7,"label":"Thread","sortText":""},{"deprecated":false,"detail":"public interface ThreadContext","documentation":"","filterText":"ThreadContext","insertText":"ThreadContext","insertTextFormat":1,"kind":8,"label":"ThreadContext","sortText":""},{"deprecated":false,"detail":"public class ThreadLocal<T>","documentation":"","filterText":"ThreadLocal","insertText":"ThreadLocal<${1:T}>","insertTextFormat":2,"kind":7,"label":"ThreadLocal<T>","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ThreadLocal<T>","insertText":"ThreadLocal<${1:T}>()","insertTextFormat":2,"kind":3,"label":"ThreadLocal<T>()","sortText":""},{"deprecated":false,"detail":"public class ThreadSnapshot <: ToString","documentation":"","filterText":"ThreadSnapshot","insertText":"ThreadSnapshot","insertTextFormat":1,"kind":7,"label":"ThreadSnapshot","sortText":""},{"deprecated":false,"detail":"public enum ThreadState <: ToString","documentation":"","filterText":"ThreadState","insertText":"ThreadState","insertTextFormat":1,"kind":13,"label":"ThreadState","sortText":""},{"deprecated":false,"detail":"public class UnsupportedException <: Exception","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException","insertTextFormat":1,"kind":7,"label":"UnsupportedException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException()","insertTextFormat":1,"kind":3,"label":"UnsupportedException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"UnsupportedException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData","insertTextFormat":1,"kind":2,"label":"acquireArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func acquireArrayRawData<T>(arr: Array<T>): CPointerHandle<T>","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData<${1:T}>(${3:arr: Array<T>})","insertTextFormat":2,"kind":2,"label":"acquireArrayRawData<T>(arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"readln","insertText":"readln","insertTextFormat":1,"kind":2,"label":"readln","sortText":""},{"deprecated":false,"detail":"public func readln(): String","documentation":"","filterText":"readln","insertText":"readln()","insertTextFormat":1,"kind":2,"label":"readln()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData","insertTextFormat":1,"kind":2,"label":"releaseArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func releaseArrayRawData<T>(handle: CPointerHandle<T>): Unit","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData<${1:T}>(${3:handle: CPointerHandle<T>})","insertTextFormat":2,"kind":2,"label":"releaseArrayRawData<T>(handle: CPointerHandle<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"do","insertText":"do","insertTextFormat":1,"kind":14,"label":"do","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"extend","insertText":"extend","insertTextFormat":1,"kind":14,"label":"extend","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"protected","insertText":"protected","insertTextFormat":1,"kind":14,"label":"protected","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"override","insertText":"override","insertTextFormat":1,"kind":14,"label":"override","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"redef","insertText":"redef","insertTextFormat":1,"kind":14,"label":"redef","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sealed","insertText":"sealed","insertTextFormat":1,"kind":14,"label":"sealed","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"include","insertText":"include","insertTextFormat":1,"kind":14,"label":"include","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"mode","insertText":"mode","insertTextFormat":1,"kind":14,"label":"mode","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"forward","insertText":"forward","insertTextFormat":1,"kind":14,"label":"forward","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"backward","insertText":"backward","insertTextFormat":1,"kind":14,"label":"backward","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"dual","insertText":"dual","insertTextFormat":1,"kind":14,"label":"dual","sortText":""},{"deprecated":false,"detail":"do {} while (expression)","documentation":"","filterText":"do","insertText":"do {\n\t\n} while (${0:expression})","insertTextFormat":2,"kind":14,"label":"do {} while (expression)","sortText":""},{"deprecated":false,"detail":"extend name{}","documentation":"","filterText":"extend","insertText":"extend ${0:name}{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend name{}","sortText":""},{"deprecated":false,"detail":"extend<T> name<T>{}","documentation":"","filterText":"extend","insertText":"extend<T> ${0:name}<T>{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend<T> name<T>{}","sortText":""},{"deprecated":false,"detail":"Deprecated","documentation":"","filterText":"Deprecated","insertText":"Deprecated","insertTextFormat":1,"kind":14,"label":"Deprecated","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataProvider\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataProvider","insertText":"DataProvider<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataProvider<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataStrategy\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataStrategy","insertText":"DataStrategy<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataStrategy<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataShrinker\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataShrinker","insertText":"DataShrinker<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataShrinker<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}, ${2:validator: (Any) -> OptionValidity})","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String, validator: (Any) -> OptionValidity)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}) { arg1: Any => ${2:OptionValidity} }","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String) { Any => OptionValidity }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.random\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"random","insertText":"random<${1:T}>()","insertTextFormat":2,"kind":2,"label":"random<T>()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyRandom\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyRandom","insertText":"KeyRandom","insertTextFormat":1,"kind":22,"label":"KeyRandom","sortText":""}]}1+{"id":3,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public enum AnnotationKind","documentation":"","filterText":"AnnotationKind","insertText":"AnnotationKind","insertTextFormat":1,"kind":13,"label":"AnnotationKind","sortText":""},{"deprecated":false,"detail":"public struct CPointerHandle<T>","documentation":"","filterText":"CPointerHandle","insertText":"CPointerHandle<${1:T}>","insertTextFormat":2,"kind":22,"label":"CPointerHandle<T>","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>()","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>()","sortText":""},{"deprecated":false,"detail":"public func init(ptr: CPointer<T>, arr: Array<T>)","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>(${3:ptr: CPointer<T>}, ${4:arr: Array<T>})","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>(ptr: CPointer<T>, arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"open class DDD","documentation":"","filterText":"DDD","insertText":"DDD","insertTextFormat":1,"kind":7,"label":"DDD","sortText":""},{"deprecated":false,"detail":"public struct DefaultHasher","documentation":"","filterText":"DefaultHasher","insertText":"DefaultHasher","insertTextFormat":1,"kind":22,"label":"DefaultHasher","sortText":""},{"deprecated":false,"detail":"public func init(res!: Int64 = 0)","documentation":"","filterText":"DefaultHasher","insertText":"DefaultHasher(res: ${1:Int64 = 0})","insertTextFormat":2,"kind":3,"label":"DefaultHasher(res!: Int64 = 0)","sortText":""},{"deprecated":false,"detail":"public struct Duration","documentation":"","filterText":"Duration","insertText":"Duration","insertTextFormat":1,"kind":22,"label":"Duration","sortText":""},{"deprecated":false,"detail":"public enum Endian","documentation":"","filterText":"Endian","insertText":"Endian","insertTextFormat":1,"kind":13,"label":"Endian","sortText":""},{"deprecated":false,"detail":"public class IndexOutOfBoundsException <: Exception","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException","insertTextFormat":1,"kind":7,"label":"IndexOutOfBoundsException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException()","insertTextFormat":1,"kind":3,"label":"IndexOutOfBoundsException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IndexOutOfBoundsException(message: String)","sortText":""},{"deprecated":false,"detail":"public enum Ordering","documentation":"","filterText":"Ordering","insertText":"Ordering","insertTextFormat":1,"kind":13,"label":"Ordering","sortText":""},{"deprecated":false,"detail":"public class StringBuilder <: ToString","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder","insertTextFormat":1,"kind":7,"label":"StringBuilder","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder()","insertTextFormat":1,"kind":3,"label":"StringBuilder()","sortText":""},{"deprecated":false,"detail":"public func init(capacity: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:capacity: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(capacity: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(r: Rune, n: Int64)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:r: Rune}, ${2:n: Int64})","insertTextFormat":2,"kind":3,"label":"StringBuilder(r: Rune, n: Int64)","sortText":""},{"deprecated":false,"detail":"public func init(str: String)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:str: String})","insertTextFormat":2,"kind":3,"label":"StringBuilder(str: String)","sortText":""},{"deprecated":false,"detail":"public func init(value: Array<Rune>)","documentation":"","filterText":"StringBuilder","insertText":"StringBuilder(${1:value: Array<Rune>})","insertTextFormat":2,"kind":3,"label":"StringBuilder(value: Array<Rune>)","sortText":""},{"deprecated":false,"detail":"public class Thread","documentation":"","filterText":"Thread","insertText":"Thread","insertTextFormat":1,"kind":7,"label":"Thread","sortText":""},{"deprecated":false,"detail":"public interface ThreadContext","documentation":"","filterText":"ThreadContext","insertText":"ThreadContext","insertTextFormat":1,"kind":8,"label":"ThreadContext","sortText":""},{"deprecated":false,"detail":"public class ThreadLocal<T>","documentation":"","filterText":"ThreadLocal","insertText":"ThreadLocal<${1:T}>","insertTextFormat":2,"kind":7,"label":"ThreadLocal<T>","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ThreadLocal<T>","insertText":"ThreadLocal<${1:T}>()","insertTextFormat":2,"kind":3,"label":"ThreadLocal<T>()","sortText":""},{"deprecated":false,"detail":"public class ThreadSnapshot <: ToString","documentation":"","filterText":"ThreadSnapshot","insertText":"ThreadSnapshot","insertTextFormat":1,"kind":7,"label":"ThreadSnapshot","sortText":""},{"deprecated":false,"detail":"public enum ThreadState <: ToString","documentation":"","filterText":"ThreadState","insertText":"ThreadState","insertTextFormat":1,"kind":13,"label":"ThreadState","sortText":""},{"deprecated":false,"detail":"public class UnsupportedException <: Exception","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException","insertTextFormat":1,"kind":7,"label":"UnsupportedException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException()","insertTextFormat":1,"kind":3,"label":"UnsupportedException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"UnsupportedException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData","insertTextFormat":1,"kind":2,"label":"acquireArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func acquireArrayRawData<T>(arr: Array<T>): CPointerHandle<T>","documentation":"","filterText":"acquireArrayRawData","insertText":"acquireArrayRawData<${1:T}>(${3:arr: Array<T>})","insertTextFormat":2,"kind":2,"label":"acquireArrayRawData<T>(arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"readln","insertText":"readln","insertTextFormat":1,"kind":2,"label":"readln","sortText":""},{"deprecated":false,"detail":"public func readln(): String","documentation":"","filterText":"readln","insertText":"readln()","insertTextFormat":1,"kind":2,"label":"readln()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData","insertTextFormat":1,"kind":2,"label":"releaseArrayRawData","sortText":""},{"deprecated":false,"detail":"public unsafe func releaseArrayRawData<T>(handle: CPointerHandle<T>): Unit","documentation":"","filterText":"releaseArrayRawData","insertText":"releaseArrayRawData<${1:T}>(${3:handle: CPointerHandle<T>})","insertTextFormat":2,"kind":2,"label":"releaseArrayRawData<T>(handle: CPointerHandle<T>)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"do","insertText":"do","insertTextFormat":1,"kind":14,"label":"do","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"extend","insertText":"extend","insertTextFormat":1,"kind":14,"label":"extend","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"protected","insertText":"protected","insertTextFormat":1,"kind":14,"label":"protected","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"override","insertText":"override","insertTextFormat":1,"kind":14,"label":"override","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"redef","insertText":"redef","insertTextFormat":1,"kind":14,"label":"redef","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sealed","insertText":"sealed","insertTextFormat":1,"kind":14,"label":"sealed","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"demode","insertText":"demode","insertTextFormat":1,"kind":14,"label":"demode","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"include","insertText":"include","insertTextFormat":1,"kind":14,"label":"include","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"mode","insertText":"mode","insertTextFormat":1,"kind":14,"label":"mode","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"forward","insertText":"forward","insertTextFormat":1,"kind":14,"label":"forward","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"backward","insertText":"backward","insertTextFormat":1,"kind":14,"label":"backward","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"dual","insertText":"dual","insertTextFormat":1,"kind":14,"label":"dual","sortText":""},{"deprecated":false,"detail":"do {} while (expression)","documentation":"","filterText":"do","insertText":"do {\n\t\n} while (${0:expression})","insertTextFormat":2,"kind":14,"label":"do {} while (expression)","sortText":""},{"deprecated":false,"detail":"extend name{}","documentation":"","filterText":"extend","insertText":"extend ${0:name}{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend name{}","sortText":""},{"deprecated":false,"detail":"extend<T> name<T>{}","documentation":"","filterText":"extend","insertText":"extend<T> ${0:name}<T>{\n\t\n}","insertTextFormat":2,"kind":14,"label":"extend<T> name<T>{}","sortText":""},{"deprecated":false,"detail":"Deprecated","documentation":"","filterText":"Deprecated","insertText":"Deprecated","insertTextFormat":1,"kind":14,"label":"Deprecated","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataProvider\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataProvider","insertText":"DataProvider<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataProvider<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataStrategy\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataStrategy","insertText":"DataStrategy<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataStrategy<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataShrinker\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataShrinker","insertText":"DataShrinker<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataShrinker<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}, ${2:validator: (Any) -> OptionValidity})","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String, validator: (Any) -> OptionValidity)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}) { arg1: Any => ${2:OptionValidity} }","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String) { Any => OptionValidity }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.random\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"random","insertText":"random<${1:T}>()","insertTextFormat":2,"kind":2,"label":"random<T>()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.KeyRandom\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"KeyRandom","insertText":"KeyRandom","insertTextFormat":1,"kind":22,"label":"KeyRandom","sortText":""}]}
@@ -1 +1 @@
1-{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public type ZZ = Z","documentation":"","filterText":"ZZZ","insertText":"ZZZ","insertTextFormat":1,"kind":7,"label":"ZZZ","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ZZZ","insertText":"ZZZ()","insertTextFormat":1,"kind":3,"label":"ZZZ()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sizeOf","insertText":"sizeOf","insertTextFormat":1,"kind":2,"label":"sizeOf","sortText":""},{"deprecated":false,"detail":"public func sizeOf<T>(): UIntNative","documentation":"","filterText":"sizeOf","insertText":"sizeOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"sizeOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"Frozen","documentation":"","filterText":"Frozen","insertText":"Frozen","insertTextFormat":1,"kind":14,"label":"Frozen","sortText":""}]}1+{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public type ZZ = Z","documentation":"","filterText":"ZZZ","insertText":"ZZZ","insertTextFormat":1,"kind":7,"label":"ZZZ","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ZZZ","insertText":"ZZZ()","insertTextFormat":1,"kind":3,"label":"ZZZ()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sizeOf","insertText":"sizeOf","insertTextFormat":1,"kind":2,"label":"sizeOf","sortText":""},{"deprecated":false,"detail":"public func sizeOf<T>(): UIntNative","documentation":"","filterText":"sizeOf","insertText":"sizeOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"sizeOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2","insertTextFormat":1,"kind":2,"label":"zeroValue2","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue2<T>(): T","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue2<T>()","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"Frozen","documentation":"","filterText":"Frozen","insertText":"Frozen","insertTextFormat":1,"kind":14,"label":"Frozen","sortText":""}]}
@@ -1 +1 @@
1-{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class Z","documentation":"","filterText":"Z","insertText":"Z","insertTextFormat":1,"kind":7,"label":"Z","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Z","insertText":"Z()","insertTextFormat":1,"kind":3,"label":"Z()","sortText":""},{"deprecated":false,"detail":"public type ZZ = Z","documentation":"","filterText":"ZZ","insertText":"ZZ","insertTextFormat":1,"kind":7,"label":"ZZ","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ZZ","insertText":"ZZ()","insertTextFormat":1,"kind":3,"label":"ZZ()","sortText":""},{"deprecated":false,"detail":"public type ZZ = Z","documentation":"","filterText":"ZZZ","insertText":"ZZZ","insertTextFormat":1,"kind":7,"label":"ZZZ","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ZZZ","insertText":"ZZZ()","insertTextFormat":1,"kind":3,"label":"ZZZ()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sizeOf","insertText":"sizeOf","insertTextFormat":1,"kind":2,"label":"sizeOf","sortText":""},{"deprecated":false,"detail":"public func sizeOf<T>(): UIntNative","documentation":"","filterText":"sizeOf","insertText":"sizeOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"sizeOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"Frozen","documentation":"","filterText":"Frozen","insertText":"Frozen","insertTextFormat":1,"kind":14,"label":"Frozen","sortText":""}]}1+{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class Z","documentation":"","filterText":"Z","insertText":"Z","insertTextFormat":1,"kind":7,"label":"Z","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Z","insertText":"Z()","insertTextFormat":1,"kind":3,"label":"Z()","sortText":""},{"deprecated":false,"detail":"public type ZZ = Z","documentation":"","filterText":"ZZ","insertText":"ZZ","insertTextFormat":1,"kind":7,"label":"ZZ","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ZZ","insertText":"ZZ()","insertTextFormat":1,"kind":3,"label":"ZZ()","sortText":""},{"deprecated":false,"detail":"public type ZZ = Z","documentation":"","filterText":"ZZZ","insertText":"ZZZ","insertTextFormat":1,"kind":7,"label":"ZZZ","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ZZZ","insertText":"ZZZ()","insertTextFormat":1,"kind":3,"label":"ZZZ()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sizeOf","insertText":"sizeOf","insertTextFormat":1,"kind":2,"label":"sizeOf","sortText":""},{"deprecated":false,"detail":"public func sizeOf<T>(): UIntNative","documentation":"","filterText":"sizeOf","insertText":"sizeOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"sizeOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2","insertTextFormat":1,"kind":2,"label":"zeroValue2","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue2<T>(): T","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue2<T>()","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"Frozen","documentation":"","filterText":"Frozen","insertText":"Frozen","insertTextFormat":1,"kind":14,"label":"Frozen","sortText":""}]}
@@ -1 +1 @@
1-{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sizeOf","insertText":"sizeOf","insertTextFormat":1,"kind":2,"label":"sizeOf","sortText":""},{"deprecated":false,"detail":"public func sizeOf<T>(): UIntNative","documentation":"","filterText":"sizeOf","insertText":"sizeOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"sizeOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zoo","insertText":"zoo","insertTextFormat":1,"kind":2,"label":"zoo","sortText":""},{"deprecated":false,"detail":"internal func zoo(): Unit","documentation":"","filterText":"zoo","insertText":"zoo()","insertTextFormat":1,"kind":2,"label":"zoo()","sortText":""}]}1+{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sizeOf","insertText":"sizeOf","insertTextFormat":1,"kind":2,"label":"sizeOf","sortText":""},{"deprecated":false,"detail":"public func sizeOf<T>(): UIntNative","documentation":"","filterText":"sizeOf","insertText":"sizeOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"sizeOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2","insertTextFormat":1,"kind":2,"label":"zeroValue2","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue2<T>(): T","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue2<T>()","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zoo","insertText":"zoo","insertTextFormat":1,"kind":2,"label":"zoo","sortText":""},{"deprecated":false,"detail":"internal func zoo(): Unit","documentation":"","filterText":"zoo","insertText":"zoo()","insertTextFormat":1,"kind":2,"label":"zoo()","sortText":""}]}
@@ -1 +1 @@
1-{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sizeOf","insertText":"sizeOf","insertTextFormat":1,"kind":2,"label":"sizeOf","sortText":""},{"deprecated":false,"detail":"public func sizeOf<T>(): UIntNative","documentation":"","filterText":"sizeOf","insertText":"sizeOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"sizeOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zoo","insertText":"zoo","insertTextFormat":1,"kind":2,"label":"zoo","sortText":""},{"deprecated":false,"detail":"internal func zoo(): Unit","documentation":"","filterText":"zoo","insertText":"zoo()","insertTextFormat":1,"kind":2,"label":"zoo()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"Frozen","documentation":"","filterText":"Frozen","insertText":"Frozen","insertTextFormat":1,"kind":14,"label":"Frozen","sortText":""}]}1+{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sizeOf","insertText":"sizeOf","insertTextFormat":1,"kind":2,"label":"sizeOf","sortText":""},{"deprecated":false,"detail":"public func sizeOf<T>(): UIntNative","documentation":"","filterText":"sizeOf","insertText":"sizeOf<${1:T}>()","insertTextFormat":2,"kind":2,"label":"sizeOf<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue","insertText":"zeroValue","insertTextFormat":1,"kind":2,"label":"zeroValue","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2","insertTextFormat":1,"kind":2,"label":"zeroValue2","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue2<T>(): T","documentation":"","filterText":"zeroValue2","insertText":"zeroValue2<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue2<T>()","sortText":""},{"deprecated":false,"detail":"public unsafe func zeroValue<T>(): T","documentation":"","filterText":"zeroValue","insertText":"zeroValue<${1:T}>()","insertTextFormat":2,"kind":2,"label":"zeroValue<T>()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"zoo","insertText":"zoo","insertTextFormat":1,"kind":2,"label":"zoo","sortText":""},{"deprecated":false,"detail":"internal func zoo(): Unit","documentation":"","filterText":"zoo","insertText":"zoo()","insertTextFormat":1,"kind":2,"label":"zoo()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"synchronized","insertText":"synchronized","insertTextFormat":1,"kind":14,"label":"synchronized","sortText":""},{"deprecated":false,"detail":"Frozen","documentation":"","filterText":"Frozen","insertText":"Frozen","insertTextFormat":1,"kind":14,"label":"Frozen","sortText":""}]}
@@ -1 +1 @@
1-{"id":9,"jsonrpc":"2.0","result":[{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingDec","insertText":"carryingDec()","insertTextFormat":1,"kind":2,"label":"carryingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingInc","insertText":"carryingInc()","insertTextFormat":1,"kind":2,"label":"carryingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingNeg","insertText":"carryingNeg()","insertTextFormat":1,"kind":2,"label":"carryingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingShl","insertText":"carryingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"carryingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingShr","insertText":"carryingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"carryingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedDec","insertText":"checkedDec()","insertTextFormat":1,"kind":2,"label":"checkedDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedInc","insertText":"checkedInc()","insertTextFormat":1,"kind":2,"label":"checkedInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedNeg","insertText":"checkedNeg()","insertTextFormat":1,"kind":2,"label":"checkedNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedShl","insertText":"checkedShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"checkedShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedShr","insertText":"checkedShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"checkedShr(y: UInt64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public func compare(other: Int8): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:other: Int8})","insertTextFormat":2,"kind":2,"label":"compare(other: Int8)","sortText":""},{"additionalTextEdits":[{"newText":"import primaryTyExtend.extends.I3\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import primaryTyExtend.extends","documentation":"","filterText":"foo3","insertText":"foo3()","insertTextFormat":1,"kind":2,"label":"foo3()","sortText":""},{"additionalTextEdits":[{"newText":"import std.convert.Formattable\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.convert","documentation":"","filterText":"format","insertText":"format(${1:fmt: String})","insertTextFormat":2,"kind":2,"label":"format(fmt: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"next","insertText":"next","insertTextFormat":1,"kind":2,"label":"next","sortText":""},{"deprecated":false,"detail":"public func next(right: Int64): Int8","documentation":"","filterText":"next","insertText":"next(${1:right: Int64})","insertTextFormat":2,"kind":2,"label":"next(right: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"position","insertText":"position","insertTextFormat":1,"kind":2,"label":"position","sortText":""},{"deprecated":false,"detail":"public func position(): Int64","documentation":"","filterText":"position","insertText":"position()","insertTextFormat":1,"kind":2,"label":"position()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingDec","insertText":"saturatingDec()","insertTextFormat":1,"kind":2,"label":"saturatingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingInc","insertText":"saturatingInc()","insertTextFormat":1,"kind":2,"label":"saturatingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingNeg","insertText":"saturatingNeg()","insertTextFormat":1,"kind":2,"label":"saturatingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingShl","insertText":"saturatingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"saturatingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingShr","insertText":"saturatingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"saturatingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.SwapEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"swapBytes","insertText":"swapBytes()","insertTextFormat":1,"kind":2,"label":"swapBytes()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingDec","insertText":"throwingDec()","insertTextFormat":1,"kind":2,"label":"throwingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingInc","insertText":"throwingInc()","insertTextFormat":1,"kind":2,"label":"throwingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingNeg","insertText":"throwingNeg()","insertTextFormat":1,"kind":2,"label":"throwingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingShl","insertText":"throwingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"throwingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingShr","insertText":"throwingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"throwingShr(y: UInt64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.convert.RadixConvertible<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.convert","documentation":"","filterText":"toString","insertText":"toString(radix: ${1:Int64})","insertTextFormat":2,"kind":2,"label":"toString(radix!: Int64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingDec","insertText":"wrappingDec()","insertTextFormat":1,"kind":2,"label":"wrappingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingInc","insertText":"wrappingInc()","insertTextFormat":1,"kind":2,"label":"wrappingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingNeg","insertText":"wrappingNeg()","insertTextFormat":1,"kind":2,"label":"wrappingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingShl","insertText":"wrappingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"wrappingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingShr","insertText":"wrappingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"wrappingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.BigEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeBigEndian","insertText":"writeBigEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeBigEndian(buffer: Array<Byte>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.LittleEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeLittleEndian","insertText":"writeLittleEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeLittleEndian(buffer: Array<Byte>)","sortText":""}]}1+{"id":9,"jsonrpc":"2.0","result":[{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingDec","insertText":"carryingDec()","insertTextFormat":1,"kind":2,"label":"carryingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingInc","insertText":"carryingInc()","insertTextFormat":1,"kind":2,"label":"carryingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingNeg","insertText":"carryingNeg()","insertTextFormat":1,"kind":2,"label":"carryingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingShl","insertText":"carryingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"carryingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CarryingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"carryingShr","insertText":"carryingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"carryingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedDec","insertText":"checkedDec()","insertTextFormat":1,"kind":2,"label":"checkedDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedInc","insertText":"checkedInc()","insertTextFormat":1,"kind":2,"label":"checkedInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedNeg","insertText":"checkedNeg()","insertTextFormat":1,"kind":2,"label":"checkedNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedShl","insertText":"checkedShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"checkedShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.CheckedOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"checkedShr","insertText":"checkedShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"checkedShr(y: UInt64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public func compare(other: Int8): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:other: Int8})","insertTextFormat":2,"kind":2,"label":"compare(other: Int8)","sortText":""},{"additionalTextEdits":[{"newText":"import primaryTyExtend.extends.I3\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import primaryTyExtend.extends","documentation":"","filterText":"foo3","insertText":"foo3()","insertTextFormat":1,"kind":2,"label":"foo3()","sortText":""},{"additionalTextEdits":[{"newText":"import std.convert.Formattable\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.convert","documentation":"","filterText":"format","insertText":"format(${1:fmt: String})","insertTextFormat":2,"kind":2,"label":"format(fmt: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public open func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"next","insertText":"next","insertTextFormat":1,"kind":2,"label":"next","sortText":""},{"deprecated":false,"detail":"public func next(right: Int64): Int8","documentation":"","filterText":"next","insertText":"next(${1:right: Int64})","insertTextFormat":2,"kind":2,"label":"next(right: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"position","insertText":"position","insertTextFormat":1,"kind":2,"label":"position","sortText":""},{"deprecated":false,"detail":"public func position(): Int64","documentation":"","filterText":"position","insertText":"position()","insertTextFormat":1,"kind":2,"label":"position()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingDec","insertText":"saturatingDec()","insertTextFormat":1,"kind":2,"label":"saturatingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingInc","insertText":"saturatingInc()","insertTextFormat":1,"kind":2,"label":"saturatingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingNeg","insertText":"saturatingNeg()","insertTextFormat":1,"kind":2,"label":"saturatingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingShl","insertText":"saturatingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"saturatingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.SaturatingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"saturatingShr","insertText":"saturatingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"saturatingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.SwapEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"swapBytes","insertText":"swapBytes()","insertTextFormat":1,"kind":2,"label":"swapBytes()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingDec","insertText":"throwingDec()","insertTextFormat":1,"kind":2,"label":"throwingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingInc","insertText":"throwingInc()","insertTextFormat":1,"kind":2,"label":"throwingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingNeg","insertText":"throwingNeg()","insertTextFormat":1,"kind":2,"label":"throwingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingShl","insertText":"throwingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"throwingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.ThrowingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"throwingShr","insertText":"throwingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"throwingShr(y: UInt64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public open func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.convert.RadixConvertible<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.convert","documentation":"","filterText":"toString","insertText":"toString(radix: ${1:Int64})","insertTextFormat":2,"kind":2,"label":"toString(radix!: Int64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingDec","insertText":"wrappingDec()","insertTextFormat":1,"kind":2,"label":"wrappingDec()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingInc","insertText":"wrappingInc()","insertTextFormat":1,"kind":2,"label":"wrappingInc()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingNeg","insertText":"wrappingNeg()","insertTextFormat":1,"kind":2,"label":"wrappingNeg()","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingShl","insertText":"wrappingShl(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"wrappingShl(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.overflow.WrappingOp<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.overflow","documentation":"","filterText":"wrappingShr","insertText":"wrappingShr(${1:y: UInt64})","insertTextFormat":2,"kind":2,"label":"wrappingShr(y: UInt64)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.BigEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeBigEndian","insertText":"writeBigEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeBigEndian(buffer: Array<Byte>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.LittleEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeLittleEndian","insertText":"writeLittleEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeLittleEndian(buffer: Array<Byte>)","sortText":""}]}
@@ -1 +1 @@
1-{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public func compare(other: Rune): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:other: Rune})","insertTextFormat":2,"kind":2,"label":"compare(other: Rune)","sortText":""},{"additionalTextEdits":[{"newText":"import primaryTyExtend.extends.I1\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import primaryTyExtend.extends","documentation":"","filterText":"foo1","insertText":"foo1()","insertTextFormat":1,"kind":2,"label":"foo1()","sortText":""},{"additionalTextEdits":[{"newText":"import std.convert.Formattable\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.convert","documentation":"","filterText":"format","insertText":"format(${1:fmt: String})","insertTextFormat":2,"kind":2,"label":"format(fmt: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAscii","insertText":"isAscii","insertTextFormat":1,"kind":2,"label":"isAscii","sortText":""},{"deprecated":false,"detail":"public func isAscii(): Bool","documentation":"","filterText":"isAscii","insertText":"isAscii()","insertTextFormat":1,"kind":2,"label":"isAscii()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiControl","insertText":"isAsciiControl","insertTextFormat":1,"kind":2,"label":"isAsciiControl","sortText":""},{"deprecated":false,"detail":"public func isAsciiControl(): Bool","documentation":"","filterText":"isAsciiControl","insertText":"isAsciiControl()","insertTextFormat":1,"kind":2,"label":"isAsciiControl()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiGraphic","insertText":"isAsciiGraphic","insertTextFormat":1,"kind":2,"label":"isAsciiGraphic","sortText":""},{"deprecated":false,"detail":"public func isAsciiGraphic(): Bool","documentation":"","filterText":"isAsciiGraphic","insertText":"isAsciiGraphic()","insertTextFormat":1,"kind":2,"label":"isAsciiGraphic()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiHex","insertText":"isAsciiHex","insertTextFormat":1,"kind":2,"label":"isAsciiHex","sortText":""},{"deprecated":false,"detail":"public func isAsciiHex(): Bool","documentation":"","filterText":"isAsciiHex","insertText":"isAsciiHex()","insertTextFormat":1,"kind":2,"label":"isAsciiHex()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiLetter","insertText":"isAsciiLetter","insertTextFormat":1,"kind":2,"label":"isAsciiLetter","sortText":""},{"deprecated":false,"detail":"public func isAsciiLetter(): Bool","documentation":"","filterText":"isAsciiLetter","insertText":"isAsciiLetter()","insertTextFormat":1,"kind":2,"label":"isAsciiLetter()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiLowerCase","insertText":"isAsciiLowerCase","insertTextFormat":1,"kind":2,"label":"isAsciiLowerCase","sortText":""},{"deprecated":false,"detail":"public func isAsciiLowerCase(): Bool","documentation":"","filterText":"isAsciiLowerCase","insertText":"isAsciiLowerCase()","insertTextFormat":1,"kind":2,"label":"isAsciiLowerCase()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiNumber","insertText":"isAsciiNumber","insertTextFormat":1,"kind":2,"label":"isAsciiNumber","sortText":""},{"deprecated":false,"detail":"public func isAsciiNumber(): Bool","documentation":"","filterText":"isAsciiNumber","insertText":"isAsciiNumber()","insertTextFormat":1,"kind":2,"label":"isAsciiNumber()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiNumberOrLetter","insertText":"isAsciiNumberOrLetter","insertTextFormat":1,"kind":2,"label":"isAsciiNumberOrLetter","sortText":""},{"deprecated":false,"detail":"public func isAsciiNumberOrLetter(): Bool","documentation":"","filterText":"isAsciiNumberOrLetter","insertText":"isAsciiNumberOrLetter()","insertTextFormat":1,"kind":2,"label":"isAsciiNumberOrLetter()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiOct","insertText":"isAsciiOct","insertTextFormat":1,"kind":2,"label":"isAsciiOct","sortText":""},{"deprecated":false,"detail":"public func isAsciiOct(): Bool","documentation":"","filterText":"isAsciiOct","insertText":"isAsciiOct()","insertTextFormat":1,"kind":2,"label":"isAsciiOct()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiPunctuation","insertText":"isAsciiPunctuation","insertTextFormat":1,"kind":2,"label":"isAsciiPunctuation","sortText":""},{"deprecated":false,"detail":"public func isAsciiPunctuation(): Bool","documentation":"","filterText":"isAsciiPunctuation","insertText":"isAsciiPunctuation()","insertTextFormat":1,"kind":2,"label":"isAsciiPunctuation()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiUpperCase","insertText":"isAsciiUpperCase","insertTextFormat":1,"kind":2,"label":"isAsciiUpperCase","sortText":""},{"deprecated":false,"detail":"public func isAsciiUpperCase(): Bool","documentation":"","filterText":"isAsciiUpperCase","insertText":"isAsciiUpperCase()","insertTextFormat":1,"kind":2,"label":"isAsciiUpperCase()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiWhiteSpace","insertText":"isAsciiWhiteSpace","insertTextFormat":1,"kind":2,"label":"isAsciiWhiteSpace","sortText":""},{"deprecated":false,"detail":"public func isAsciiWhiteSpace(): Bool","documentation":"","filterText":"isAsciiWhiteSpace","insertText":"isAsciiWhiteSpace()","insertTextFormat":1,"kind":2,"label":"isAsciiWhiteSpace()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isLetter","insertText":"isLetter()","insertTextFormat":1,"kind":2,"label":"isLetter()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isLowerCase","insertText":"isLowerCase()","insertTextFormat":1,"kind":2,"label":"isLowerCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isNumber","insertText":"isNumber()","insertTextFormat":1,"kind":2,"label":"isNumber()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isTitleCase","insertText":"isTitleCase()","insertTextFormat":1,"kind":2,"label":"isTitleCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isUpperCase","insertText":"isUpperCase()","insertTextFormat":1,"kind":2,"label":"isUpperCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isWhiteSpace","insertText":"isWhiteSpace()","insertTextFormat":1,"kind":2,"label":"isWhiteSpace()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"next","insertText":"next","insertTextFormat":1,"kind":2,"label":"next","sortText":""},{"deprecated":false,"detail":"public func next(right: Int64): Rune","documentation":"","filterText":"next","insertText":"next(${1:right: Int64})","insertTextFormat":2,"kind":2,"label":"next(right: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"position","insertText":"position","insertTextFormat":1,"kind":2,"label":"position","sortText":""},{"deprecated":false,"detail":"public func position(): Int64","documentation":"","filterText":"position","insertText":"position()","insertTextFormat":1,"kind":2,"label":"position()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toAsciiLowerCase","insertText":"toAsciiLowerCase","insertTextFormat":1,"kind":2,"label":"toAsciiLowerCase","sortText":""},{"deprecated":false,"detail":"public func toAsciiLowerCase(): Rune","documentation":"","filterText":"toAsciiLowerCase","insertText":"toAsciiLowerCase()","insertTextFormat":1,"kind":2,"label":"toAsciiLowerCase()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toAsciiUpperCase","insertText":"toAsciiUpperCase","insertTextFormat":1,"kind":2,"label":"toAsciiUpperCase","sortText":""},{"deprecated":false,"detail":"public func toAsciiUpperCase(): Rune","documentation":"","filterText":"toAsciiUpperCase","insertText":"toAsciiUpperCase()","insertTextFormat":1,"kind":2,"label":"toAsciiUpperCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toLowerCase","insertText":"toLowerCase()","insertTextFormat":1,"kind":2,"label":"toLowerCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toLowerCase","insertText":"toLowerCase(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toLowerCase(opt: CasingOption)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toTitleCase","insertText":"toTitleCase()","insertTextFormat":1,"kind":2,"label":"toTitleCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toTitleCase","insertText":"toTitleCase(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toTitleCase(opt: CasingOption)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toUpperCase","insertText":"toUpperCase()","insertTextFormat":1,"kind":2,"label":"toUpperCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toUpperCase","insertText":"toUpperCase(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toUpperCase(opt: CasingOption)","sortText":""}]}1+{"id":9,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"","documentation":"","filterText":"compare","insertText":"compare","insertTextFormat":1,"kind":2,"label":"compare","sortText":""},{"deprecated":false,"detail":"public func compare(other: Rune): Ordering","documentation":"","filterText":"compare","insertText":"compare(${1:other: Rune})","insertTextFormat":2,"kind":2,"label":"compare(other: Rune)","sortText":""},{"additionalTextEdits":[{"newText":"import primaryTyExtend.extends.I1\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import primaryTyExtend.extends","documentation":"","filterText":"foo1","insertText":"foo1()","insertTextFormat":1,"kind":2,"label":"foo1()","sortText":""},{"additionalTextEdits":[{"newText":"import std.convert.Formattable\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.convert","documentation":"","filterText":"format","insertText":"format(${1:fmt: String})","insertTextFormat":2,"kind":2,"label":"format(fmt: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public open func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAscii","insertText":"isAscii","insertTextFormat":1,"kind":2,"label":"isAscii","sortText":""},{"deprecated":false,"detail":"public func isAscii(): Bool","documentation":"","filterText":"isAscii","insertText":"isAscii()","insertTextFormat":1,"kind":2,"label":"isAscii()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiControl","insertText":"isAsciiControl","insertTextFormat":1,"kind":2,"label":"isAsciiControl","sortText":""},{"deprecated":false,"detail":"public func isAsciiControl(): Bool","documentation":"","filterText":"isAsciiControl","insertText":"isAsciiControl()","insertTextFormat":1,"kind":2,"label":"isAsciiControl()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiGraphic","insertText":"isAsciiGraphic","insertTextFormat":1,"kind":2,"label":"isAsciiGraphic","sortText":""},{"deprecated":false,"detail":"public func isAsciiGraphic(): Bool","documentation":"","filterText":"isAsciiGraphic","insertText":"isAsciiGraphic()","insertTextFormat":1,"kind":2,"label":"isAsciiGraphic()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiHex","insertText":"isAsciiHex","insertTextFormat":1,"kind":2,"label":"isAsciiHex","sortText":""},{"deprecated":false,"detail":"public func isAsciiHex(): Bool","documentation":"","filterText":"isAsciiHex","insertText":"isAsciiHex()","insertTextFormat":1,"kind":2,"label":"isAsciiHex()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiLetter","insertText":"isAsciiLetter","insertTextFormat":1,"kind":2,"label":"isAsciiLetter","sortText":""},{"deprecated":false,"detail":"public func isAsciiLetter(): Bool","documentation":"","filterText":"isAsciiLetter","insertText":"isAsciiLetter()","insertTextFormat":1,"kind":2,"label":"isAsciiLetter()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiLowerCase","insertText":"isAsciiLowerCase","insertTextFormat":1,"kind":2,"label":"isAsciiLowerCase","sortText":""},{"deprecated":false,"detail":"public func isAsciiLowerCase(): Bool","documentation":"","filterText":"isAsciiLowerCase","insertText":"isAsciiLowerCase()","insertTextFormat":1,"kind":2,"label":"isAsciiLowerCase()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiNumber","insertText":"isAsciiNumber","insertTextFormat":1,"kind":2,"label":"isAsciiNumber","sortText":""},{"deprecated":false,"detail":"public func isAsciiNumber(): Bool","documentation":"","filterText":"isAsciiNumber","insertText":"isAsciiNumber()","insertTextFormat":1,"kind":2,"label":"isAsciiNumber()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiNumberOrLetter","insertText":"isAsciiNumberOrLetter","insertTextFormat":1,"kind":2,"label":"isAsciiNumberOrLetter","sortText":""},{"deprecated":false,"detail":"public func isAsciiNumberOrLetter(): Bool","documentation":"","filterText":"isAsciiNumberOrLetter","insertText":"isAsciiNumberOrLetter()","insertTextFormat":1,"kind":2,"label":"isAsciiNumberOrLetter()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiOct","insertText":"isAsciiOct","insertTextFormat":1,"kind":2,"label":"isAsciiOct","sortText":""},{"deprecated":false,"detail":"public func isAsciiOct(): Bool","documentation":"","filterText":"isAsciiOct","insertText":"isAsciiOct()","insertTextFormat":1,"kind":2,"label":"isAsciiOct()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiPunctuation","insertText":"isAsciiPunctuation","insertTextFormat":1,"kind":2,"label":"isAsciiPunctuation","sortText":""},{"deprecated":false,"detail":"public func isAsciiPunctuation(): Bool","documentation":"","filterText":"isAsciiPunctuation","insertText":"isAsciiPunctuation()","insertTextFormat":1,"kind":2,"label":"isAsciiPunctuation()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiUpperCase","insertText":"isAsciiUpperCase","insertTextFormat":1,"kind":2,"label":"isAsciiUpperCase","sortText":""},{"deprecated":false,"detail":"public func isAsciiUpperCase(): Bool","documentation":"","filterText":"isAsciiUpperCase","insertText":"isAsciiUpperCase()","insertTextFormat":1,"kind":2,"label":"isAsciiUpperCase()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"isAsciiWhiteSpace","insertText":"isAsciiWhiteSpace","insertTextFormat":1,"kind":2,"label":"isAsciiWhiteSpace","sortText":""},{"deprecated":false,"detail":"public func isAsciiWhiteSpace(): Bool","documentation":"","filterText":"isAsciiWhiteSpace","insertText":"isAsciiWhiteSpace()","insertTextFormat":1,"kind":2,"label":"isAsciiWhiteSpace()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isLetter","insertText":"isLetter()","insertTextFormat":1,"kind":2,"label":"isLetter()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isLowerCase","insertText":"isLowerCase()","insertTextFormat":1,"kind":2,"label":"isLowerCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isNumber","insertText":"isNumber()","insertTextFormat":1,"kind":2,"label":"isNumber()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isTitleCase","insertText":"isTitleCase()","insertTextFormat":1,"kind":2,"label":"isTitleCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isUpperCase","insertText":"isUpperCase()","insertTextFormat":1,"kind":2,"label":"isUpperCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"isWhiteSpace","insertText":"isWhiteSpace()","insertTextFormat":1,"kind":2,"label":"isWhiteSpace()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"next","insertText":"next","insertTextFormat":1,"kind":2,"label":"next","sortText":""},{"deprecated":false,"detail":"public func next(right: Int64): Rune","documentation":"","filterText":"next","insertText":"next(${1:right: Int64})","insertTextFormat":2,"kind":2,"label":"next(right: Int64)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"position","insertText":"position","insertTextFormat":1,"kind":2,"label":"position","sortText":""},{"deprecated":false,"detail":"public func position(): Int64","documentation":"","filterText":"position","insertText":"position()","insertTextFormat":1,"kind":2,"label":"position()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toAsciiLowerCase","insertText":"toAsciiLowerCase","insertTextFormat":1,"kind":2,"label":"toAsciiLowerCase","sortText":""},{"deprecated":false,"detail":"public func toAsciiLowerCase(): Rune","documentation":"","filterText":"toAsciiLowerCase","insertText":"toAsciiLowerCase()","insertTextFormat":1,"kind":2,"label":"toAsciiLowerCase()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toAsciiUpperCase","insertText":"toAsciiUpperCase","insertTextFormat":1,"kind":2,"label":"toAsciiUpperCase","sortText":""},{"deprecated":false,"detail":"public func toAsciiUpperCase(): Rune","documentation":"","filterText":"toAsciiUpperCase","insertText":"toAsciiUpperCase()","insertTextFormat":1,"kind":2,"label":"toAsciiUpperCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toLowerCase","insertText":"toLowerCase()","insertTextFormat":1,"kind":2,"label":"toLowerCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toLowerCase","insertText":"toLowerCase(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toLowerCase(opt: CasingOption)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public open func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toTitleCase","insertText":"toTitleCase()","insertTextFormat":1,"kind":2,"label":"toTitleCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toTitleCase","insertText":"toTitleCase(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toTitleCase(opt: CasingOption)","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toUpperCase","insertText":"toUpperCase()","insertTextFormat":1,"kind":2,"label":"toUpperCase()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unicode.UnicodeRuneExtension\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unicode","documentation":"","filterText":"toUpperCase","insertText":"toUpperCase(${1:opt: CasingOption})","insertTextFormat":2,"kind":2,"label":"toUpperCase(opt: CasingOption)","sortText":""}]}
@@ -1 +1 @@
1-{"id":9,"jsonrpc":"2.0","result":[{"additionalTextEdits":[{"newText":"import primaryTyExtend.extends.I2\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import primaryTyExtend.extends","documentation":"","filterText":"foo2","insertText":"foo2()","insertTextFormat":1,"kind":2,"label":"foo2()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.BigEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeBigEndian","insertText":"writeBigEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeBigEndian(buffer: Array<Byte>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.LittleEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeLittleEndian","insertText":"writeLittleEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeLittleEndian(buffer: Array<Byte>)","sortText":""}]}1+{"id":9,"jsonrpc":"2.0","result":[{"additionalTextEdits":[{"newText":"import primaryTyExtend.extends.I2\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import primaryTyExtend.extends","documentation":"","filterText":"foo2","insertText":"foo2()","insertTextFormat":1,"kind":2,"label":"foo2()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public open func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public open func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.BigEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeBigEndian","insertText":"writeBigEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeBigEndian(buffer: Array<Byte>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.LittleEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeLittleEndian","insertText":"writeLittleEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeLittleEndian(buffer: Array<Byte>)","sortText":""}]}
@@ -1 +1 @@
1-{"id":9,"jsonrpc":"2.0","result":[{"additionalTextEdits":[{"newText":"import primaryTyExtend.extends.I2\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import primaryTyExtend.extends","documentation":"","filterText":"foo2","insertText":"foo2()","insertTextFormat":1,"kind":2,"label":"foo2()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.BigEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeBigEndian","insertText":"writeBigEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeBigEndian(buffer: Array<Byte>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.LittleEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeLittleEndian","insertText":"writeLittleEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeLittleEndian(buffer: Array<Byte>)","sortText":""}]}1+{"id":9,"jsonrpc":"2.0","result":[{"additionalTextEdits":[{"newText":"import primaryTyExtend.extends.I2\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import primaryTyExtend.extends","documentation":"","filterText":"foo2","insertText":"foo2()","insertTextFormat":1,"kind":2,"label":"foo2()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"hashCode","insertText":"hashCode","insertTextFormat":1,"kind":2,"label":"hashCode","sortText":""},{"deprecated":false,"detail":"public open func hashCode(): Int64","documentation":"","filterText":"hashCode","insertText":"hashCode()","insertTextFormat":1,"kind":2,"label":"hashCode()","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.prop_test.Shrink<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest.prop_test","documentation":"","filterText":"shrink","insertText":"shrink()","insertTextFormat":1,"kind":2,"label":"shrink()","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"toString","insertText":"toString","insertTextFormat":1,"kind":2,"label":"toString","sortText":""},{"deprecated":false,"detail":"public open func toString(): String","documentation":"","filterText":"toString","insertText":"toString()","insertTextFormat":1,"kind":2,"label":"toString()","sortText":""},{"additionalTextEdits":[{"newText":"import std.ast.ToTokens\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.ast","documentation":"","filterText":"toTokens","insertText":"toTokens()","insertTextFormat":1,"kind":2,"label":"toTokens()","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.BigEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeBigEndian","insertText":"writeBigEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeBigEndian(buffer: Array<Byte>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.binary.LittleEndianOrder<T>\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.binary","documentation":"","filterText":"writeLittleEndian","insertText":"writeLittleEndian(${1:buffer: Array<Byte>})","insertTextFormat":2,"kind":2,"label":"writeLittleEndian(buffer: Array<Byte>)","sortText":""}]}
@@ -1 +1 @@
1-{"id":5,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public open class ArithmeticException <: Exception","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException","insertTextFormat":1,"kind":7,"label":"ArithmeticException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException()","insertTextFormat":1,"kind":3,"label":"ArithmeticException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"ArithmeticException(message: String)","sortText":""},{"deprecated":false,"detail":"public Type CPointer<T>","documentation":"","filterText":"CPointer","insertText":"CPointer<${1:T}>","insertTextFormat":2,"kind":7,"label":"CPointer<T>","sortText":""},{"deprecated":false,"detail":"public struct CPointerHandle<T>","documentation":"","filterText":"CPointerHandle","insertText":"CPointerHandle<${1:T}>","insertTextFormat":2,"kind":22,"label":"CPointerHandle<T>","sortText":""},{"deprecated":true,"detail":"public func init()","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>()","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>()","sortText":""},{"deprecated":true,"detail":"public func init(ptr: CPointer<T>, arr: Array<T>)","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>(${3:ptr: CPointer<T>}, ${4:arr: Array<T>})","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>(ptr: CPointer<T>, arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"public struct CPointerResource<T>","documentation":"","filterText":"CPointerResource","insertText":"CPointerResource<${1:T}>","insertTextFormat":2,"kind":22,"label":"CPointerResource<T>","sortText":""},{"deprecated":false,"detail":"public sealed open interface CType","documentation":"","filterText":"CType","insertText":"CType","insertTextFormat":1,"kind":8,"label":"CType","sortText":""},{"deprecated":false,"detail":"public interface Comparable<T> extends Equatable<T>, Less<T>, Greater<T>, LessOrEqual<T>, GreaterOrEqual<T>","documentation":"","filterText":"Comparable","insertText":"Comparable<${1:T}>","insertTextFormat":2,"kind":8,"label":"Comparable<T>","sortText":""},{"deprecated":false,"detail":"public open class Exception <: ToString","documentation":"","filterText":"Exception","insertText":"Exception","insertTextFormat":1,"kind":7,"label":"Exception","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Exception","insertText":"Exception()","insertTextFormat":1,"kind":3,"label":"Exception()","sortText":""},{"deprecated":false,"detail":"public func init(causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String})","insertTextFormat":2,"kind":3,"label":"Exception(message: String)","sortText":""},{"deprecated":false,"detail":"public func init(message: String, causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String}, ${2:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(message: String, causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public class ExclusiveScopeException <: Exception","documentation":"","filterText":"ExclusiveScopeException","insertText":"ExclusiveScopeException","insertTextFormat":1,"kind":7,"label":"ExclusiveScopeException","sortText":""},{"deprecated":false,"detail":"public open class IllegalArgumentException <: Exception","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException","insertTextFormat":1,"kind":7,"label":"IllegalArgumentException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException()","insertTextFormat":1,"kind":3,"label":"IllegalArgumentException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalArgumentException(message: String)","sortText":""},{"deprecated":false,"detail":"public open class IllegalFormatException <: IllegalArgumentException","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException","insertTextFormat":1,"kind":7,"label":"IllegalFormatException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException()","insertTextFormat":1,"kind":3,"label":"IllegalFormatException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalFormatException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalMemoryException <: Exception","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException","insertTextFormat":1,"kind":7,"label":"IllegalMemoryException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException()","insertTextFormat":1,"kind":3,"label":"IllegalMemoryException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalMemoryException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalStateException <: Exception","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException","insertTextFormat":1,"kind":7,"label":"IllegalStateException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException()","insertTextFormat":1,"kind":3,"label":"IllegalStateException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalStateException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IncompatiblePackageException <: Exception","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException","insertTextFormat":1,"kind":7,"label":"IncompatiblePackageException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException()","insertTextFormat":1,"kind":3,"label":"IncompatiblePackageException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IncompatiblePackageException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IndexOutOfBoundsException <: Exception","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException","insertTextFormat":1,"kind":7,"label":"IndexOutOfBoundsException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException()","insertTextFormat":1,"kind":3,"label":"IndexOutOfBoundsException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IndexOutOfBoundsException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NoneValueException <: Exception","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException","insertTextFormat":1,"kind":7,"label":"NoneValueException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException()","insertTextFormat":1,"kind":3,"label":"NoneValueException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NoneValueException(message: String)","sortText":""},{"deprecated":false,"detail":"public enum Option<T>","documentation":"","filterText":"Option","insertText":"Option<${1:T}>","insertTextFormat":2,"kind":13,"label":"Option<T>","sortText":""},{"deprecated":false,"detail":"public class OverflowException <: ArithmeticException","documentation":"","filterText":"OverflowException","insertText":"OverflowException","insertTextFormat":1,"kind":7,"label":"OverflowException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"OverflowException","insertText":"OverflowException()","insertTextFormat":1,"kind":3,"label":"OverflowException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"OverflowException","insertText":"OverflowException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"OverflowException(message: String)","sortText":""},{"deprecated":false,"detail":"public class SpawnException <: Exception","documentation":"","filterText":"SpawnException","insertText":"SpawnException","insertTextFormat":1,"kind":7,"label":"SpawnException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"SpawnException","insertText":"SpawnException()","insertTextFormat":1,"kind":3,"label":"SpawnException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"SpawnException","insertText":"SpawnException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"SpawnException(message: String)","sortText":""},{"deprecated":false,"detail":"public class ThreadSnapshot <: ToString","documentation":"","filterText":"ThreadSnapshot","insertText":"ThreadSnapshot","insertTextFormat":1,"kind":7,"label":"ThreadSnapshot","sortText":""},{"deprecated":false,"detail":"public class TimeoutException <: Exception","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException","insertTextFormat":1,"kind":7,"label":"TimeoutException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException()","insertTextFormat":1,"kind":3,"label":"TimeoutException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"TimeoutException(message: String)","sortText":""},{"deprecated":false,"detail":"public class UnsupportedException <: Exception","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException","insertTextFormat":1,"kind":7,"label":"UnsupportedException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException()","insertTextFormat":1,"kind":3,"label":"UnsupportedException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"UnsupportedException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"eprint","insertText":"eprint","insertTextFormat":1,"kind":2,"label":"eprint","sortText":""},{"deprecated":false,"detail":"public func eprint(str: String, flush!: Bool = true): Unit","documentation":"","filterText":"eprint","insertText":"eprint(${1:str: String}, flush: ${2:Bool = true})","insertTextFormat":2,"kind":2,"label":"eprint(str: String, flush!: Bool = true)","sortText":""},{"deprecated":false,"detail":"public func eprint<T>(arg: T, flush!: Bool = false): Unit","documentation":"","filterText":"eprint","insertText":"eprint<${1:T}>(${3:arg: T}, flush: ${4:Bool = false})","insertTextFormat":2,"kind":2,"label":"eprint<T>(arg: T, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"eprintln","insertText":"eprintln","insertTextFormat":1,"kind":2,"label":"eprintln","sortText":""},{"deprecated":false,"detail":"public func eprintln(str: String): Unit","documentation":"","filterText":"eprintln","insertText":"eprintln(${1:str: String})","insertTextFormat":2,"kind":2,"label":"eprintln(str: String)","sortText":""},{"deprecated":false,"detail":"public func eprintln<T>(arg: T): Unit","documentation":"","filterText":"eprintln","insertText":"eprintln<${1:T}>(${3:arg: T})","insertTextFormat":2,"kind":2,"label":"eprintln<T>(arg: T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope","insertTextFormat":1,"kind":2,"label":"exclusiveScope","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}> { => ${3:T} }","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T> { => T }","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}>(${3:fn: () -> T})","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T>(fn: () -> T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"print","insertText":"print","insertTextFormat":1,"kind":2,"label":"print","sortText":""},{"deprecated":false,"detail":"public func print(b: Bool, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:b: Bool}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(b: Bool, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(c: Rune, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:c: Rune}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(c: Rune, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int8, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int8}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int8, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt8, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt8}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt8, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(str: String, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:str: String}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(str: String, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print<T>(arg: T, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print<${1:T}>(${3:arg: T}, flush: ${4:Bool = false})","insertTextFormat":2,"kind":2,"label":"print<T>(arg: T, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"println","insertText":"println","insertTextFormat":1,"kind":2,"label":"println","sortText":""},{"deprecated":false,"detail":"public func println(): Unit","documentation":"","filterText":"println","insertText":"println()","insertTextFormat":1,"kind":2,"label":"println()","sortText":""},{"deprecated":false,"detail":"public func println(b: Bool): Unit","documentation":"","filterText":"println","insertText":"println(${1:b: Bool})","insertTextFormat":2,"kind":2,"label":"println(b: Bool)","sortText":""},{"deprecated":false,"detail":"public func println(c: Rune): Unit","documentation":"","filterText":"println","insertText":"println(${1:c: Rune})","insertTextFormat":2,"kind":2,"label":"println(c: Rune)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float16): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float16})","insertTextFormat":2,"kind":2,"label":"println(f: Float16)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float32): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float32})","insertTextFormat":2,"kind":2,"label":"println(f: Float32)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float64): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float64})","insertTextFormat":2,"kind":2,"label":"println(f: Float64)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int16): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int16})","insertTextFormat":2,"kind":2,"label":"println(i: Int16)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int32): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int32})","insertTextFormat":2,"kind":2,"label":"println(i: Int32)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int64): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int64})","insertTextFormat":2,"kind":2,"label":"println(i: Int64)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int8): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int8})","insertTextFormat":2,"kind":2,"label":"println(i: Int8)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt16): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt16})","insertTextFormat":2,"kind":2,"label":"println(i: UInt16)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt32): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt32})","insertTextFormat":2,"kind":2,"label":"println(i: UInt32)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt64): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt64})","insertTextFormat":2,"kind":2,"label":"println(i: UInt64)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt8): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt8})","insertTextFormat":2,"kind":2,"label":"println(i: UInt8)","sortText":""},{"deprecated":false,"detail":"public func println(str: String): Unit","documentation":"","filterText":"println","insertText":"println(${1:str: String})","insertTextFormat":2,"kind":2,"label":"println(str: String)","sortText":""},{"deprecated":false,"detail":"public func println<T>(arg: T): Unit","documentation":"","filterText":"println","insertText":"println<${1:T}>(${3:arg: T})","insertTextFormat":2,"kind":2,"label":"println<T>(arg: T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sleep","insertText":"sleep","insertTextFormat":1,"kind":2,"label":"sleep","sortText":""},{"deprecated":false,"detail":"public func sleep(dur: Duration): Unit","documentation":"","filterText":"sleep","insertText":"sleep(${1:dur: Duration})","insertTextFormat":2,"kind":2,"label":"sleep(dur: Duration)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"package","insertText":"package","insertTextFormat":1,"kind":14,"label":"package","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"import","insertText":"import","insertTextFormat":1,"kind":14,"label":"import","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"type","insertText":"type","insertTextFormat":1,"kind":14,"label":"type","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"super","insertText":"super","insertTextFormat":1,"kind":14,"label":"super","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"prop","insertText":"prop","insertTextFormat":1,"kind":14,"label":"prop","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"public","insertText":"public","insertTextFormat":1,"kind":14,"label":"public","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"private","insertText":"private","insertTextFormat":1,"kind":14,"label":"private","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"protected","insertText":"protected","insertTextFormat":1,"kind":14,"label":"protected","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"open","insertText":"open","insertTextFormat":1,"kind":14,"label":"open","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"operator","insertText":"operator","insertTextFormat":1,"kind":14,"label":"operator","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"spawn","insertText":"spawn","insertTextFormat":1,"kind":14,"label":"spawn","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"specific","insertText":"specific","insertTextFormat":1,"kind":14,"label":"specific","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"except","insertText":"except","insertTextFormat":1,"kind":14,"label":"except","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"primal","insertText":"primal","insertTextFormat":1,"kind":14,"label":"primal","sortText":""},{"deprecated":false,"detail":"type newName = originalName","documentation":"","filterText":"type","insertText":"type ${1:newName} = ${0:originalName}","insertTextFormat":2,"kind":14,"label":"type newName = originalName","sortText":""},{"deprecated":false,"detail":"import pkgName.* as newName.*","documentation":"","filterText":"import","insertText":"import ${1:pkgName.*} as ${0:newName.*}","insertTextFormat":2,"kind":14,"label":"import pkgName.* as newName.*","sortText":""},{"deprecated":false,"detail":"spawn {}","documentation":"","filterText":"spawn","insertText":"spawn {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"spawn {}","sortText":""},{"deprecated":false,"detail":"spawn(threadContext) {}","documentation":"","filterText":"spawn","insertText":"spawn(${1:threadContext}) {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"spawn(threadContext) {}","sortText":""},{"deprecated":false,"detail":"Deprecated","documentation":"","filterText":"Deprecated","insertText":"Deprecated","insertTextFormat":1,"kind":14,"label":"Deprecated","sortText":""},{"deprecated":false,"detail":"prop name: T {get(){val}}","documentation":"","filterText":"prop","insertText":"prop ${0:name}: ${1:T} {\n\tget() {\n\t\t${3:val}\n\t}\n}","insertTextFormat":2,"kind":14,"label":"prop name: T {get(){val}}","sortText":""},{"deprecated":false,"detail":"prop name: T {get(){val} set(v){}}","documentation":"","filterText":"prop","insertText":"prop ${0:name}: ${1:T} {\n\tget() {\n\t\t${3:val}\n\t}\n\tset(v) {\n\t}\n}","insertTextFormat":2,"kind":14,"label":"prop name: T {get(){val} set(v){}}","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataProvider\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataProvider","insertText":"DataProvider<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataProvider<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}, ${2:validator: (Any) -> OptionValidity})","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String, validator: (Any) -> OptionValidity)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}) { arg1: Any => ${2:OptionValidity} }","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String) { Any => OptionValidity }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.setOptionInfo\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"setOptionInfo","insertText":"setOptionInfo(${1:name: String}, ${2:types: Array<String>}, description: ${3:Option<String>})","insertTextFormat":2,"kind":2,"label":"setOptionInfo(name: String, types: Array<String>, description!: Option<String>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""}]}1+{"id":5,"jsonrpc":"2.0","result":[{"deprecated":false,"detail":"public open class ArithmeticException <: Exception","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException","insertTextFormat":1,"kind":7,"label":"ArithmeticException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException()","insertTextFormat":1,"kind":3,"label":"ArithmeticException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"ArithmeticException","insertText":"ArithmeticException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"ArithmeticException(message: String)","sortText":""},{"deprecated":false,"detail":"public Type CPointer<T>","documentation":"","filterText":"CPointer","insertText":"CPointer<${1:T}>","insertTextFormat":2,"kind":7,"label":"CPointer<T>","sortText":""},{"deprecated":false,"detail":"public struct CPointerHandle<T>","documentation":"","filterText":"CPointerHandle","insertText":"CPointerHandle<${1:T}>","insertTextFormat":2,"kind":22,"label":"CPointerHandle<T>","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>()","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>()","sortText":""},{"deprecated":false,"detail":"public func init(ptr: CPointer<T>, arr: Array<T>)","documentation":"","filterText":"CPointerHandle<T>","insertText":"CPointerHandle<${1:T}>(${3:ptr: CPointer<T>}, ${4:arr: Array<T>})","insertTextFormat":2,"kind":3,"label":"CPointerHandle<T>(ptr: CPointer<T>, arr: Array<T>)","sortText":""},{"deprecated":false,"detail":"public struct CPointerResource<T>","documentation":"","filterText":"CPointerResource","insertText":"CPointerResource<${1:T}>","insertTextFormat":2,"kind":22,"label":"CPointerResource<T>","sortText":""},{"deprecated":false,"detail":"public sealed open interface CType","documentation":"","filterText":"CType","insertText":"CType","insertTextFormat":1,"kind":8,"label":"CType","sortText":""},{"deprecated":false,"detail":"public interface Comparable<T> extends Equatable<T>, Less<T>, Greater<T>, LessOrEqual<T>, GreaterOrEqual<T>","documentation":"","filterText":"Comparable","insertText":"Comparable<${1:T}>","insertTextFormat":2,"kind":8,"label":"Comparable<T>","sortText":""},{"deprecated":false,"detail":"public sealed open interface Copyable","documentation":"","filterText":"Copyable","insertText":"Copyable","insertTextFormat":1,"kind":8,"label":"Copyable","sortText":""},{"deprecated":false,"detail":"public open class Exception <: ToString","documentation":"","filterText":"Exception","insertText":"Exception","insertTextFormat":1,"kind":7,"label":"Exception","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"Exception","insertText":"Exception()","insertTextFormat":1,"kind":3,"label":"Exception()","sortText":""},{"deprecated":false,"detail":"public func init(causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String})","insertTextFormat":2,"kind":3,"label":"Exception(message: String)","sortText":""},{"deprecated":false,"detail":"public func init(message: String, causedBy: Exception)","documentation":"","filterText":"Exception","insertText":"Exception(${1:message: String}, ${2:causedBy: Exception})","insertTextFormat":2,"kind":3,"label":"Exception(message: String, causedBy: Exception)","sortText":""},{"deprecated":false,"detail":"public class ExclusiveScopeException <: Exception","documentation":"","filterText":"ExclusiveScopeException","insertText":"ExclusiveScopeException","insertTextFormat":1,"kind":7,"label":"ExclusiveScopeException","sortText":""},{"deprecated":false,"detail":"public open class IllegalArgumentException <: Exception","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException","insertTextFormat":1,"kind":7,"label":"IllegalArgumentException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException()","insertTextFormat":1,"kind":3,"label":"IllegalArgumentException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalArgumentException","insertText":"IllegalArgumentException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalArgumentException(message: String)","sortText":""},{"deprecated":false,"detail":"public open class IllegalFormatException <: IllegalArgumentException","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException","insertTextFormat":1,"kind":7,"label":"IllegalFormatException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException()","insertTextFormat":1,"kind":3,"label":"IllegalFormatException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalFormatException","insertText":"IllegalFormatException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalFormatException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalMemoryException <: Exception","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException","insertTextFormat":1,"kind":7,"label":"IllegalMemoryException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException()","insertTextFormat":1,"kind":3,"label":"IllegalMemoryException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalMemoryException","insertText":"IllegalMemoryException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalMemoryException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IllegalStateException <: Exception","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException","insertTextFormat":1,"kind":7,"label":"IllegalStateException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException()","insertTextFormat":1,"kind":3,"label":"IllegalStateException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IllegalStateException","insertText":"IllegalStateException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IllegalStateException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IncompatiblePackageException <: Exception","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException","insertTextFormat":1,"kind":7,"label":"IncompatiblePackageException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException()","insertTextFormat":1,"kind":3,"label":"IncompatiblePackageException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IncompatiblePackageException","insertText":"IncompatiblePackageException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IncompatiblePackageException(message: String)","sortText":""},{"deprecated":false,"detail":"public class IndexOutOfBoundsException <: Exception","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException","insertTextFormat":1,"kind":7,"label":"IndexOutOfBoundsException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException()","insertTextFormat":1,"kind":3,"label":"IndexOutOfBoundsException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"IndexOutOfBoundsException","insertText":"IndexOutOfBoundsException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"IndexOutOfBoundsException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NegativeArraySizeException <: Exception","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException","insertTextFormat":1,"kind":7,"label":"NegativeArraySizeException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException()","insertTextFormat":1,"kind":3,"label":"NegativeArraySizeException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NegativeArraySizeException","insertText":"NegativeArraySizeException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NegativeArraySizeException(message: String)","sortText":""},{"deprecated":false,"detail":"public class NoneValueException <: Exception","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException","insertTextFormat":1,"kind":7,"label":"NoneValueException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException()","insertTextFormat":1,"kind":3,"label":"NoneValueException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"NoneValueException","insertText":"NoneValueException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"NoneValueException(message: String)","sortText":""},{"deprecated":false,"detail":"public enum Option<T>","documentation":"","filterText":"Option","insertText":"Option<${1:T}>","insertTextFormat":2,"kind":13,"label":"Option<T>","sortText":""},{"deprecated":false,"detail":"public class OverflowException <: ArithmeticException","documentation":"","filterText":"OverflowException","insertText":"OverflowException","insertTextFormat":1,"kind":7,"label":"OverflowException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"OverflowException","insertText":"OverflowException()","insertTextFormat":1,"kind":3,"label":"OverflowException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"OverflowException","insertText":"OverflowException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"OverflowException(message: String)","sortText":""},{"deprecated":false,"detail":"public class SpawnException <: Exception","documentation":"","filterText":"SpawnException","insertText":"SpawnException","insertTextFormat":1,"kind":7,"label":"SpawnException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"SpawnException","insertText":"SpawnException()","insertTextFormat":1,"kind":3,"label":"SpawnException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"SpawnException","insertText":"SpawnException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"SpawnException(message: String)","sortText":""},{"deprecated":false,"detail":"public class ThreadSnapshot <: ToString","documentation":"","filterText":"ThreadSnapshot","insertText":"ThreadSnapshot","insertTextFormat":1,"kind":7,"label":"ThreadSnapshot","sortText":""},{"deprecated":false,"detail":"public class TimeoutException <: Exception","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException","insertTextFormat":1,"kind":7,"label":"TimeoutException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException()","insertTextFormat":1,"kind":3,"label":"TimeoutException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"TimeoutException","insertText":"TimeoutException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"TimeoutException(message: String)","sortText":""},{"deprecated":false,"detail":"public class UnsupportedException <: Exception","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException","insertTextFormat":1,"kind":7,"label":"UnsupportedException","sortText":""},{"deprecated":false,"detail":"public func init()","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException()","insertTextFormat":1,"kind":3,"label":"UnsupportedException()","sortText":""},{"deprecated":false,"detail":"public func init(message: String)","documentation":"","filterText":"UnsupportedException","insertText":"UnsupportedException(${1:message: String})","insertTextFormat":2,"kind":3,"label":"UnsupportedException(message: String)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"eprint","insertText":"eprint","insertTextFormat":1,"kind":2,"label":"eprint","sortText":""},{"deprecated":false,"detail":"public func eprint(str: String, flush!: Bool = true): Unit","documentation":"","filterText":"eprint","insertText":"eprint(${1:str: String}, flush: ${2:Bool = true})","insertTextFormat":2,"kind":2,"label":"eprint(str: String, flush!: Bool = true)","sortText":""},{"deprecated":false,"detail":"public func eprint<T>(arg: T, flush!: Bool = false): Unit","documentation":"","filterText":"eprint","insertText":"eprint<${1:T}>(${3:arg: T}, flush: ${4:Bool = false})","insertTextFormat":2,"kind":2,"label":"eprint<T>(arg: T, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"eprintln","insertText":"eprintln","insertTextFormat":1,"kind":2,"label":"eprintln","sortText":""},{"deprecated":false,"detail":"public func eprintln(str: String): Unit","documentation":"","filterText":"eprintln","insertText":"eprintln(${1:str: String})","insertTextFormat":2,"kind":2,"label":"eprintln(str: String)","sortText":""},{"deprecated":false,"detail":"public func eprintln<T>(arg: T): Unit","documentation":"","filterText":"eprintln","insertText":"eprintln<${1:T}>(${3:arg: T})","insertTextFormat":2,"kind":2,"label":"eprintln<T>(arg: T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope","insertTextFormat":1,"kind":2,"label":"exclusiveScope","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}> { => ${3:T} }","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T> { => T }","sortText":""},{"deprecated":false,"detail":"public func exclusiveScope<T>(fn: () -> T): T","documentation":"","filterText":"exclusiveScope","insertText":"exclusiveScope<${1:T}>(${3:fn: () -> T})","insertTextFormat":2,"kind":2,"label":"exclusiveScope<T>(fn: () -> T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"print","insertText":"print","insertTextFormat":1,"kind":2,"label":"print","sortText":""},{"deprecated":false,"detail":"public func print(b: Bool, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:b: Bool}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(b: Bool, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(c: Rune, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:c: Rune}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(c: Rune, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(f: Float64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:f: Float64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(f: Float64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: Int8, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: Int8}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: Int8, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt16, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt16}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt16, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt32, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt32}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt32, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt64, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt64}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt64, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(i: UInt8, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:i: UInt8}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(i: UInt8, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print(str: String, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print(${1:str: String}, flush: ${2:Bool = false})","insertTextFormat":2,"kind":2,"label":"print(str: String, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"public func print<T>(arg: T, flush!: Bool = false): Unit","documentation":"","filterText":"print","insertText":"print<${1:T}>(${3:arg: T}, flush: ${4:Bool = false})","insertTextFormat":2,"kind":2,"label":"print<T>(arg: T, flush!: Bool = false)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"println","insertText":"println","insertTextFormat":1,"kind":2,"label":"println","sortText":""},{"deprecated":false,"detail":"public func println(): Unit","documentation":"","filterText":"println","insertText":"println()","insertTextFormat":1,"kind":2,"label":"println()","sortText":""},{"deprecated":false,"detail":"public func println(b: Bool): Unit","documentation":"","filterText":"println","insertText":"println(${1:b: Bool})","insertTextFormat":2,"kind":2,"label":"println(b: Bool)","sortText":""},{"deprecated":false,"detail":"public func println(c: Rune): Unit","documentation":"","filterText":"println","insertText":"println(${1:c: Rune})","insertTextFormat":2,"kind":2,"label":"println(c: Rune)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float16): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float16})","insertTextFormat":2,"kind":2,"label":"println(f: Float16)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float32): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float32})","insertTextFormat":2,"kind":2,"label":"println(f: Float32)","sortText":""},{"deprecated":false,"detail":"public func println(f: Float64): Unit","documentation":"","filterText":"println","insertText":"println(${1:f: Float64})","insertTextFormat":2,"kind":2,"label":"println(f: Float64)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int16): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int16})","insertTextFormat":2,"kind":2,"label":"println(i: Int16)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int32): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int32})","insertTextFormat":2,"kind":2,"label":"println(i: Int32)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int64): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int64})","insertTextFormat":2,"kind":2,"label":"println(i: Int64)","sortText":""},{"deprecated":false,"detail":"public func println(i: Int8): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: Int8})","insertTextFormat":2,"kind":2,"label":"println(i: Int8)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt16): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt16})","insertTextFormat":2,"kind":2,"label":"println(i: UInt16)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt32): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt32})","insertTextFormat":2,"kind":2,"label":"println(i: UInt32)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt64): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt64})","insertTextFormat":2,"kind":2,"label":"println(i: UInt64)","sortText":""},{"deprecated":false,"detail":"public func println(i: UInt8): Unit","documentation":"","filterText":"println","insertText":"println(${1:i: UInt8})","insertTextFormat":2,"kind":2,"label":"println(i: UInt8)","sortText":""},{"deprecated":false,"detail":"public func println(str: String): Unit","documentation":"","filterText":"println","insertText":"println(${1:str: String})","insertTextFormat":2,"kind":2,"label":"println(str: String)","sortText":""},{"deprecated":false,"detail":"public func println<T>(arg: T): Unit","documentation":"","filterText":"println","insertText":"println<${1:T}>(${3:arg: T})","insertTextFormat":2,"kind":2,"label":"println<T>(arg: T)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"sleep","insertText":"sleep","insertTextFormat":1,"kind":2,"label":"sleep","sortText":""},{"deprecated":false,"detail":"public func sleep(dur: Duration): Unit","documentation":"","filterText":"sleep","insertText":"sleep(${1:dur: Duration})","insertTextFormat":2,"kind":2,"label":"sleep(dur: Duration)","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"package","insertText":"package","insertTextFormat":1,"kind":14,"label":"package","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"import","insertText":"import","insertTextFormat":1,"kind":14,"label":"import","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"type","insertText":"type","insertTextFormat":1,"kind":14,"label":"type","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"super","insertText":"super","insertTextFormat":1,"kind":14,"label":"super","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"prop","insertText":"prop","insertTextFormat":1,"kind":14,"label":"prop","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"public","insertText":"public","insertTextFormat":1,"kind":14,"label":"public","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"private","insertText":"private","insertTextFormat":1,"kind":14,"label":"private","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"protected","insertText":"protected","insertTextFormat":1,"kind":14,"label":"protected","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"open","insertText":"open","insertTextFormat":1,"kind":14,"label":"open","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"operator","insertText":"operator","insertTextFormat":1,"kind":14,"label":"operator","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"spawn","insertText":"spawn","insertTextFormat":1,"kind":14,"label":"spawn","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"specific","insertText":"specific","insertTextFormat":1,"kind":14,"label":"specific","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"except","insertText":"except","insertTextFormat":1,"kind":14,"label":"except","sortText":""},{"deprecated":false,"detail":"","documentation":"","filterText":"primal","insertText":"primal","insertTextFormat":1,"kind":14,"label":"primal","sortText":""},{"deprecated":false,"detail":"type newName = originalName","documentation":"","filterText":"type","insertText":"type ${1:newName} = ${0:originalName}","insertTextFormat":2,"kind":14,"label":"type newName = originalName","sortText":""},{"deprecated":false,"detail":"import pkgName.* as newName.*","documentation":"","filterText":"import","insertText":"import ${1:pkgName.*} as ${0:newName.*}","insertTextFormat":2,"kind":14,"label":"import pkgName.* as newName.*","sortText":""},{"deprecated":false,"detail":"spawn {}","documentation":"","filterText":"spawn","insertText":"spawn {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"spawn {}","sortText":""},{"deprecated":false,"detail":"spawn(threadContext) {}","documentation":"","filterText":"spawn","insertText":"spawn(${1:threadContext}) {\n\t$0\n}","insertTextFormat":2,"kind":14,"label":"spawn(threadContext) {}","sortText":""},{"deprecated":false,"detail":"Deprecated","documentation":"","filterText":"Deprecated","insertText":"Deprecated","insertTextFormat":1,"kind":14,"label":"Deprecated","sortText":""},{"deprecated":false,"detail":"prop name: T {get(){val}}","documentation":"","filterText":"prop","insertText":"prop ${0:name}: ${1:T} {\n\tget() {\n\t\t${3:val}\n\t}\n}","insertTextFormat":2,"kind":14,"label":"prop name: T {get(){val}}","sortText":""},{"deprecated":false,"detail":"prop name: T {get(){val} set(v){}}","documentation":"","filterText":"prop","insertText":"prop ${0:name}: ${1:T} {\n\tget() {\n\t\t${3:val}\n\t}\n\tset(v) {\n\t}\n}","insertTextFormat":2,"kind":14,"label":"prop name: T {get(){val} set(v){}}","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.DataProvider\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"DataProvider","insertText":"DataProvider<${1:T}>","insertTextFormat":2,"kind":8,"label":"DataProvider<T>","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}, ${2:validator: (Any) -> OptionValidity})","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String, validator: (Any) -> OptionValidity)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.registerOptionValidator\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"registerOptionValidator","insertText":"registerOptionValidator(${1:name: String}) { arg1: Any => ${2:OptionValidity} }","insertTextFormat":2,"kind":2,"label":"registerOptionValidator(name: String) { Any => OptionValidity }","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.setOptionInfo\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"setOptionInfo","insertText":"setOptionInfo(${1:name: String}, ${2:types: Array<String>}, description: ${3:Option<String>})","insertTextFormat":2,"kind":2,"label":"setOptionInfo(name: String, types: Array<String>, description!: Option<String>)","sortText":""},{"additionalTextEdits":[{"newText":"import std.unittest.OptionValidity\n","range":{"end":{"character":0,"line":7},"start":{"character":0,"line":7}}}],"deprecated":false,"detail":"import std.unittest","documentation":"","filterText":"OptionValidity","insertText":"OptionValidity","insertTextFormat":1,"kind":13,"label":"OptionValidity","sortText":""}]}
@@ -1 +1 @@
1-{"jsonrpc": "2.0", "method": "textDocument/publishDiagnostics", "params": {"diagnostics": [{"code": 0, "codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 23, "line": 7}, "start": {"character": 4, "line": 7}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'list1'"}], "data": {"codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 23, "line": 7}, "start": {"character": 4, "line": 7}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'list1'"}]}, "message": "Variable 'list1' is declared but never used", "range": {"end": {"character": 13, "line": 7}, "start": {"character": 8, "line": 7}}, "severity": 4, "source": "Cangjie", "tags": [1]}, {"code": 0, "codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 35, "line": 8}, "start": {"character": 4, "line": 8}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'list'"}], "data": {"codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 35, "line": 8}, "start": {"character": 4, "line": 8}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'list'"}]}, "message": "Variable 'list' is declared but never used", "range": {"end": {"character": 12, "line": 8}, "start": {"character": 8, "line": 8}}, "severity": 4, "source": "Cangjie", "tags": [1]}, {"category": 574, "code": 574, "message": "expected expression after ',', found '*'", "range": {"end": {"character": 23, "line": 8}, "start": {"character": 22, "line": 8}}, "severity": 1, "source": "Cangjie"}, {"category": 771, "code": 771, "message": "cannot assign to immutable value", "range": {"end": {"character": 10, "line": 10}, "start": {"character": 4, "line": 10}}, "relatedInformation": [{"location": {"range": {"end": {"character": 10, "line": 9}, "start": {"character": 9, "line": 9}}, "uri": "file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj"}, "message": "variable 'a' is immutable"}], "severity": 1, "source": "Cangjie"}, {"code": 0, "codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 24, "line": 12}, "start": {"character": 4, "line": 12}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'e'"}], "data": {"codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 24, "line": 12}, "start": {"character": 4, "line": 12}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'e'"}]}, "message": "Variable 'e' is declared but never used", "range": {"end": {"character": 9, "line": 12}, "start": {"character": 8, "line": 12}}, "severity": 4, "source": "Cangjie", "tags": [1]}, {"category": 760, "code": 760, "message": "the number '1233211' exceeds the value range of type 'Int8'", "range": {"end": {"character": 24, "line": 12}, "start": {"character": 17, "line": 12}}, "severity": 1, "source": "Cangjie"}, {"category": 571, "code": 571, "message": "comparison operators cannot be chained", "range": {"end": {"character": 8, "line": 13}, "start": {"character": 7, "line": 13}}, "severity": 1, "source": "Cangjie"}, {"code": 0, "codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 19, "line": 15}, "start": {"character": 4, "line": 15}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'y1'"}], "data": {"codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 19, "line": 15}, "start": {"character": 4, "line": 15}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'y1'"}]}, "message": "Variable 'y1' is declared but never used", "range": {"end": {"character": 10, "line": 15}, "start": {"character": 8, "line": 15}}, "severity": 4, "source": "Cangjie", "tags": [1]}, {"code": 0, "codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 20, "line": 16}, "start": {"character": 4, "line": 16}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'r1'"}], "data": {"codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 20, "line": 16}, "start": {"character": 4, "line": 16}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'r1'"}]}, "message": "Variable 'r1' is declared but never used", "range": {"end": {"character": 10, "line": 16}, "start": {"character": 8, "line": 16}}, "severity": 4, "source": "Cangjie", "tags": [1]}, {"category": 574, "code": 574, "message": "expected expression after '^', found '^'", "range": {"end": {"character": 11, "line": 17}, "start": {"character": 10, "line": 17}}, "severity": 1, "source": "Cangjie"}, {"code": 0, "codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 15, "line": 18}, "start": {"character": 4, "line": 18}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'c'"}], "data": {"codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 15, "line": 18}, "start": {"character": 4, "line": 18}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'c'"}]}, "message": "Variable 'c' is declared but never used", "range": {"end": {"character": 9, "line": 18}, "start": {"character": 8, "line": 18}}, "severity": 4, "source": "Cangjie", "tags": [1]}, {"category": 515, "code": 515, "message": "expected '.', '(', '[', '{' or '?' after '?'", "range": {"end": {"character": 14, "line": 18}, "start": {"character": 13, "line": 18}}, "severity": 1, "source": "Cangjie"}, {"category": 766, "code": 766, "message": "invalid binary operator '?' on type 'Bool' and 'Int32'", "range": {"end": {"character": 14, "line": 18}, "start": {"character": 13, "line": 18}}, "severity": 1, "source": "Cangjie"}, {"category": 577, "code": 577, "message": "expected operator or end of expression, found ':'", "range": {"end": {"character": 16, "line": 18}, "start": {"character": 15, "line": 18}}, "severity": 1, "source": "Cangjie"}, {"code": 0, "codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 25, "line": 19}, "start": {"character": 4, "line": 19}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'd'"}], "data": {"codeActions": [{"edit": {"changes": {"file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj": [{"newText": "", "range": {"end": {"character": 25, "line": 19}, "start": {"character": 4, "line": 19}}}]}}, "kind": "quickfix.removeUnusedSymbol", "title": "Remove unused variable 'd'"}]}, "message": "Variable 'd' is declared but never used", "range": {"end": {"character": 9, "line": 19}, "start": {"character": 8, "line": 19}}, "severity": 4, "source": "Cangjie", "tags": [1]}, {"category": 515, "code": 515, "message": "expected '.', '(', '[', '{' or '?' after '?'", "range": {"end": {"character": 24, "line": 19}, "start": {"character": 23, "line": 19}}, "severity": 1, "source": "Cangjie"}, {"category": 766, "code": 766, "message": "invalid binary operator '?' on type 'Bool' and 'Int32'", "range": {"end": {"character": 24, "line": 19}, "start": {"character": 23, "line": 19}}, "severity": 1, "source": "Cangjie"}, {"category": 577, "code": 577, "message": "expected operator or end of expression, found ':'", "range": {"end": {"character": 26, "line": 19}, "start": {"character": 25, "line": 19}}, "severity": 1, "source": "Cangjie"}, {"category": 771, "code": 771, "message": "cannot assign to immutable value", "range": {"end": {"character": 11, "line": 20}, "start": {"character": 7, "line": 20}}, "relatedInformation": [{"location": {"range": {"end": {"character": 10, "line": 9}, "start": {"character": 9, "line": 9}}, "uri": "file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj"}, "message": "variable 'a' is immutable"}], "severity": 1, "source": "Cangjie"}, {"category": 726, "code": 726, "message": "mismatched types expected 'Bool', found 'Unit', the type of an assignment expression is always 'Unit'", "range": {"end": {"character": 11, "line": 20}, "start": {"character": 7, "line": 20}}, "severity": 1, "source": "Cangjie"}], "uri": "file://***//cangjie_tools/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj"}}1+{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"diagnostics":[{"code":0,"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":23,"line":7},"start":{"character":4,"line":7}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'list1'"}],"data":{"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":23,"line":7},"start":{"character":4,"line":7}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'list1'"}]},"message":"Variable 'list1' is declared but never used","range":{"end":{"character":13,"line":7},"start":{"character":8,"line":7}},"severity":4,"source":"Cangjie","tags":[1]},{"code":0,"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":35,"line":8},"start":{"character":4,"line":8}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'list'"}],"data":{"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":35,"line":8},"start":{"character":4,"line":8}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'list'"}]},"message":"Variable 'list' is declared but never used","range":{"end":{"character":12,"line":8},"start":{"character":8,"line":8}},"severity":4,"source":"Cangjie","tags":[1]},{"category":572,"code":572,"message":"expected expression after ',', found '*'","range":{"end":{"character":23,"line":8},"start":{"character":22,"line":8}},"severity":1,"source":"Cangjie"},{"category":484,"code":484,"message":"unclosed delimiter: '['","range":{"end":{"character":23,"line":8},"start":{"character":22,"line":8}},"severity":1,"source":"Cangjie"},{"category":772,"code":772,"message":"cannot assign to immutable value","range":{"end":{"character":10,"line":10},"start":{"character":4,"line":10}},"relatedInformation":[{"location":{"range":{"end":{"character":10,"line":9},"start":{"character":9,"line":9}},"uri":"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj"},"message":"variable 'a' is immutable"}],"severity":1,"source":"Cangjie"},{"code":0,"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":24,"line":12},"start":{"character":4,"line":12}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'e'"}],"data":{"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":24,"line":12},"start":{"character":4,"line":12}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'e'"}]},"message":"Variable 'e' is declared but never used","range":{"end":{"character":9,"line":12},"start":{"character":8,"line":12}},"severity":4,"source":"Cangjie","tags":[1]},{"category":761,"code":761,"message":"the number '1233211' exceeds the value range of type 'Int8'","range":{"end":{"character":24,"line":12},"start":{"character":17,"line":12}},"severity":1,"source":"Cangjie"},{"category":569,"code":569,"message":"comparison operators cannot be chained","range":{"end":{"character":8,"line":13},"start":{"character":7,"line":13}},"severity":1,"source":"Cangjie"},{"code":0,"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":19,"line":15},"start":{"character":4,"line":15}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'y1'"}],"data":{"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":19,"line":15},"start":{"character":4,"line":15}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'y1'"}]},"message":"Variable 'y1' is declared but never used","range":{"end":{"character":10,"line":15},"start":{"character":8,"line":15}},"severity":4,"source":"Cangjie","tags":[1]},{"code":0,"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":20,"line":16},"start":{"character":4,"line":16}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'r1'"}],"data":{"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":20,"line":16},"start":{"character":4,"line":16}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'r1'"}]},"message":"Variable 'r1' is declared but never used","range":{"end":{"character":10,"line":16},"start":{"character":8,"line":16}},"severity":4,"source":"Cangjie","tags":[1]},{"category":572,"code":572,"message":"expected expression after '^', found '^'","range":{"end":{"character":11,"line":17},"start":{"character":10,"line":17}},"severity":1,"source":"Cangjie"},{"code":0,"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":15,"line":18},"start":{"character":4,"line":18}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'c'"}],"data":{"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":15,"line":18},"start":{"character":4,"line":18}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'c'"}]},"message":"Variable 'c' is declared but never used","range":{"end":{"character":9,"line":18},"start":{"character":8,"line":18}},"severity":4,"source":"Cangjie","tags":[1]},{"category":513,"code":513,"message":"expected '.', '(', '[', '{' or '?' after '?'","range":{"end":{"character":14,"line":18},"start":{"character":13,"line":18}},"severity":1,"source":"Cangjie"},{"category":767,"code":767,"message":"invalid binary operator '?' on type 'Bool' and 'Int32'","range":{"end":{"character":14,"line":18},"start":{"character":13,"line":18}},"severity":1,"source":"Cangjie"},{"category":575,"code":575,"message":"expected operator or end of expression, found ':'","range":{"end":{"character":16,"line":18},"start":{"character":15,"line":18}},"severity":1,"source":"Cangjie"},{"code":0,"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":25,"line":19},"start":{"character":4,"line":19}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'd'"}],"data":{"codeActions":[{"edit":{"changes":{"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj":[{"newText":"","range":{"end":{"character":25,"line":19},"start":{"character":4,"line":19}}}]}},"kind":"quickfix.removeUnusedSymbol","title":"Remove unused variable 'd'"}]},"message":"Variable 'd' is declared but never used","range":{"end":{"character":9,"line":19},"start":{"character":8,"line":19}},"severity":4,"source":"Cangjie","tags":[1]},{"category":513,"code":513,"message":"expected '.', '(', '[', '{' or '?' after '?'","range":{"end":{"character":24,"line":19},"start":{"character":23,"line":19}},"severity":1,"source":"Cangjie"},{"category":767,"code":767,"message":"invalid binary operator '?' on type 'Bool' and 'Int32'","range":{"end":{"character":24,"line":19},"start":{"character":23,"line":19}},"severity":1,"source":"Cangjie"},{"category":575,"code":575,"message":"expected operator or end of expression, found ':'","range":{"end":{"character":26,"line":19},"start":{"character":25,"line":19}},"severity":1,"source":"Cangjie"},{"category":772,"code":772,"message":"cannot assign to immutable value","range":{"end":{"character":11,"line":20},"start":{"character":7,"line":20}},"relatedInformation":[{"location":{"range":{"end":{"character":10,"line":9},"start":{"character":9,"line":9}},"uri":"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj"},"message":"variable 'a' is immutable"}],"severity":1,"source":"Cangjie"},{"category":727,"code":727,"message":"mismatched types expected 'Bool', found 'Unit', the type of an assignment expression is always 'Unit'","range":{"end":{"character":11,"line":20},"start":{"character":7,"line":20}},"severity":1,"source":"Cangjie"}],"uri":"file:///root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/test/202104270OWBL4P1300/src/diagnostic.cj"}}
@@ -1 +1 @@
1-{"id":11,"jsonrpc":"2.0","result":{"contents":{"kind":"markdown","value":"Declared in: annotation.cj \nPackage info: std.core \n\n```cangjie\npublic Type CString\n```\n"},"range":{"end":{"character":16,"line":9},"start":{"character":9,"line":9}}}}1+{"id":11,"jsonrpc":"2.0","result":{"contents":{"kind":"markdown","value":"Declared in: comparable.cj \nPackage info: std.core \n\n```cangjie\npublic Type CString\n```\n"},"range":{"end":{"character":16,"line":9},"start":{"character":9,"line":9}}}}
@@ -1 +1 @@
1-{"id":"9","jsonrpc":"2.0","result":{"data":[6,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,7,17,0,1,4,7,17,0,1,4,7,17,0,1,4,7,17,0,1,4,7,17,0,1,4,7,17,0,2,4,7,17,0,0,9,5,9,0,1,4,7,17,0,0,9,5,9,0,1,4,7,17,0,1,4,7,17,0,1,5,8,13,0,1,9,1,17,0,0,5,6,17,0,1,8,5,13,0,0,6,1,17,0,0,2,8,13,0]}}1+{"id":"9","jsonrpc":"2.0","result":{"data":[6,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,6,17,0,1,4,7,17,0,1,4,7,17,0,1,4,7,17,0,1,4,7,17,0,1,4,7,17,0,3,4,7,17,0,0,9,5,9,0,1,4,7,17,0,0,9,5,9,0,1,4,7,17,0,1,4,7,17,0,1,5,8,13,0,1,9,1,17,0,0,5,6,17,0,1,8,5,13,0,0,6,1,17,0,0,2,8,13,0]}}
@@ -3,8 +3,8 @@
3 "default": {3 "default": {
4 "deviceSysCap": {4 "deviceSysCap": {
5 "phone": [5 "phone": [
6- "/home/project/open_source/lsp/test/testChr/newFeature/syscapCompletion/sysconfig/phone.json",6+ "/root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/newFeature/syscapCompletion/sysconfig/phone.json",
7- "/home/project/open_source/lsp/test/testChr/newFeature/syscapCompletion/sysconfig/phone-hmos.json"7+ "/root/workspace/cangjie/modal/cangjie_tools_private/cangjie-language-server/test/testChr/newFeature/syscapCompletion/sysconfig/phone-hmos.json"
8 ]8 ]
9 }9 }
10 }10 }
@@ -33,7 +33,7 @@ TEST(FindOverrideMethodsUtilsTest, ResolveFuncParamListTest002)
33 auto paramList = new FuncParamList();33 auto paramList = new FuncParamList();
34 auto param = new FuncParam();34 auto param = new FuncParam();
35 param->identifier = "Int32";35 param->identifier = "Int32";
36- param->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));36+ param->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
37 paramList->params.emplace_back(param);37 paramList->params.emplace_back(param);
38 funcBody->paramLists.emplace_back(paramList);38 funcBody->paramLists.emplace_back(paramList);
39 funcDecl->funcBody = OwnedPtr<FuncBody>(funcBody);39 funcDecl->funcBody = OwnedPtr<FuncBody>(funcBody);
@@ -50,7 +50,7 @@ TEST(FindOverrideMethodsUtilsTest, ResolveFuncParamListTest003)
50 auto paramList = new FuncParamList();50 auto paramList = new FuncParamList();
51 auto param = new FuncParam();51 auto param = new FuncParam();
52 param->identifier = "Int32";52 param->identifier = "Int32";
53- param->SetTy(nullptr);53+ param->SetTy(ModalTy{});
54 paramList->params.emplace_back(param);54 paramList->params.emplace_back(param);
55 funcBody->paramLists.emplace_back(paramList);55 funcBody->paramLists.emplace_back(paramList);
56 funcDecl->funcBody = OwnedPtr<FuncBody>(funcBody);56 funcDecl->funcBody = OwnedPtr<FuncBody>(funcBody);
@@ -82,7 +82,7 @@ TEST(FindOverrideMethodsUtilsTest, ResolveFuncRetTypeTest003)
82 auto funcDecl = new FuncDecl();82 auto funcDecl = new FuncDecl();
83 auto funcBody = new FuncBody();83 auto funcBody = new FuncBody();
84 auto retType = new Type();84 auto retType = new Type();
85- retType->SetTy(nullptr);85+ retType->SetTy(ModalTy{});
86 funcBody->retType = OwnedPtr<Type>(retType);86 funcBody->retType = OwnedPtr<Type>(retType);
87 funcDecl->funcBody = OwnedPtr<FuncBody>(funcBody);87 funcDecl->funcBody = OwnedPtr<FuncBody>(funcBody);
88 const auto result = ResolveFuncRetType(funcDecl);88 const auto result = ResolveFuncRetType(funcDecl);
@@ -225,11 +225,11 @@ TEST(FindOverrideMethodsUtilsTest, ResolveTypeTest007)
225{225{
226 auto paramTy1 = new PrimitiveTy(TypeKind::TYPE_INT32);226 auto paramTy1 = new PrimitiveTy(TypeKind::TYPE_INT32);
227 auto paramTy2 = new PrimitiveTy(TypeKind::TYPE_FLOAT32);227 auto paramTy2 = new PrimitiveTy(TypeKind::TYPE_FLOAT32);
228- auto paramTys = std::vector<Ptr<Ty>>();228+ auto paramTys = std::vector<ModalTy>();
229- paramTys.emplace_back(paramTy1);229+ paramTys.emplace_back(ModalTy{DataTy{paramTy1}});
230- paramTys.emplace_back(paramTy2);230+ paramTys.emplace_back(ModalTy{DataTy{paramTy2}});
231 auto retTy = new PrimitiveTy(TypeKind::TYPE_INT32);231 auto retTy = new PrimitiveTy(TypeKind::TYPE_INT32);
232- auto funcTy = new FuncTy(paramTys, retTy);232+ auto funcTy = new FuncTy(paramTys, ModalTy{DataTy{retTy}});
233 auto detail = ResolveType(funcTy);233 auto detail = ResolveType(funcTy);
234 234 
235 EXPECT_NE(detail, nullptr);235 EXPECT_NE(detail, nullptr);
@@ -353,11 +353,11 @@ TEST(FindOverrideMethodsUtilsTest, ResolveFuncDetailTest001)
353 auto paramList = new FuncParamList();353 auto paramList = new FuncParamList();
354 auto param = new FuncParam();354 auto param = new FuncParam();
355 param->identifier = "Int32";355 param->identifier = "Int32";
356- param->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));356+ param->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
357 paramList->params.emplace_back(param);357 paramList->params.emplace_back(param);
358 funcBody->paramLists.emplace_back(paramList);358 funcBody->paramLists.emplace_back(paramList);
359 auto retType = new Type();359 auto retType = new Type();
360- retType->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));360+ retType->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
361 funcBody->retType = OwnedPtr<Type>(retType);361 funcBody->retType = OwnedPtr<Type>(retType);
362 funcDecl->funcBody = OwnedPtr<FuncBody>(funcBody);362 funcDecl->funcBody = OwnedPtr<FuncBody>(funcBody);
363 363 
@@ -378,7 +378,7 @@ TEST(FindOverrideMethodsUtilsTest, ResolvePropDetailTest001)
378 propDecl->identifier = "myProp";378 propDecl->identifier = "myProp";
379 propDecl->EnableAttr(Attribute::PUBLIC);379 propDecl->EnableAttr(Attribute::PUBLIC);
380 propDecl->EnableAttr(Attribute::STATIC);380 propDecl->EnableAttr(Attribute::STATIC);
381- propDecl->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));381+ propDecl->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
382 382 
383 auto detail = ResolvePropDetail(propDecl);383 auto detail = ResolvePropDetail(propDecl);
384 EXPECT_EQ(detail.identifier, "myProp");384 EXPECT_EQ(detail.identifier, "myProp");
@@ -56,10 +56,10 @@ TEST(FindDeclUsageTest, CheckParamListEqual_SameParamLists) {
56 56 
57 // Add identical parameters57 // Add identical parameters
58 auto param1 = new FuncParam();58 auto param1 = new FuncParam();
59- param1->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));59+ param1->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
60 60 
61 auto param2 = new FuncParam();61 auto param2 = new FuncParam();
62- param2->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));62+ param2->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
63 63 
64 srcList->params.emplace_back(param1);64 srcList->params.emplace_back(param1);
65 targetList->params.emplace_back(param2);65 targetList->params.emplace_back(param2);
@@ -73,13 +73,13 @@ TEST(FindDeclUsageTest, CheckParamListEqual_DifferentParamCount) {
73 auto targetList = new FuncParamList();73 auto targetList = new FuncParamList();
74 74 
75 auto param1 = new FuncParam();75 auto param1 = new FuncParam();
76- param1->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));76+ param1->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
77 77 
78 auto param2 = new FuncParam();78 auto param2 = new FuncParam();
79- param2->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));79+ param2->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
80 80 
81 auto param3 = new FuncParam();81 auto param3 = new FuncParam();
82- param3->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));82+ param3->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
83 83 
84 srcList->params.emplace_back(param1);84 srcList->params.emplace_back(param1);
85 targetList->params.emplace_back(param2);85 targetList->params.emplace_back(param2);
@@ -391,8 +391,8 @@ TEST(FindDeclUsageTest, CheckParamListEqual_NullParamType) {
391 auto srcParam = new FuncParam();391 auto srcParam = new FuncParam();
392 auto targetParam = new FuncParam();392 auto targetParam = new FuncParam();
393 393 
394- srcParam->SetTy(nullptr);394+ srcParam->SetTy(ModalTy{});
395- targetParam->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));395+ targetParam->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
396 396 
397 srcList->params.emplace_back(srcParam);397 srcList->params.emplace_back(srcParam);
398 targetList->params.emplace_back(targetParam);398 targetList->params.emplace_back(targetParam);
@@ -408,8 +408,8 @@ TEST(FindDeclUsageTest, CheckParamListEqual_DifferentParamTypes) {
408 auto srcParam = new FuncParam();408 auto srcParam = new FuncParam();
409 auto targetParam = new FuncParam();409 auto targetParam = new FuncParam();
410 410 
411- srcParam->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));411+ srcParam->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
412- targetParam->SetTy(new PrimitiveTy(TypeKind::TYPE_INT64));412+ targetParam->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT64)}});
413 413 
414 srcList->params.emplace_back(srcParam);414 srcList->params.emplace_back(srcParam);
415 targetList->params.emplace_back(targetParam);415 targetList->params.emplace_back(targetParam);
@@ -433,8 +433,8 @@ TEST(FindDeclUsageTest, CheckFunctionEqual_DifferentParamLists) {
433 auto srcParam = new FuncParam();433 auto srcParam = new FuncParam();
434 auto targetParam = new FuncParam();434 auto targetParam = new FuncParam();
435 435 
436- srcParam->SetTy(new PrimitiveTy(TypeKind::TYPE_INT32));436+ srcParam->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT32)}});
437- targetParam->SetTy(new PrimitiveTy(TypeKind::TYPE_INT64));437+ targetParam->SetTy(ModalTy{DataTy{new PrimitiveTy(TypeKind::TYPE_INT64)}});
438 438 
439 srcParamList->params.emplace_back(srcParam);439 srcParamList->params.emplace_back(srcParam);
440 targetParamList->params.emplace_back(targetParam);440 targetParamList->params.emplace_back(targetParam);
@@ -497,7 +497,7 @@ TEST(ItemResolverUtilTest, ResolveSourceByNode_NullDecl) {
497TEST(ItemResolverUtilTest, FetchTypeString_NullType) {497TEST(ItemResolverUtilTest, FetchTypeString_NullType) {
498 // Test with null type498 // Test with null type
499 Type type;499 Type type;
500- type.SetTy(nullptr);500+ type.SetTy(ModalTy{});
501 501 
502 std::string result = ItemResolverUtil::FetchTypeString(type);502 std::string result = ItemResolverUtil::FetchTypeString(type);
503 EXPECT_EQ("", result);503 EXPECT_EQ("", result);
@@ -758,8 +758,8 @@ ark::TypeCompatibility CheckTypeCompatibility(Ptr<Ty> a, Ptr<Ty> b) {
758 758 
759struct FakeFuncTy : public Cangjie::AST::FuncTy {759struct FakeFuncTy : public Cangjie::AST::FuncTy {
760 // Default to empty parameter list, null return, and default Config760 // Default to empty parameter list, null return, and default Config
761- FakeFuncTy(const std::vector<Ptr<Ty>> &params = {},761+ explicit FakeFuncTy(const std::vector<ModalTy> &params = {},
762- Ptr<Ty> ret = nullptr,762+ ModalTy ret = ModalTy{},
763 const Config &cfg = {})763 const Config &cfg = {})
764 : FuncTy(params, ret, cfg) {}764 : FuncTy(params, ret, cfg) {}
765};765};
@@ -440,10 +440,10 @@ TEST(UtilsTest, GetVarDeclType001) {
440 auto decl = Ptr<VarDecl>(new VarDecl());440 auto decl = Ptr<VarDecl>(new VarDecl());
441 // Use a plain Type, set its kind to something else441 // Use a plain Type, set its kind to something else
442 Ptr<TestTy> rType(new TestTy(TypeKind::TYPE_FUNC));442 Ptr<TestTy> rType(new TestTy(TypeKind::TYPE_FUNC));
443- std::vector<Ptr<Ty>> v;443+ std::vector<ModalTy> v;
444- v.emplace_back(nullptr);444+ v.emplace_back(ModalTy{});
445- Ptr<FuncTy> funcTy(new FuncTy(v, rType));445+ Ptr<FuncTy> funcTy(new FuncTy(v, ModalTy{DataTy{rType}}));
446- decl->SetTy(std::move(funcTy));446+ decl->SetTy(ModalTy{DataTy{std::move(funcTy)}});
447 GetVarDeclType(decl);447 GetVarDeclType(decl);
448}448}
449 449 
@@ -510,7 +510,7 @@ TEST(UtilsTest, InImportSpec001) {
510class FakeVarDecl : public VarDecl {510class FakeVarDecl : public VarDecl {
511public:511public:
512 FakeVarDecl() : VarDecl(ASTKind::VAR_DECL) {512 FakeVarDecl() : VarDecl(ASTKind::VAR_DECL) {
513- SetTy(nullptr);513+ SetTy(ModalTy{});
514 type = nullptr;514 type = nullptr;
515 }515 }
516};516};
@@ -527,7 +527,7 @@ public:
527// Test 086: When both decl->GetTy() and decl->type are null, return empty string527// Test 086: When both decl->GetTy() and decl->type are null, return empty string
528TEST(UtilsTest, GetVarDeclType_086) {528TEST(UtilsTest, GetVarDeclType_086) {
529 Ptr<FakeVarDecl> decl(new FakeVarDecl());529 Ptr<FakeVarDecl> decl(new FakeVarDecl());
530- decl->SetTy(nullptr);530+ decl->SetTy(ModalTy{});
531 decl->type = nullptr;531 decl->type = nullptr;
532 532 
533 std::string result = GetVarDeclType(decl, nullptr);533 std::string result = GetVarDeclType(decl, nullptr);
@@ -568,8 +568,8 @@ TEST(UtilsTest, GetVarDeclType_088) {
568 Ptr<FakeVarDecl> decl(new FakeVarDecl());568 Ptr<FakeVarDecl> decl(new FakeVarDecl());
569 569 
570 // Create a function type570 // Create a function type
571- std::vector<Ptr<Ty>> params;571+ std::vector<ModalTy> params;
572- decl->SetTy(Ptr<Ty>(new FuncTy(params, nullptr)));572+ decl->SetTy(Ptr<Ty>(new FuncTy(params, ModalTy{})));
573 573 
574 // Logic: TYPE_FUNC triggers GetDetailByTy and ReplaceTuple574 // Logic: TYPE_FUNC triggers GetDetailByTy and ReplaceTuple
575 std::string result = GetVarDeclType(decl, nullptr);575 std::string result = GetVarDeclType(decl, nullptr);
@@ -58,7 +58,7 @@ static bool checkUpperBounds(
58 return true;58 return true;
59 }59 }
60 // When B is the parent type of A, the API is compatible. Conversely, it is not compatible.60 // When B is the parent type of A, the API is compatible. Conversely, it is not compatible.
61- if (dsl.IsParentType(upperTypeB->GetTy(), upperTypeA->GetTy())) {61+ if (dsl.IsParentType(upperTypeB->GetTy().get(), upperTypeA->GetTy().get())) {
62 isParentType = true;62 isParentType = true;
63 return false;63 return false;
64 }64 }
@@ -174,8 +174,8 @@ bool CheckerImpl::VarGlobalType(
174 BEGIN_FORALL(174 BEGIN_FORALL(
175 v1, diff.GetDomPotentiallyModified(), dsl.VarLetOrConst(v1) && dsl.TopLevel(v1) && diff.ModuleVisible(v1))175 v1, diff.GetDomPotentiallyModified(), dsl.VarLetOrConst(v1) && dsl.TopLevel(v1) && diff.ModuleVisible(v1))
176 LETIF(v2, dsl.Corresponding(v1, diff.PotentiallyModified()), dsl.VarLetOrConst(v2) && dsl.TopLevel(v2))176 LETIF(v2, dsl.Corresponding(v1, diff.PotentiallyModified()), dsl.VarLetOrConst(v2) && dsl.TopLevel(v2))
177- auto t1 = v1->GetTy().get();177+ auto t1 = v1->DataTy();
178- auto t2 = v2->GetTy().get();178+ auto t2 = v2->DataTy();
179 auto sameClassLikeType = t1->IsClassLike() && t2->IsClassLike();179 auto sameClassLikeType = t1->IsClassLike() && t2->IsClassLike();
180 // When B is a subtype of A, AND both A and B are of the class or interface type, the two types are compatible.180 // When B is a subtype of A, AND both A and B are of the class or interface type, the two types are compatible.
181 // Otherwise, it is not compatible.181 // Otherwise, it is not compatible.
@@ -270,7 +270,9 @@ bool CheckerImpl::EnumInstMemberVarModified(
270 for (; v1 != e1Constructors.end() && v2 != e2Constructors.end(); ++v1, ++v2) {270 for (; v1 != e1Constructors.end() && v2 != e2Constructors.end(); ++v1, ++v2) {
271 LETIF(v1Corsp, dsl.Corresponding(*v1, diff.GetPotentiallyMemberModified(e1)), v1Corsp != nullptr)271 LETIF(v1Corsp, dsl.Corresponding(*v1, diff.GetPotentiallyMemberModified(e1)), v1Corsp != nullptr)
272 CHECK(RuleKind::ENUM_MEMBER_VAR_ORDER_MODIFIED,272 CHECK(RuleKind::ENUM_MEMBER_VAR_ORDER_MODIFIED,
273- ((*v1)->mangledName == (*v2)->mangledName) || !dsl.SameType((*v1)->GetTy(), v1Corsp->GetTy()), *v1, *v2);273+ ((*v1)->mangledName == (*v2)->mangledName) ||
274+ !dsl.SameType((*v1)->DataTy(), v1Corsp->DataTy()),
275+ *v1, *v2);
274 }276 }
275 END_FORALL()277 END_FORALL()
276 return checkerResult;278 return checkerResult;
@@ -179,7 +179,7 @@ static bool CheckConstructorParam(
179 if (!p1 || !p2) {179 if (!p1 || !p2) {
180 continue;180 continue;
181 }181 }
182- if (!dsl.SameType(p1->GetTy(), p2->GetTy()) || dsl.NameOfParam(p1) != dsl.NameOfParam(p2)) {182+ if (!dsl.SameType(p1->DataTy(), p2->DataTy()) || dsl.NameOfParam(p1) != dsl.NameOfParam(p2)) {
183 sameParamType = false;183 sameParamType = false;
184 break;184 break;
185 }185 }
@@ -748,7 +748,7 @@ void CheckerImpl::CheckFuncParams(
748 continue;748 continue;
749 }749 }
750 auto sameName = dsl.NameOfParam(p1) == dsl.NameOfParam(p2);750 auto sameName = dsl.NameOfParam(p1) == dsl.NameOfParam(p2);
751- auto sameType = dsl.SameType(p1->GetTy(), p2->GetTy());751+ auto sameType = dsl.SameType(p1->DataTy(), p2->DataTy());
752 if (dsl.IsNamedParam(p1)) {752 if (dsl.IsNamedParam(p1)) {
753 // The named parameter of function has been changed to unnamed parameter.753 // The named parameter of function has been changed to unnamed parameter.
754 CHECK(RuleKind::FUNC_PARAMETER_NAMED_TO_UNNAMED, dsl.IsNamedParam(p2), f1, f2, p1, p2);754 CHECK(RuleKind::FUNC_PARAMETER_NAMED_TO_UNNAMED, dsl.IsNamedParam(p2), f1, f2, p1, p2);
@@ -786,7 +786,7 @@ void CheckerImpl::CheckFuncParams(
786 }786 }
787 // Change the parameter type from A to B.787 // Change the parameter type from A to B.
788 // API: compatible when B is the parent type of A; conversely, incompatible. ABI: incompatible.788 // API: compatible when B is the parent type of A; conversely, incompatible. ABI: incompatible.
789- if (dsl.IsParentType(p2->GetTy(), p1->GetTy())) {789+ if (dsl.IsParentType(p2->DataTy(), p1->DataTy())) {
790 CHECK(RuleKind::FUNC_CHANGE_TYPE_OF_PARAMETER, false, f1, f2, p1, p2);790 CHECK(RuleKind::FUNC_CHANGE_TYPE_OF_PARAMETER, false, f1, f2, p1, p2);
791 } else {791 } else {
792 CHECK(RuleKind::FUNC_CHANGE_TYPE_OF_PARAMETER_NOT_PARENT_TYPE, false, f1, f2, p1, p2);792 CHECK(RuleKind::FUNC_CHANGE_TYPE_OF_PARAMETER_NOT_PARENT_TYPE, false, f1, f2, p1, p2);
@@ -917,7 +917,8 @@ bool CheckerImpl::StructMemberPropDeletedOrChanged(
917 CHECK(RuleKind::STRUCT_MEMBER_PROP_ANNO_CHANGED2,917 CHECK(RuleKind::STRUCT_MEMBER_PROP_ANNO_CHANGED2,
918 !IsFrozenAnnotationDeleted(dsl, p1, p2), p1, p2);918 !IsFrozenAnnotationDeleted(dsl, p1, p2), p1, p2);
919 // The return type of member property has been changed.919 // The return type of member property has been changed.
920- CHECK(RuleKind::STRUCT_MEMBER_PROP_RETURN_TYPE_CHANGED, dsl.SameType(p1->GetTy(), p2->GetTy()), p1, p2);920+ CHECK(RuleKind::STRUCT_MEMBER_PROP_RETURN_TYPE_CHANGED,
921+ dsl.SameType(p1->DataTy(), p2->DataTy()), p1, p2);
921 // The funcbody of getter/setter in member property has been changed.922 // The funcbody of getter/setter in member property has been changed.
922 NodeInfo propInfo{p1, p2};923 NodeInfo propInfo{p1, p2};
923 CheckPropBodyChanged(dsl, logger, checker, checkerResult, propInfo);924 CheckPropBodyChanged(dsl, logger, checker, checkerResult, propInfo);
@@ -1032,7 +1033,8 @@ bool CheckerImpl::EnumMemberPropDeletedOrChanged(
1032 // The annotation(Frozen) of member property has been deleted.1033 // The annotation(Frozen) of member property has been deleted.
1033 CHECK(RuleKind::ENUM_MEMBER_PROP_ANNO_CHANGED2, !IsFrozenAnnotationDeleted(dsl, p1, p2), p1, p2);1034 CHECK(RuleKind::ENUM_MEMBER_PROP_ANNO_CHANGED2, !IsFrozenAnnotationDeleted(dsl, p1, p2), p1, p2);
1034 // The return type of member property has been changed.1035 // The return type of member property has been changed.
1035- CHECK(RuleKind::ENUM_MEMBER_PROP_RETURN_TYPE_CHANGED, dsl.SameType(p1->GetTy(), p2->GetTy()), p1, p2);1036+ CHECK(RuleKind::ENUM_MEMBER_PROP_RETURN_TYPE_CHANGED,
1037+ dsl.SameType(p1->DataTy(), p2->DataTy()), p1, p2);
1036 // The funcbody of getter/setter in member property has been changed.1038 // The funcbody of getter/setter in member property has been changed.
1037 NodeInfo propInfo{p1, p2};1039 NodeInfo propInfo{p1, p2};
1038 CheckPropBodyChanged(dsl, logger, checker, checkerResult, propInfo);1040 CheckPropBodyChanged(dsl, logger, checker, checkerResult, propInfo);
@@ -1075,7 +1077,8 @@ bool CheckerImpl::ClassInstanceMemberPropRetTypeOrBodyChanged(
1075 BEGIN_FORALL(p1, diff.GetDomPotentiallyMemberModified(c1), dsl.PropDecl(p1) && diff.ModuleVisible(p1));1077 BEGIN_FORALL(p1, diff.GetDomPotentiallyMemberModified(c1), dsl.PropDecl(p1) && diff.ModuleVisible(p1));
1076 LETIF(p2, dsl.Corresponding(p1, diff.GetPotentiallyMemberModified(c1)), dsl.PropDecl(p2))1078 LETIF(p2, dsl.Corresponding(p1, diff.GetPotentiallyMemberModified(c1)), dsl.PropDecl(p2))
1077 // The return type of member property has been changed.1079 // The return type of member property has been changed.
1078- CHECK(RuleKind::CLASS_INSTANCE_MEMBER_PROP_RETURN_TYPE_CHANGED, dsl.SameType(p1->GetTy(), p2->GetTy()), p1, p2);1080+ CHECK(RuleKind::CLASS_INSTANCE_MEMBER_PROP_RETURN_TYPE_CHANGED,
1081+ dsl.SameType(p1->DataTy(), p2->DataTy()), p1, p2);
1079 // The funcbody of getter/setter in member property has been changed.1082 // The funcbody of getter/setter in member property has been changed.
1080 NodeInfo propInfo{p1, p2};1083 NodeInfo propInfo{p1, p2};
1081 CheckPropBodyChanged(dsl, logger, checker, checkerResult, propInfo);1084 CheckPropBodyChanged(dsl, logger, checker, checkerResult, propInfo);
@@ -1163,7 +1166,8 @@ bool CheckerImpl::InterfaceMemberPropAddedDeletedOrChanged(
1163 // The annotation(Frozen) of member property has been deleted.1166 // The annotation(Frozen) of member property has been deleted.
1164 CHECK(RuleKind::INTERFACE_MEMBER_PROP_FROZEN_DELETED, !IsFrozenAnnotationDeleted(dsl, p1, p2), p1, p2);1167 CHECK(RuleKind::INTERFACE_MEMBER_PROP_FROZEN_DELETED, !IsFrozenAnnotationDeleted(dsl, p1, p2), p1, p2);
1165 // The return type of member property has been changed.1168 // The return type of member property has been changed.
1166- CHECK(RuleKind::INTERFACE_MEMBER_PROP_RETURN_TYPE_CHANGED, dsl.SameType(p1->GetTy(), p2->GetTy()), p1, p2);1169+ CHECK(RuleKind::INTERFACE_MEMBER_PROP_RETURN_TYPE_CHANGED,
1170+ dsl.SameType(p1->DataTy(), p2->DataTy()), p1, p2);
1167 // The funcbody of getter/setter in member property has been changed.1171 // The funcbody of getter/setter in member property has been changed.
1168 NodeInfo propInfo{p1, p2};1172 NodeInfo propInfo{p1, p2};
1169 CheckPropBodyChanged(dsl, logger, checker, checkerResult, propInfo);1173 CheckPropBodyChanged(dsl, logger, checker, checkerResult, propInfo);
@@ -1232,7 +1236,8 @@ bool CheckerImpl::ExtendMemberPropAddedDeletedOrChanged(
1232 // The annotation(Frozen) of member property has been deleted.1236 // The annotation(Frozen) of member property has been deleted.
1233 CHECK(RuleKind::EXTEND_MEMBER_PROP_FROZEN_DELETED, !IsFrozenAnnotationDeleted(dsl, p1, p2), p1, p2);1237 CHECK(RuleKind::EXTEND_MEMBER_PROP_FROZEN_DELETED, !IsFrozenAnnotationDeleted(dsl, p1, p2), p1, p2);
1234 // The return type of member property has been changed.1238 // The return type of member property has been changed.
1235- CHECK(RuleKind::EXTEND_MEMBER_PROP_RETURN_TYPE_CHANGED, dsl.SameType(p1->GetTy(), p2->GetTy()), p1, p2);1239+ CHECK(RuleKind::EXTEND_MEMBER_PROP_RETURN_TYPE_CHANGED,
1240+ dsl.SameType(p1->DataTy(), p2->DataTy()), p1, p2);
1236 // The funcbody of getter/setter in member property has been changed.1241 // The funcbody of getter/setter in member property has been changed.
1237 NodeInfo propInfo{p1, p2};1242 NodeInfo propInfo{p1, p2};
1238 CheckPropBodyChanged(dsl, logger, checker, checkerResult, propInfo);1243 CheckPropBodyChanged(dsl, logger, checker, checkerResult, propInfo);
@@ -40,10 +40,12 @@ bool CheckerImpl::StructMemberVarModified(
40 dsl.IsConst(v1) && dsl.IsConst(v2), v1, v2);40 dsl.IsConst(v1) && dsl.IsConst(v2), v1, v2);
41 }41 }
42 if (dsl.IsPublic(v1) && dsl.IsPublic(v2)) {42 if (dsl.IsPublic(v1) && dsl.IsPublic(v2)) {
43- CHECK(RuleKind::STRUCT_MEMBER_VAR_TYPE_MODIFIED, dsl.SameType(v1->GetTy(), v2->GetTy()), v1, v2);43+ CHECK(RuleKind::STRUCT_MEMBER_VAR_TYPE_MODIFIED,
44+ dsl.SameType(v1->DataTy(), v2->DataTy()), v1, v2);
44 }45 }
45 if (!dsl.IsPublic(v1) && !dsl.IsPublic(v2)) {46 if (!dsl.IsPublic(v1) && !dsl.IsPublic(v2)) {
46- CHECK(RuleKind::STRUCT_NONPUBLIC_MEMBER_VAR_TYPE_MODIFIED, dsl.SameType(v1->GetTy(), v2->GetTy()), v1, v2);47+ CHECK(RuleKind::STRUCT_NONPUBLIC_MEMBER_VAR_TYPE_MODIFIED,
48+ dsl.SameType(v1->DataTy(), v2->DataTy()), v1, v2);
47 }49 }
48 CHECK(RuleKind::STRUCT_INSTANCE_VAR_ACCESS_MODIFIED,50 CHECK(RuleKind::STRUCT_INSTANCE_VAR_ACCESS_MODIFIED,
49 !(dsl.IsPublic(v1) && !dsl.IsPublic(v2)), v1, v2);51 !(dsl.IsPublic(v1) && !dsl.IsPublic(v2)), v1, v2);
@@ -65,7 +67,7 @@ bool CheckerImpl::StructMemberVarModified(
65 if (!(*v1)->TestAttr(Attribute::STATIC) && !(*v2)->TestAttr(Attribute::STATIC)) {67 if (!(*v1)->TestAttr(Attribute::STATIC) && !(*v2)->TestAttr(Attribute::STATIC)) {
66 CHECK(RuleKind::STRUCT_MEMBER_VAR_ORDER_MODIFIED,68 CHECK(RuleKind::STRUCT_MEMBER_VAR_ORDER_MODIFIED,
67 ((*v1)->mangledName == (*v2)->mangledName) || v1Corsp == nullptr ||69 ((*v1)->mangledName == (*v2)->mangledName) || v1Corsp == nullptr ||
68- !dsl.SameType((*v1)->GetTy(), v1Corsp->GetTy()),70+ !dsl.SameType((*v1)->GetTy().get(), v1Corsp->GetTy().get()),
69 *v1, *v2);71 *v1, *v2);
70 }72 }
71 }73 }
@@ -256,7 +258,7 @@ bool CheckerImpl::ClassInstMemberVarModified(
256 258 
257 for (; v1 != c1Vars.end() && v2 != c2Vars.end(); ++v1, ++v2) {259 for (; v1 != c1Vars.end() && v2 != c2Vars.end(); ++v1, ++v2) {
258 LETIF(v1Corsp, dsl.Corresponding(*v1, diff.GetPotentiallyMemberModified(c1)), v1Corsp != nullptr)260 LETIF(v1Corsp, dsl.Corresponding(*v1, diff.GetPotentiallyMemberModified(c1)), v1Corsp != nullptr)
259- auto modifyVarType = !dsl.SameType((*v1)->GetTy(), v1Corsp->GetTy());261+ auto modifyVarType = !dsl.SameType((*v1)->GetTy().get(), v1Corsp->GetTy().get());
260 if (dsl.IsPublicOrProtected(*v1) && dsl.IsPublicOrProtected(v1Corsp)) {262 if (dsl.IsPublicOrProtected(*v1) && dsl.IsPublicOrProtected(v1Corsp)) {
261 CHECK(RuleKind::CLASS_PUBLIC_PROTECTED_MEMBER_VAR_TYPE_MODIFIED, !modifyVarType, *v1, v1Corsp);263 CHECK(RuleKind::CLASS_PUBLIC_PROTECTED_MEMBER_VAR_TYPE_MODIFIED, !modifyVarType, *v1, v1Corsp);
262 }264 }
@@ -264,7 +266,9 @@ bool CheckerImpl::ClassInstMemberVarModified(
264 CHECK(RuleKind::CLASS_PRIVATE_INTERNAL_MEMBER_VAR_TYPE_MODIFIED, !modifyVarType, *v1, v1Corsp);266 CHECK(RuleKind::CLASS_PRIVATE_INTERNAL_MEMBER_VAR_TYPE_MODIFIED, !modifyVarType, *v1, v1Corsp);
265 }267 }
266 CHECK(RuleKind::CLASS_MEMBER_VAR_ORDER_MODIFIED,268 CHECK(RuleKind::CLASS_MEMBER_VAR_ORDER_MODIFIED,
267- ((*v1)->mangledName == (*v2)->mangledName) || !dsl.SameType((*v1)->GetTy(), v1Corsp->GetTy()), *v1, *v2);269+ ((*v1)->mangledName == (*v2)->mangledName) ||
270+ !dsl.SameType((*v1)->GetTy().get(), v1Corsp->GetTy().get()),
271+ *v1, *v2);
268 }272 }
269 273 
270 BEGIN_FORALL(v1, diff.GetDomPotentiallyMemberModified(c1),274 BEGIN_FORALL(v1, diff.GetDomPotentiallyMemberModified(c1),
@@ -192,7 +192,7 @@ static std::string GetTypeName(const Ty* ty)
192 if (!aliasTy->declPtr || !aliasTy->declPtr->type || !aliasTy->declPtr->type->GetTy()) {192 if (!aliasTy->declPtr || !aliasTy->declPtr->type || !aliasTy->declPtr->type->GetTy()) {
193 return Ty::ToString(ty);193 return Ty::ToString(ty);
194 }194 }
195- return GetTypeName(aliasTy->declPtr->type->GetTy());195+ return GetTypeName(aliasTy->declPtr->type->GetTy().get());
196}196}
197 197 
198static std::string GetExtendTypeName(const AST::ExtendDecl* ed)198static std::string GetExtendTypeName(const AST::ExtendDecl* ed)
@@ -206,7 +206,7 @@ static std::string GetExtendTypeName(const AST::ExtendDecl* ed)
206 }206 }
207 // The extend type is RefType, and may be an alias type.207 // The extend type is RefType, and may be an alias type.
208 if (ed->extendedType->GetTy() && ed->extendedType->GetTy()->kind == TypeKind::TYPE) {208 if (ed->extendedType->GetTy() && ed->extendedType->GetTy()->kind == TypeKind::TYPE) {
209- return GetTypeName(ed->extendedType->GetTy());209+ return GetTypeName(ed->extendedType->GetTy().get());
210 }210 }
211 if (ed->extendedType->astKind != AST::ASTKind::REF_TYPE) {211 if (ed->extendedType->astKind != AST::ASTKind::REF_TYPE) {
212 return "";212 return "";
@@ -286,8 +286,8 @@ void Diff::Print() const
286 for (auto decl : potentiallyModified) {286 for (auto decl : potentiallyModified) {
287 auto first = static_cast<Cangjie::AST::Decl*>(decl.first);287 auto first = static_cast<Cangjie::AST::Decl*>(decl.first);
288 auto second = static_cast<Cangjie::AST::Decl*>(decl.second);288 auto second = static_cast<Cangjie::AST::Decl*>(decl.second);
289- std::cout << " " << first->identifier << Cangjie::AST::Ty::ToString(first->GetTy()) << " - "289+ std::cout << " " << first->identifier << Cangjie::AST::Ty::ToString(first->GetTy().Ty()) << " - "
290- << second->identifier << Cangjie::AST::Ty::ToString(second->GetTy()) << std::endl;290+ << second->identifier << Cangjie::AST::Ty::ToString(second->GetTy().Ty()) << std::endl;
291 }291 }
292 }292 }
293 std::cout << std::endl;293 std::cout << std::endl;
@@ -11,6 +11,16 @@ using namespace Cangjie;
11using namespace Cangjie::AST;11using namespace Cangjie::AST;
12 12 
13namespace {13namespace {
14+static std::vector<Ptr<Ty>> ToDataTys(const std::vector<ModalTy>& modalTys)
15+{
16+ std::vector<Ptr<Ty>> dataTys;
17+ dataTys.reserve(modalTys.size());
18+ for (const auto& modalTy : modalTys) {
19+ dataTys.emplace_back(modalTy.Ty());
20+ }
21+ return dataTys;
22+}
23+ 
14static Ptr<Ty> GetTyFromASTType(TypeManager& typeManager, const Ty* ty, const std::vector<Ptr<Ty>>& typeArgs)24static Ptr<Ty> GetTyFromASTType(TypeManager& typeManager, const Ty* ty, const std::vector<Ptr<Ty>>& typeArgs)
15{25{
16 auto pDecl = Ty::GetDeclOfTy(ty);26 auto pDecl = Ty::GetDeclOfTy(ty);
@@ -37,7 +47,7 @@ static Ptr<Ty> GetTyFromASTType(TypeManager& typeManager, const Ty* ty, const st
37 default:47 default:
38 break;48 break;
39 }49 }
40- return pDecl->GetTy();50+ return pDecl->GetTy().Ty();
41}51}
42 52 
43static std::string GetTypeName(TypeManager& typeManager, const Ty* ty, const std::vector<Ptr<Ty>>& typeArgs = {})53static std::string GetTypeName(TypeManager& typeManager, const Ty* ty, const std::vector<Ptr<Ty>>& typeArgs = {})
@@ -56,19 +66,19 @@ static std::string GetTypeName(TypeManager& typeManager, const Ty* ty, const std
56 if (!aliasTy->declPtr || !aliasTy->declPtr->type || !aliasTy->declPtr->type->GetTy()) {66 if (!aliasTy->declPtr || !aliasTy->declPtr->type || !aliasTy->declPtr->type->GetTy()) {
57 return tystr;67 return tystr;
58 }68 }
59- return GetTypeName(typeManager, aliasTy->declPtr->type->GetTy(), ty->typeArgs);69+ return GetTypeName(typeManager, aliasTy->declPtr->type->GetTy().Ty(), ToDataTys(ty->typeArgs));
60 }70 }
61 if (ty->kind == TypeKind::TYPE_FUNC) {71 if (ty->kind == TypeKind::TYPE_FUNC) {
62 auto funcTy = static_cast<const FuncTy*>(ty);72 auto funcTy = static_cast<const FuncTy*>(ty);
63 std::string str{"("};73 std::string str{"("};
64 for (auto& paramTy : funcTy->paramTys) {74 for (auto& paramTy : funcTy->paramTys) {
65 if (&paramTy == &funcTy->paramTys.back()) {75 if (&paramTy == &funcTy->paramTys.back()) {
66- str += GetTypeName(typeManager, paramTy, typeArgs);76+ str += GetTypeName(typeManager, paramTy.Ty(), typeArgs);
67 } else {77 } else {
68- str += GetTypeName(typeManager, paramTy, typeArgs) + ", ";78+ str += GetTypeName(typeManager, paramTy.Ty(), typeArgs) + ", ";
69 }79 }
70 }80 }
71- str = str + ") -> " + GetTypeName(typeManager, funcTy->retTy, typeArgs);81+ str = str + ") -> " + GetTypeName(typeManager, funcTy->retTy.Ty(), typeArgs);
72 return funcTy->IsCFunc() ? "CFunc<" + str + ">" : str;82 return funcTy->IsCFunc() ? "CFunc<" + str + ">" : str;
73 }83 }
74 if (ty->HasGeneric() && ty->typeArgs.size() == typeArgs.size()) {84 if (ty->HasGeneric() && ty->typeArgs.size() == typeArgs.size()) {
@@ -472,8 +482,8 @@ bool Dsl::SameFunc(Node* n1, Node* n2)
472 }482 }
473 auto paramNum = fd1->funcBody->paramLists[0]->params.size();483 auto paramNum = fd1->funcBody->paramLists[0]->params.size();
474 for (size_t i = 0; i < paramNum; i++) {484 for (size_t i = 0; i < paramNum; i++) {
475- if (!SameType(fd1->funcBody->paramLists[0]->params[i]->GetTy(),485+ if (!SameType(fd1->funcBody->paramLists[0]->params[i]->GetTy().get(),
476- fd2->funcBody->paramLists[0]->params[i]->GetTy())) {486+ fd2->funcBody->paramLists[0]->params[i]->GetTy().get())) {
477 return false;487 return false;
478 }488 }
479 }489 }
@@ -670,7 +680,7 @@ bool Dsl::SameNamelessDecl(const Node* x1, const Node* x2, bool isClass)
670 }680 }
671 return false;681 return false;
672 }682 }
673- if (!SameType(x1->GetTy(), x2->GetTy())) {683+ if (!SameType(x1->GetTy().get(), x2->GetTy().get())) {
674 return false;684 return false;
675 }685 }
676 if (IsInitialized(x1) && IsInitialized(x2) && VarLetOrConst(x1)) {686 if (IsInitialized(x1) && IsInitialized(x2) && VarLetOrConst(x1)) {
@@ -685,7 +695,7 @@ bool Dsl::SameVarValue(const Node* x1, const Node* x2)
685 CJC_ASSERT(v1 != nullptr);695 CJC_ASSERT(v1 != nullptr);
686 auto v2 = dynamic_cast<const VarDecl*>(x2);696 auto v2 = dynamic_cast<const VarDecl*>(x2);
687 CJC_ASSERT(v2 != nullptr);697 CJC_ASSERT(v2 != nullptr);
688- if (!Subtype(v1->GetTy(), v2->GetTy()) && !IsParentType(v1->GetTy(), v2->GetTy())) {698+ if (!Subtype(v1->GetTy().get(), v2->GetTy().get()) && !IsParentType(v1->GetTy().get(), v2->GetTy().get())) {
689 return false;699 return false;
690 }700 }
691 if (auto litConstExpr1 = dynamic_cast<LitConstExpr*>(v1->initializer.get().get()); litConstExpr1) {701 if (auto litConstExpr1 = dynamic_cast<LitConstExpr*>(v1->initializer.get().get()); litConstExpr1) {
@@ -762,7 +772,10 @@ bool Dsl::IsConst(const Node* x)
762 772 
763bool Dsl::IsClass(const OwnedPtr<Type>& x)773bool Dsl::IsClass(const OwnedPtr<Type>& x)
764{774{
765- return x && x->GetTy() && x->GetTy()->kind == TypeKind::TYPE_CLASS && Ty::ToString(x->GetTy()) != "Class-Object";775+ if (!x || !x->GetTy() || x->TyKind() != TypeKind::TYPE_CLASS) {
776+ return false;
777+ }
778+ return Ty::ToString(x->DataTy()) != "Class-Object";
766}779}
767 780 
768bool Dsl::IsInterface(const OwnedPtr<Type>& x)781bool Dsl::IsInterface(const OwnedPtr<Type>& x)
@@ -813,7 +826,7 @@ Ty* Dsl::AliasTargetTy(const Node* n)
813 if (!n || n->astKind != ASTKind::TYPE_ALIAS_DECL) {826 if (!n || n->astKind != ASTKind::TYPE_ALIAS_DECL) {
814 return nullptr;827 return nullptr;
815 }828 }
816- return static_cast<const TypeAliasDecl*>(n)->type->GetTy();829+ return static_cast<const TypeAliasDecl*>(n)->type->GetTy().get();
817}830}
818 831 
819Ty* Dsl::TypeOf(const Node* n)832Ty* Dsl::TypeOf(const Node* n)
@@ -16,7 +16,7 @@ static Ptr<Ty> GetType(Ptr<Ty> ty)
16 if (!ty || ty->typeArgs.empty()) {16 if (!ty || ty->typeArgs.empty()) {
17 return nullptr;17 return nullptr;
18 }18 }
19- return ty->typeArgs[0];19+ return ty->typeArgs[0].Ty();
20}20}
21 21 
22void StructuralRuleFFIC7::CheckPointerExpr(Ptr<AST::Node> node)22void StructuralRuleFFIC7::CheckPointerExpr(Ptr<AST::Node> node)
@@ -26,11 +26,11 @@ void StructuralRuleFFIC7::CheckPointerExpr(Ptr<AST::Node> node)
26 return VisitAction::WALK_CHILDREN;26 return VisitAction::WALK_CHILDREN;
27 }27 }
28 auto pointerExpr = StaticAs<ASTKind::POINTER_EXPR>(node);28 auto pointerExpr = StaticAs<ASTKind::POINTER_EXPR>(node);
29- auto toTy = GetType(pointerExpr->GetTy());29+ auto toTy = GetType(pointerExpr->GetTy().Ty());
30 if (!pointerExpr->arg || !pointerExpr->arg->GetTy()) {30 if (!pointerExpr->arg || !pointerExpr->arg->GetTy()) {
31 return VisitAction::WALK_CHILDREN;31 return VisitAction::WALK_CHILDREN;
32 }32 }
33- auto fromTy = GetType(pointerExpr->arg->GetTy());33+ auto fromTy = GetType(pointerExpr->arg->GetTy().Ty());
34 if (!toTy || !fromTy) {34 if (!toTy || !fromTy) {
35 return VisitAction::WALK_CHILDREN;35 return VisitAction::WALK_CHILDREN;
36 }36 }
@@ -69,7 +69,7 @@ void StructuralRuleGDCL01::FuncDeclProcessor(
69 FuncDecl& funcDecl, std::map<std::string, std::stack<Decl*>>& funcContainer)69 FuncDecl& funcDecl, std::map<std::string, std::stack<Decl*>>& funcContainer)
70{70{
71 // get func param types71 // get func param types
72- auto types = DynamicCast<FuncTy*>(funcDecl.GetTy());72+ auto types = DynamicCast<FuncTy*>(funcDecl.GetTy().get());
73 if (!types) {73 if (!types) {
74 return;74 return;
75 }75 }
@@ -114,7 +114,7 @@ void StructuralRuleGDCL01::PostVarDeclProcessor(
114void StructuralRuleGDCL01::PostFuncDeclProcessor(114void StructuralRuleGDCL01::PostFuncDeclProcessor(
115 FuncDecl& funcDecl, std::map<std::string, std::stack<Decl*>>& funcContainer)115 FuncDecl& funcDecl, std::map<std::string, std::stack<Decl*>>& funcContainer)
116{116{
117- auto types = DynamicCast<FuncTy*>(funcDecl.GetTy());117+ auto types = DynamicCast<FuncTy*>(funcDecl.GetTy().get());
118 if (!types) {118 if (!types) {
119 return;119 return;
120 }120 }
@@ -371,4 +371,4 @@ void StructuralRuleGDCL01::MatchPattern(ASTContext& ctx, Ptr<Node> node)
371 // check Generic param shadow371 // check Generic param shadow
372 FindGenericShadowNode(node);372 FindGenericShadowNode(node);
373}373}
374-} // namespace Cangjie::CodeCheck374+} // namespace Cangjie::CodeCheck
@@ -23,19 +23,21 @@ bool StructuralRuleGENU02::CheckTyEqualityHelper(Cangjie::AST::Ty* base, Cangjie
23 auto classDecl = static_cast<Cangjie::AST::ClassLikeDecl*>(Cangjie::AST::Ty::GetDeclOfTy(derived).get());23 auto classDecl = static_cast<Cangjie::AST::ClassLikeDecl*>(Cangjie::AST::Ty::GetDeclOfTy(derived).get());
24 // Explicit Inheritance When Class Is Declared24 // Explicit Inheritance When Class Is Declared
25 for (auto& super : classDecl->inheritedTypes) {25 for (auto& super : classDecl->inheritedTypes) {
26- if (super->GetTy() == base) {26+ auto superTy = super->GetTy().get();
27+ if (superTy == base) {
27 return true;28 return true;
28 }29 }
29- if (CheckTyEqualityHelper(base, super->GetTy())) {30+ if (superTy != nullptr && CheckTyEqualityHelper(base, superTy)) {
30 return true;31 return true;
31 }32 }
32 }33 }
33 // Inheritance relationship defined by extension34 // Inheritance relationship defined by extension
34 for (auto& super : inheritedClassMap[derived]) {35 for (auto& super : inheritedClassMap[derived]) {
35- if (super->GetTy() == base) {36+ auto superTy = super->GetTy().get();
37+ if (superTy == base) {
36 return true;38 return true;
37 }39 }
38- if (CheckTyEqualityHelper(base, super->GetTy())) {40+ if (superTy != nullptr && CheckTyEqualityHelper(base, superTy)) {
39 return true;41 return true;
40 }42 }
41 }43 }
@@ -66,7 +68,7 @@ void StructuralRuleGENU02::DuplicatedEnumCtrOrFuncHelper(const Cangjie::AST::Fun
66 auto& params = funcDecl.funcBody->paramLists[0]->params;68 auto& params = funcDecl.funcBody->paramLists[0]->params;
67 std::vector<AST::Ty*> args;69 std::vector<AST::Ty*> args;
68 for (size_t i = 0; i < params.size(); i++) {70 for (size_t i = 0; i < params.size(); i++) {
69- args.emplace_back(params[i]->GetTy());71+ args.emplace_back(params[i]->GetTy().get());
70 }72 }
71 auto isEnumCtr = funcDecl.TestAttr(Attribute::ENUM_CONSTRUCTOR);73 auto isEnumCtr = funcDecl.TestAttr(Attribute::ENUM_CONSTRUCTOR);
72 auto enumCtr = EnumCtr(funcDecl.identifier, args, isEnumCtr);74 auto enumCtr = EnumCtr(funcDecl.identifier, args, isEnumCtr);
@@ -135,9 +137,10 @@ void StructuralRuleGENU02::FindExtendHelper(Ptr<Cangjie::AST::Node> node)
135 Walker walker(node, [this](Ptr<Node> node) -> VisitAction {137 Walker walker(node, [this](Ptr<Node> node) -> VisitAction {
136 return match(*node)(138 return match(*node)(
137 [this](const ExtendDecl& extendDecl) {139 [this](const ExtendDecl& extendDecl) {
138- if (extendDecl.extendedType->GetTy()->IsClassLike()) {140+ auto extendedTy = extendDecl.extendedType->GetTy().get();
141+ if (extendedTy != nullptr && extendedTy->IsClassLike()) {
139 for (auto& type : extendDecl.inheritedTypes) {142 for (auto& type : extendDecl.inheritedTypes) {
140- inheritedClassMap[extendDecl.extendedType->GetTy()].emplace_back(type.get());143+ inheritedClassMap[extendedTy].emplace_back(type.get());
141 }144 }
142 }145 }
143 return VisitAction::SKIP_CHILDREN;146 return VisitAction::SKIP_CHILDREN;
@@ -80,7 +80,7 @@ static bool IsIrrefutablePattern(const Pattern &pattern)
80 // For Enum mode, determine if it is an IrrefutablePattern80 // For Enum mode, determine if it is an IrrefutablePattern
81 if (varOrEnumPattern->pattern && varOrEnumPattern->pattern->GetTy()) {81 if (varOrEnumPattern->pattern && varOrEnumPattern->pattern->GetTy()) {
82 auto &enumPattern = static_cast<const EnumPattern &>(*varOrEnumPattern->pattern);82 auto &enumPattern = static_cast<const EnumPattern &>(*varOrEnumPattern->pattern);
83- auto enumTy = RawStaticCast<EnumTy *>(varOrEnumPattern->pattern->GetTy());83+ auto enumTy = RawStaticCast<EnumTy *>(varOrEnumPattern->pattern->GetTy().get());
84 return enumTy && enumTy->declPtr && enumTy->declPtr->constructors.size() == 1 &&84 return enumTy && enumTy->declPtr && enumTy->declPtr->constructors.size() == 1 &&
85 std::all_of(enumPattern.patterns.cbegin(), enumPattern.patterns.cend(),85 std::all_of(enumPattern.patterns.cbegin(), enumPattern.patterns.cend(),
86 [](const OwnedPtr<Pattern> &p) { return IsIrrefutablePattern(*p); });86 [](const OwnedPtr<Pattern> &p) { return IsIrrefutablePattern(*p); });
@@ -92,7 +92,7 @@ static bool IsIrrefutablePattern(const Pattern &pattern)
92 return false;92 return false;
93 }93 }
94 auto &enumPattern = static_cast<const EnumPattern &>(pattern);94 auto &enumPattern = static_cast<const EnumPattern &>(pattern);
95- auto enumTy = RawStaticCast<EnumTy *>(pattern.GetTy());95+ auto enumTy = RawStaticCast<EnumTy *>(pattern.GetTy().get());
96 return enumTy && enumTy->declPtr && enumTy->declPtr->constructors.size() == 1 &&96 return enumTy && enumTy->declPtr && enumTy->declPtr->constructors.size() == 1 &&
97 std::all_of(enumPattern.patterns.cbegin(), enumPattern.patterns.cend(),97 std::all_of(enumPattern.patterns.cbegin(), enumPattern.patterns.cend(),
98 [](const OwnedPtr<Pattern> &p) { return IsIrrefutablePattern(*p); });98 [](const OwnedPtr<Pattern> &p) { return IsIrrefutablePattern(*p); });
@@ -135,4 +135,4 @@ void StructuralRuleGEXP01::MatchPattern(ASTContext &ctx, Ptr<Node> node)
135 (void)ctx;135 (void)ctx;
136 FindMatchExpr(node);136 FindMatchExpr(node);
137}137}
138-} // namespace Cangjie::CodeCheck138+} // namespace Cangjie::CodeCheck
@@ -14,6 +14,9 @@ using namespace Meta;
14 14 
15static bool IsSubClass(Ptr<AST::Ty> base, Ptr<AST::Ty> derived)15static bool IsSubClass(Ptr<AST::Ty> base, Ptr<AST::Ty> derived)
16{16{
17+ if (!base || !derived) {
18+ return false;
19+ }
17 if (!derived->IsClassLike()) {20 if (!derived->IsClassLike()) {
18 return false;21 return false;
19 }22 }
@@ -22,13 +25,23 @@ static bool IsSubClass(Ptr<AST::Ty> base, Ptr<AST::Ty> derived)
22 }25 }
23 auto classDecl = StaticCast<AST::ClassLikeDecl*>(AST::Ty::GetDeclOfTy(derived).get());26 auto classDecl = StaticCast<AST::ClassLikeDecl*>(AST::Ty::GetDeclOfTy(derived).get());
24 for (auto& super : classDecl->inheritedTypes) {27 for (auto& super : classDecl->inheritedTypes) {
25- if (IsSubClass(base, super->GetTy())) {28+ if (IsSubClass(base, super->GetTy().Ty())) {
26 return true;29 return true;
27 }30 }
28 }31 }
29 return false;32 return false;
30}33}
31 34 
35+static std::vector<Ptr<AST::Ty>> GetDataTys(const std::vector<AST::ModalTy>& modalTys)
36+{
37+ std::vector<Ptr<AST::Ty>> dataTys;
38+ dataTys.reserve(modalTys.size());
39+ for (auto& modalTy : modalTys) {
40+ dataTys.emplace_back(modalTy.Ty());
41+ }
42+ return dataTys;
43+}
44+ 
32static bool IsNotSameParams(std::vector<Ptr<AST::Ty>>& current, std::vector<Ptr<AST::Ty>>& target)45static bool IsNotSameParams(std::vector<Ptr<AST::Ty>>& current, std::vector<Ptr<AST::Ty>>& target)
33{46{
34 if (current.size() != target.size()) {47 if (current.size() != target.size()) {
@@ -58,9 +71,9 @@ static bool HasParentChildTypeRelation(std::vector<Ptr<AST::Ty>>& current, std::
58void StructuralRuleGFUNC03::FuncDeclProcessor(Ptr<Node> node)71void StructuralRuleGFUNC03::FuncDeclProcessor(Ptr<Node> node)
59{72{
60 auto funcDecl = StaticCast<AST::FuncDecl*>(node);73 auto funcDecl = StaticCast<AST::FuncDecl*>(node);
61- auto functy = DynamicCast<AST::FuncTy*>(funcDecl->GetTy());74+ auto functy = DynamicCast<AST::FuncTy*>(funcDecl->GetTy().get());
62 if (functy) {75 if (functy) {
63- auto paramTys = functy->paramTys;76+ auto paramTys = GetDataTys(functy->paramTys);
64 for (auto modifier : funcDecl->modifiers) {77 for (auto modifier : funcDecl->modifiers) {
65 if (modifier.modifier== TokenKind::COMMON || modifier.modifier == TokenKind::SPECIFIC) {78 if (modifier.modifier== TokenKind::COMMON || modifier.modifier == TokenKind::SPECIFIC) {
66 return;79 return;
@@ -92,11 +105,11 @@ void StructuralRuleGFUNC03::FileProcessor(Ptr<Node> node)
92 continue;105 continue;
93 }106 }
94 auto funcDecl = StaticCast<AST::FuncDecl*>(decl.get());107 auto funcDecl = StaticCast<AST::FuncDecl*>(decl.get());
95- auto functy = DynamicCast<AST::FuncTy*>(funcDecl->GetTy());108+ auto functy = DynamicCast<AST::FuncTy*>(funcDecl->GetTy().get());
96 if (!functy) {109 if (!functy) {
97 continue;110 continue;
98 }111 }
99- auto paramTys = functy->paramTys;112+ auto paramTys = GetDataTys(functy->paramTys);
100 for (auto modifier : funcDecl->modifiers) {113 for (auto modifier : funcDecl->modifiers) {
101 if (modifier.modifier== TokenKind::COMMON || modifier.modifier == TokenKind::SPECIFIC) {114 if (modifier.modifier== TokenKind::COMMON || modifier.modifier == TokenKind::SPECIFIC) {
102 return;115 return;
@@ -173,4 +186,4 @@ void StructuralRuleGFUNC03::MatchPattern(ASTContext& ctx, Ptr<Node> node)
173 (void)ctx;186 (void)ctx;
174 CheckFuncOverload(node);187 CheckFuncOverload(node);
175}188}
176-} // namespace Cangjie::CodeCheck189+} // namespace Cangjie::CodeCheck
@@ -34,7 +34,8 @@ void StructuralRuleGITF02::CheckExtendMemberDecls(const Cangjie::AST::ExtendDecl
34 for (auto& member : extendDecl.members) {34 for (auto& member : extendDecl.members) {
35 bool label = false;35 bool label = false;
36 for (auto& interfaceTy : extendDecl.GetSuperInterfaceTys()) {36 for (auto& interfaceTy : extendDecl.GetSuperInterfaceTys()) {
37- auto interface = RawStaticCast<AST::InterfaceDecl*>(AST::Ty::GetDeclOfTy(interfaceTy));37+ Ptr<AST::Ty> ty = interfaceTy;
38+ auto interface = RawStaticCast<AST::InterfaceDecl*>(AST::Ty::GetDeclOfTy(ty));
38 if (interface->TestAttr(Attribute::IMPORTED)) {39 if (interface->TestAttr(Attribute::IMPORTED)) {
39 continue;40 continue;
40 }41 }
@@ -16,7 +16,7 @@ void StructuralRuleGITF04::CheckFuncDeclParams(const Cangjie::AST::FuncDecl &fun
16 return;16 return;
17 }17 }
18 if (funcDecl.GetTy()) {18 if (funcDecl.GetTy()) {
19- Ptr<AST::FuncTy> funcTy = DynamicCast<AST::FuncTy*>(funcDecl.GetTy());19+ Ptr<AST::FuncTy> funcTy = DynamicCast<AST::FuncTy*>(funcDecl.GetTy().get());
20 if (funcTy && funcTy->retTy && funcTy->retTy->IsInterface()) {20 if (funcTy && funcTy->retTy && funcTy->retTy->IsInterface()) {
21 Diagnose(funcDecl.begin, funcDecl.end,21 Diagnose(funcDecl.begin, funcDecl.end,
22 CodeCheckDiagKind::G_ITF_04_avoid_directly_using_interfaces_as_types_02, funcDecl.identifier.Val());22 CodeCheckDiagKind::G_ITF_04_avoid_directly_using_interfaces_as_types_02, funcDecl.identifier.Val());
@@ -54,4 +54,4 @@ void StructuralRuleGITF04::MatchPattern(ASTContext &ctx, Ptr<Node> node)
54 (void)ctx;54 (void)ctx;
55 FindFuncDecl(node);55 FindFuncDecl(node);
56}56}
57-}57+}
@@ -43,7 +43,7 @@ bool StructuralRuleGNAM03::IsExceptionSubclass(const ClassDecl &classDecl, std::
43 return true;43 return true;
44 }44 }
45 if (it->GetTy() && it->GetTy()->kind == TypeKind::TYPE_CLASS) {45 if (it->GetTy() && it->GetTy()->kind == TypeKind::TYPE_CLASS) {
46- Ptr<ClassDecl> claDecl = StaticCast<ClassTy>(it->GetTy())->decl;46+ Ptr<ClassDecl> claDecl = StaticCast<ClassTy*>(it->GetTy().get())->decl;
47 if (declSet.count(claDecl) > 0) {47 if (declSet.count(claDecl) > 0) {
48 continue;48 continue;
49 }49 }
@@ -91,7 +91,7 @@ void StructuralRuleGOTH04::AnalyzeVarDecl(const VarDecl& varDecl)
91 }91 }
92 92 
93 bool flag = false;93 bool flag = false;
94- VarDeclTypeAnalysis(varDecl.GetTy(), flag);94+ VarDeclTypeAnalysis(varDecl.GetTy().Ty(), flag);
95 if (flag) {95 if (flag) {
96 Diagnose(varDecl.identifier.Begin(), varDecl.identifier.End(),96 Diagnose(varDecl.identifier.Begin(), varDecl.identifier.End(),
97 CodeCheckDiagKind::G_OTH_04_avoid_use_string_type_to_store_sensitive_data, varDecl.identifier.Val());97 CodeCheckDiagKind::G_OTH_04_avoid_use_string_type_to_store_sensitive_data, varDecl.identifier.Val());
@@ -134,7 +134,7 @@ void StructuralRuleGOTH04::IsIncludeStringType(Ptr<Ty> ty, bool& flag)
134 flag = true;134 flag = true;
135 break;135 break;
136 }136 }
137- VarDeclTypeAnalysis(item, flag);137+ VarDeclTypeAnalysis(item.Ty(), flag);
138 }138 }
139}139}
140-} // namespace Cangjie::CodeCheck140+} // namespace Cangjie::CodeCheck
@@ -32,7 +32,7 @@ protected:
32 return true;32 return true;
33 }33 }
34 if (it->GetTy() && it->GetTy()->kind == AST::TypeKind::TYPE_CLASS) {34 if (it->GetTy() && it->GetTy()->kind == AST::TypeKind::TYPE_CLASS) {
35- auto classDecl = StaticCast<AST::ClassTy>(it->GetTy())->decl;35+ auto classDecl = StaticCast<AST::ClassTy*>(it->GetTy().get())->decl;
36 if (declSet.count(classDecl) > 0) {36 if (declSet.count(classDecl) > 0) {
37 continue;37 continue;
38 }38 }
@@ -42,7 +42,7 @@ protected:
42 }42 }
43 }43 }
44 if (it->GetTy() && it->GetTy()->kind == AST::TypeKind::TYPE_INTERFACE) {44 if (it->GetTy() && it->GetTy()->kind == AST::TypeKind::TYPE_INTERFACE) {
45- auto interfaceDecl = StaticCast<AST::InterfaceTy>(it->GetTy())->decl;45+ auto interfaceDecl = StaticCast<AST::InterfaceTy*>(it->GetTy().get())->decl;
46 if (declSet.count(interfaceDecl) > 0) {46 if (declSet.count(interfaceDecl) > 0) {
47 continue;47 continue;
48 }48 }
@@ -5,6 +5,7 @@
5// See https://cangjie-lang.cn/pages/LICENSE for license information.5// See https://cangjie-lang.cn/pages/LICENSE for license information.
6 6 
7 7 
8+#include <limits>
8#ifdef BUILD_LIB_CANGJIE_DEMANGLE // to reuse the code to compile CangjieDemangle.cpp9#ifdef BUILD_LIB_CANGJIE_DEMANGLE // to reuse the code to compile CangjieDemangle.cpp
9#include <cstring>10#include <cstring>
10#include <string>11#include <string>
@@ -26,6 +27,8 @@ constexpr char MANGLE_CSTRING_PREFIX = 'k';
26constexpr char MANGLE_VOID_PREFIX = 'v';27constexpr char MANGLE_VOID_PREFIX = 'v';
27constexpr char MANGLE_GTY_PREFIX = 'G';28constexpr char MANGLE_GTY_PREFIX = 'G';
28constexpr char MANGLE_DEFAULT_PARAM_FUNCTION_PREFIX = '$';29constexpr char MANGLE_DEFAULT_PARAM_FUNCTION_PREFIX = '$';
30+constexpr char MANGLE_TYPE_MODE_PREFIX = 'Q';
31+constexpr char MANGLE_THIS_MODE_PREFIX = 'W';
29const char ARGS_DELIMITER[] = ", ";32const char ARGS_DELIMITER[] = ", ";
30const char ARGS_DELIMITER_TYPE[] = ",";33const char ARGS_DELIMITER_TYPE[] = ",";
31const char LEFT_BRACKET[] = "(";34const char LEFT_BRACKET[] = "(";
@@ -183,9 +186,9 @@ T ReplaceString(T str, const char* pattern, const char* replacement)
183 auto pos = str.Find(pattern);186 auto pos = str.Find(pattern);
184 auto n = str.Length();187 auto n = str.Length();
185 auto pLen = strlen(pattern);188 auto pLen = strlen(pattern);
186- while (pos > -1 && n - pos - pLen > 0) {189+ while (pos > -1 && n - static_cast<size_t>(pos) - pLen > 0) {
187 n = str.Length();190 n = str.Length();
188- str = str.SubStr(0, pos) + replacement + str.SubStr(pos + pLen, n - pos - pLen);191+ str = str.SubStr(0, pos) + replacement + str.SubStr(pos + pLen, n - static_cast<size_t>(pos) - pLen);
189 pos = str.Find(pattern);192 pos = str.Find(pattern);
190 }193 }
191 return str;194 return str;
@@ -212,6 +215,11 @@ inline bool IsFunction(char ch)
212 return ch == MANGLE_FUNCTION_PREFIX;215 return ch == MANGLE_FUNCTION_PREFIX;
213}216}
214 217 
218+inline bool IsModeLeaderChar(char ch)
219+{
220+ return ch == MANGLE_TYPE_MODE_PREFIX || ch == MANGLE_THIS_MODE_PREFIX;
221+}
222+ 
215template<typename T>223template<typename T>
216bool Demangler<T>::IsProp() const224bool Demangler<T>::IsProp() const
217{225{
@@ -318,7 +326,7 @@ bool Demangler<T>::IsCFunctionWrapper() const
318}326}
319 327 
320template<typename T>328template<typename T>
321-bool Demangler<T>::IsWrappedFunction() const 329+bool Demangler<T>::IsWrappedFunction() const
322{330{
323 return mangledName.Find(MANGLE_WRAPPED_FUNCTION_PREFIX, 0) == 0;331 return mangledName.Find(MANGLE_WRAPPED_FUNCTION_PREFIX, 0) == 0;
324}332}
@@ -355,7 +363,7 @@ bool Demangler<T>::IsDecl() const
355}363}
356 364 
357template<typename T>365template<typename T>
358-void Demangler<T>::ErrorLog(const char* msg) const366+void Demangler<T>::ErrorLog([[maybe_unused]] const char* msg) const
359{367{
360#if defined(MRT_DEBUG) && (MRT_DEBUG == 1) && !defined(BUILD_LIB_CANGJIE_DEMANGLE)368#if defined(MRT_DEBUG) && (MRT_DEBUG == 1) && !defined(BUILD_LIB_CANGJIE_DEMANGLE)
361 PRINT_ERROR("'%s' is not a valid mangling name.\n ", mangledName.Str());369 PRINT_ERROR("'%s' is not a valid mangling name.\n ", mangledName.Str());
@@ -368,7 +376,7 @@ void Demangler<T>::ErrorLog(const char* msg) const
368}376}
369 377 
370template<typename T>378template<typename T>
371-bool Demangler<T>::MatchForward(const char pattern[], uint32_t len) const379+bool Demangler<T>::MatchForward(const char pattern[], size_t len) const
372{380{
373 auto maxLen = mangledName.Length() - currentIndex;381 auto maxLen = mangledName.Length() - currentIndex;
374 len = len > maxLen ? maxLen : len;382 len = len > maxLen ? maxLen : len;
@@ -425,6 +433,65 @@ void Demangler<T>::SkipOptionalChar(char ch)
425 return;433 return;
426}434}
427 435 
436+template <typename T> bool Demangler<T>::IsModeLeader() const
437+{
438+ if (currentIndex >= mangledName.Length()) {
439+ return false;
440+ }
441+ return IsModeLeaderChar(mangledName[currentIndex]);
442+}
443+ 
444+template <typename T> bool Demangler<T>::IsThisMode() const
445+{
446+ if (currentIndex >= mangledName.Length()) {
447+ return false;
448+ }
449+ return mangledName[currentIndex] == MANGLE_THIS_MODE_PREFIX;
450+}
451+ 
452+// <mode-set> ::= Q<payload>E | W<payload>E
453+// <payload> ::= <axis-degree>+E, <axis-degree> ::= L|l
454+// (uppercase letter = FULL/!, lowercase = HALF/?; fixed axis order local -> future axes)
455+template <typename T> T Demangler<T>::DemangleModeSet()
456+{
457+ T result;
458+ if (!IsModeLeader()) {
459+ return T{};
460+ }
461+ result += T{" @"};
462+ ++currentIndex; // Skip the leader (Q or W).
463+ while (currentIndex < mangledName.Length()) {
464+ char ch = mangledName[currentIndex];
465+ if (ch == END) {
466+ ++currentIndex; // Payload terminator E.
467+ return result;
468+ }
469+ // Each non-default axis contributes one demangled modal word.
470+ switch (ch) {
471+ case 'L':
472+ result += T{" local!"};
473+ ++currentIndex;
474+ break;
475+ case 'l':
476+ result += T{" local?"};
477+ ++currentIndex;
478+ break;
479+ default:
480+ (void)Reject(T{"invalid modal encoding"});
481+ return T{};
482+ }
483+ }
484+ (void)Reject(T{"unterminated modal encoding"});
485+ return T{};
486+}
487+ 
488+template <typename T> void Demangler<T>::AppendModeTypeIfExists(DemangleInfo<T>& di)
489+{
490+ if (IsModeLeader()) {
491+ di.genericConstraints += DemangleModeSet();
492+ }
493+}
494+ 
428template<typename T>495template<typename T>
429void Demangler<T>::SkipString(const char pattern[])496void Demangler<T>::SkipString(const char pattern[])
430{497{
@@ -475,6 +542,9 @@ T DemangleInfo<T>::GetFullName(const T& scopeRes, const uint32_t argsNum) const
475 } else {542 } else {
476 fullDemangledName += identifier;543 fullDemangledName += identifier;
477 }544 }
545+ if (IsFunctionLike() && type == TypeKind::FUNCTION_DECL && demangled.Find('(') != -1) {
546+ return fullDemangledName;
547+ }
478 fullDemangledName += GetGenericTypes();548 fullDemangledName += GetGenericTypes();
479 fullDemangledName += GetArgTypesName(argsNum);549 fullDemangledName += GetArgTypesName(argsNum);
480 fullDemangledName += GetGenericConstraints();550 fullDemangledName += GetGenericConstraints();
@@ -533,10 +603,13 @@ template<typename T>
533T DemangleInfo<T>::GetArgTypesName(const uint32_t argsNum) const603T DemangleInfo<T>::GetArgTypesName(const uint32_t argsNum) const
534{604{
535 if (args.IsEmpty()) {605 if (args.IsEmpty()) {
606+ if (type == TypeKind::FUNCTION_DECL && IsFunctionLike() && !functionParameterTypes.IsEmpty()) {
607+ return T{ LEFT_BRACKET } + functionParameterTypes + RIGHT_BRACKET;
608+ }
536 return IsFunctionLike() ? "()" : T{};609 return IsFunctionLike() ? "()" : T{};
537 }610 }
538 if (IsFunctionLike()) {611 if (IsFunctionLike()) {
539- return T{ "(" } + args + ")"; // Like (arg-type1, arg-type2, ...)612+ return T{ LEFT_BRACKET } + args + RIGHT_BRACKET; // Like (arg-type1, arg-type2, ...)
540 }613 }
541 if (argsNum != 0) {614 if (argsNum != 0) {
542 T numStr;615 T numStr;
@@ -554,7 +627,8 @@ T DemangleInfo<T>::GetArgTypesName(const uint32_t argsNum) const
554template<typename T>627template<typename T>
555bool DemangleInfo<T>::IsFunctionLike() const628bool DemangleInfo<T>::IsFunctionLike() const
556{629{
557- return type == TypeKind::FUNCTION_DECL || type == TypeKind::LAMBDA_FUNCTION || type == TypeKind::FUNCTION || type == TypeKind::WRAPPED_FUNCTION;630+ return type == TypeKind::FUNCTION_DECL || type == TypeKind::LAMBDA_FUNCTION ||
631+ type == TypeKind::FUNCTION || type == TypeKind::WRAPPED_FUNCTION;
558}632}
559 633 
560template<typename T>634template<typename T>
@@ -682,7 +756,7 @@ DemangleInfo<T> Demangler<T>::Demangle(bool isType)
682 TypeKind::NAME, isValid };756 TypeKind::NAME, isValid };
683 }757 }
684 // Wrapped func like ""_CVN7default1S4testHv$N7default1SE$CN7default1IE""758 // Wrapped func like ""_CVN7default1S4testHv$N7default1SE$CN7default1IE""
685- if(IsWrappedFunction()) {759+ if (IsWrappedFunction()) {
686 return DemangleWrappedFunction();760 return DemangleWrappedFunction();
687 }761 }
688 return DemangleDecl();762 return DemangleDecl();
@@ -716,8 +790,8 @@ DemangleInfo<T> Demangler<T>::DemanglePackageName()
716 if (pkg.IsEmpty()) {790 if (pkg.IsEmpty()) {
717 pkg = DemangleStringName();791 pkg = DemangleStringName();
718 auto pos = pkg.Find(':');792 auto pos = pkg.Find(':');
719- if (pos > -1 && pkg.Length() - pos > 0) {793+ if (pos > -1 && pkg.Length() - static_cast<size_t>(pos) > 1) {
720- pkg = pkg.SubStr(0, pos) + T{':'} + pkg.SubStr(pos, pkg.Length() - pos);794+ pkg = pkg.SubStr(0, pos) + T{':'} + pkg.SubStr(pos, pkg.Length() - static_cast<size_t>(pos));
721 }795 }
722 }796 }
723 if (IsFileName()) {797 if (IsFileName()) {
@@ -944,6 +1018,7 @@ T Demangler<T>::DemangleArgTypes(const T& delimiter, uint32_t size)
944 if (!isValid) {1018 if (!isValid) {
945 return T{};1019 return T{};
946 }1020 }
1021+ AppendModeTypeIfExists(curDi);
947 auto j = i % MAX_ARGS_SIZE;1022 auto j = i % MAX_ARGS_SIZE;
948 if (j == 0 && i != 0) {1023 if (j == 0 && i != 0) {
949 for (auto& arg : argsArr) {1024 for (auto& arg : argsArr) {
@@ -969,6 +1044,7 @@ T Demangler<T>::DemangleArgTypes(const T& delimiter, uint32_t size)
969template<typename T>1044template<typename T>
970DemangleInfo<T> Demangler<T>::DemangleNestedDecls(bool isClass, bool isParamInit)1045DemangleInfo<T> Demangler<T>::DemangleNestedDecls(bool isClass, bool isParamInit)
971{1046{
1047+ (void)isParamInit;
972 auto delimiter = T{ scopeResolution };1048 auto delimiter = T{ scopeResolution };
973 auto i = 0u;1049 auto i = 0u;
974 T result;1050 T result;
@@ -1037,11 +1113,18 @@ DemangleInfo<T> Demangler<T>::DemangleNestedDecls(bool isClass, bool isParamInit
1037 }1113 }
1038 char ch;1114 char ch;
1039 if (PeekChar(ch) && IsFunction(ch)) {1115 if (PeekChar(ch) && IsFunction(ch)) {
1116+ // <function-name>[<generic-modifier>]H[<this-mode>]<param-types>
1040 SkipChar(MANGLE_FUNCTION_PREFIX);1117 SkipChar(MANGLE_FUNCTION_PREFIX);
1041 typeKind = TypeKind::FUNCTION_DECL;1118 typeKind = TypeKind::FUNCTION_DECL;
1119+ // <this-mode> (W<payload>E right after H) is consumed inside
1120+ // DemangleFunctionParameterTypes and folded into the leading "this ..." argument.
1042 auto funcTys = DemangleFunctionParameterTypes().args;1121 auto funcTys = DemangleFunctionParameterTypes().args;
1043 curDi.functionParameterTypes = funcTys;1122 curDi.functionParameterTypes = funcTys;
1123+ if (!funcTys.IsEmpty()) {
1124+ curDi.type = TypeKind::FUNCTION_DECL;
1125+ }
1044 SkipOptionalChar(END);1126 SkipOptionalChar(END);
1127+ AppendModeTypeIfExists(curDi);
1045 }1128 }
1046 auto j = i % MAX_ARGS_SIZE;1129 auto j = i % MAX_ARGS_SIZE;
1047 if (j == 0 && i != 0) {1130 if (j == 0 && i != 0) {
@@ -1052,15 +1135,11 @@ DemangleInfo<T> Demangler<T>::DemangleNestedDecls(bool isClass, bool isParamInit
1052 result.Truncate(result.Length() - delimiter.Length());1135 result.Truncate(result.Length() - delimiter.Length());
1053 }1136 }
1054 ++i;1137 ++i;
1055- if (isParamInit && IsNotEndOfMangledName() && curDi.functionParameterTypes.Length() > 0) {1138+ argsArr[j] = curDi.GetFullName(scopeResolution);
1056- argsArr[j] = curDi.GetFullName(scopeResolution) + LEFT_BRACKET + curDi.functionParameterTypes +
1057- RIGHT_BRACKET;
1058- } else {
1059- argsArr[j] = curDi.GetFullName(scopeResolution);
1060- }
1061 lastElement = curDi;1139 lastElement = curDi;
1062 }1140 }
1063- result += GetArgTypesFullName(argsArr, i % (MAX_ARGS_SIZE + 1), delimiter);1141+ uint32_t remainingLength = i == 0 ? 0 : ((i - 1) % MAX_ARGS_SIZE) + 1;
1142+ result += GetArgTypesFullName(argsArr, remainingLength, delimiter);
1064 DemangleInfo<T> resDi = { result, typeKind, isValid };1143 DemangleInfo<T> resDi = { result, typeKind, isValid };
1065 resDi.functionParameterTypes = lastElement.functionParameterTypes;1144 resDi.functionParameterTypes = lastElement.functionParameterTypes;
1066 return resDi;1145 return resDi;
@@ -1072,10 +1151,14 @@ DemangleInfo<T> Demangler<T>::DemangleClass(TypeKind typeKind)
1072 ++currentIndex; // Skip one character representing the typeKind1151 ++currentIndex; // Skip one character representing the typeKind
1073 auto di = DemangleCommonDecl(true);1152 auto di = DemangleCommonDecl(true);
1074 di.type = typeKind;1153 di.type = typeKind;
1154+ // The class/struct/enum body ends with its own 'E'; the <type-mode> (Q<payload>E) follows it.
1155+ // Consume the 'E' first so the mode-set is parsed here — otherwise it would be dropped by
1156+ // callers that stop at 'E' (e.g. DemangleType / generic-argument parsing).
1075 char ch;1157 char ch;
1076 if (PeekChar(ch) && ch == END) {1158 if (PeekChar(ch) && ch == END) {
1077 SkipChar(END);1159 SkipChar(END);
1078 }1160 }
1161+ AppendModeTypeIfExists(di);
1079 return di;1162 return di;
1080}1163}
1081 1164 
@@ -1083,9 +1166,12 @@ template<typename T>
1083DemangleInfo<T> Demangler<T>::DemangleCFuncType()1166DemangleInfo<T> Demangler<T>::DemangleCFuncType()
1084{1167{
1085 SkipString(MANGLE_C_FUNCTY_PREFIX);1168 SkipString(MANGLE_C_FUNCTY_PREFIX);
1086- DemangleInfo<T> di{ DemangleNextUnit().GetFullName(scopeResolution), TypeKind::FUNCTION };1169+ auto returnDi = DemangleNextUnit();
1170+ AppendModeTypeIfExists(returnDi);
1171+ DemangleInfo<T> di{ returnDi.GetFullName(scopeResolution), TypeKind::FUNCTION };
1087 di.args = DemangleArgTypes(ARGS_DELIMITER);1172 di.args = DemangleArgTypes(ARGS_DELIMITER);
1088 SkipChar(END);1173 SkipChar(END);
1174+ AppendModeTypeIfExists(di);
1089 return di;1175 return di;
1090}1176}
1091 1177 
@@ -1093,9 +1179,12 @@ template<typename T>
1093DemangleInfo<T> Demangler<T>::DemangleFunction()1179DemangleInfo<T> Demangler<T>::DemangleFunction()
1094{1180{
1095 SkipString(MANGLE_FUNCTY_PREFIX);1181 SkipString(MANGLE_FUNCTY_PREFIX);
1096- DemangleInfo<T> di{ DemangleNextUnit().GetFullName(scopeResolution), TypeKind::FUNCTION };1182+ auto returnDi = DemangleNextUnit();
1183+ AppendModeTypeIfExists(returnDi);
1184+ DemangleInfo<T> di{ returnDi.GetFullName(scopeResolution), TypeKind::FUNCTION };
1097 di.args = DemangleArgTypes(ARGS_DELIMITER);1185 di.args = DemangleArgTypes(ARGS_DELIMITER);
1098 SkipChar(END);1186 SkipChar(END);
1187+ AppendModeTypeIfExists(di);
1099 return di;1188 return di;
1100}1189}
1101 1190 
@@ -1110,6 +1199,7 @@ DemangleInfo<T> Demangler<T>::DemangleTuple()
1110 auto generic = DemangleGenericTypes().GetFullName(scopeResolution);1199 auto generic = DemangleGenericTypes().GetFullName(scopeResolution);
1111 di.genericTypes = genericTypefilter(generic);1200 di.genericTypes = genericTypefilter(generic);
1112 SkipChar(END);1201 SkipChar(END);
1202+ AppendModeTypeIfExists(di);
1113 return di;1203 return di;
1114}1204}
1115 1205 
@@ -1123,6 +1213,7 @@ DemangleInfo<T> Demangler<T>::DemangleRawArray()
1123 di.genericConstraints += "[]";1213 di.genericConstraints += "[]";
1124 }1214 }
1125 di.args = DemangleNextUnit().GetFullName(scopeResolution);1215 di.args = DemangleNextUnit().GetFullName(scopeResolution);
1216+ AppendModeTypeIfExists(di);
1126 return di;1217 return di;
1127}1218}
1128 1219 
@@ -1131,8 +1222,9 @@ DemangleInfo<T> Demangler<T>::DemangleVArray()
1131{1222{
1132 DemangleInfo<T> di{ MANGLE_VARRAY_STR, TypeKind::TUPLE };1223 DemangleInfo<T> di{ MANGLE_VARRAY_STR, TypeKind::TUPLE };
1133 SkipChar(MANGLE_VARRAY_PREFIX);1224 SkipChar(MANGLE_VARRAY_PREFIX);
1134- uint32_t num = DemangleManglingNumber();1225+ uint32_t num = static_cast<uint32_t>(DemangleManglingNumber());
1135 di.genericTypes = DemangleGenericTypes().GetFullName(scopeResolution, num);1226 di.genericTypes = DemangleGenericTypes().GetFullName(scopeResolution, num);
1227+ AppendModeTypeIfExists(di);
1136 return di;1228 return di;
1137}1229}
1138 1230 
@@ -1143,6 +1235,7 @@ DemangleInfo<T> Demangler<T>::DemangleCPointer()
1143 SkipChar(MANGLE_PTR_PREFIX);1235 SkipChar(MANGLE_PTR_PREFIX);
1144 auto generic = DemangleType().GetFullName(scopeResolution);1236 auto generic = DemangleType().GetFullName(scopeResolution);
1145 di.genericTypes = genericTypefilter(generic);1237 di.genericTypes = genericTypefilter(generic);
1238+ AppendModeTypeIfExists(di);
1146 return di;1239 return di;
1147}1240}
1148 1241 
@@ -1163,7 +1256,7 @@ DemangleInfo<T> Demangler<T>::DemangleCommonDecl(bool isClass)
1163 auto pkgDi = DemanglePackageName();1256 auto pkgDi = DemanglePackageName();
1164 di.pkgName = pkgDi.pkgName;1257 di.pkgName = pkgDi.pkgName;
1165 di.isPrivateDeclaration = pkgDi.isPrivateDeclaration;1258 di.isPrivateDeclaration = pkgDi.isPrivateDeclaration;
1166- 1259+ 
1167 // Take the part before E as identifier and concatenate with scope resolution.1260 // Take the part before E as identifier and concatenate with scope resolution.
1168 DemangleInfo<T> nestedDi = DemangleNestedDecls(isClass);1261 DemangleInfo<T> nestedDi = DemangleNestedDecls(isClass);
1169 di.demangled = nestedDi.demangled;1262 di.demangled = nestedDi.demangled;
@@ -1233,6 +1326,7 @@ DemangleInfo<T> Demangler<T>::DemanglePrimitive()
1233 SkipChar(ch);1326 SkipChar(ch);
1234 }1327 }
1235 DemangleInfo<T> di{ GetPrimitiveDemangleMap<T>(ch), TypeKind::PRIMITIVE };1328 DemangleInfo<T> di{ GetPrimitiveDemangleMap<T>(ch), TypeKind::PRIMITIVE };
1329+ AppendModeTypeIfExists(di);
1236 return di;1330 return di;
1237}1331}
1238 1332 
@@ -1240,7 +1334,9 @@ template<typename T>
1240DemangleInfo<T> Demangler<T>::DemangleCStringType()1334DemangleInfo<T> Demangler<T>::DemangleCStringType()
1241{1335{
1242 SkipChar(MANGLE_CSTRING_PREFIX);1336 SkipChar(MANGLE_CSTRING_PREFIX);
1243- return DemangleInfo<T>{ MANGLE_CSTRING_STR, TypeKind::CSTRING, isValid };1337+ auto di = DemangleInfo<T>{ MANGLE_CSTRING_STR, TypeKind::CSTRING, isValid };
1338+ AppendModeTypeIfExists(di);
1339+ return di;
1244}1340}
1245 1341 
1246template<typename T>1342template<typename T>
@@ -1262,7 +1358,9 @@ DemangleInfo<T> Demangler<T>::DemangleGenericType()
1262#else1358#else
1263 name = T{ MANGLE_TUPLE_PREFIX } + UIntToString(gNumber);1359 name = T{ MANGLE_TUPLE_PREFIX } + UIntToString(gNumber);
1264#endif1360#endif
1265- return DemangleInfo<T>{ name, TypeKind::GENERIC_TYPES, isValid };1361+ auto di = DemangleInfo<T>{ name, TypeKind::GENERIC_TYPES, isValid };
1362+ AppendModeTypeIfExists(di);
1363+ return di;
1266}1364}
1267 1365 
1268template<typename T>1366template<typename T>
@@ -1272,6 +1370,7 @@ DemangleInfo<T> Demangler<T>::DemangleType()
1272 if (IsQualifiedType()) {1370 if (IsQualifiedType()) {
1273 auto curDi = DemangleNextUnit();1371 auto curDi = DemangleNextUnit();
1274 if (isValid) {1372 if (isValid) {
1373+ AppendModeTypeIfExists(curDi);
1275 di.args = curDi.GetFullName(scopeResolution);1374 di.args = curDi.GetFullName(scopeResolution);
1276 return di;1375 return di;
1277 }1376 }
@@ -1293,6 +1392,7 @@ DemangleInfo<T> Demangler<T>::DemangleGenericTypes()
1293 if (!isValid) {1392 if (!isValid) {
1294 break;1393 break;
1295 }1394 }
1395+ AppendModeTypeIfExists(curDi);
1296 if (!firstIteration) {1396 if (!firstIteration) {
1297 argTypesFullName += T{ ARGS_DELIMITER_TYPE };1397 argTypesFullName += T{ ARGS_DELIMITER_TYPE };
1298 }1398 }
@@ -1309,15 +1409,25 @@ DemangleInfo<T> Demangler<T>::DemangleFunctionParameterTypes()
1309 DemangleInfo<T> di{ "", TypeKind::FUNCTION_PARAMETER_TYPES };1409 DemangleInfo<T> di{ "", TypeKind::FUNCTION_PARAMETER_TYPES };
1310 bool firstIteration = true;1410 bool firstIteration = true;
1311 T argTypesFullName{};1411 T argTypesFullName{};
1412+ // <this-mode> ::= W<payload>E, placed at the head of the param list (right after H).
1413+ // E.g. `H WLE l` demangles the leading "this @local!" argument before the explicit params.
1414+ T thisPrefix;
1415+ if (IsThisMode()) {
1416+ thisPrefix = T{"this"} + DemangleModeSet();
1417+ }
1312 if (IsNotEndOfMangledName() && mangledName[currentIndex] == MANGLE_VOID_PREFIX) {1418 if (IsNotEndOfMangledName() && mangledName[currentIndex] == MANGLE_VOID_PREFIX) {
1313 currentIndex += MANGLE_CHAR_LEN;1419 currentIndex += MANGLE_CHAR_LEN;
1314 } else {1420 } else {
1315 // Generic type may be next to a string, like "6<init>"1421 // Generic type may be next to a string, like "6<init>"
1316- while (IsNotEndOfMangledName() && !IsCurrentCharDigit(mangledName[currentIndex])) {1422+ // Stop before a mode-set leader (Q/W) — a mode-set never starts a param type; it either
1423+ // terminates the previous type (consumed by AppendModeTypeIfExists) or is the <this-mode>.
1424+ while (IsNotEndOfMangledName() && !IsCurrentCharDigit(mangledName[currentIndex]) &&
1425+ !IsModeLeader()) {
1317 auto curDi = DemangleNextUnit();1426 auto curDi = DemangleNextUnit();
1318 if (!isValid) {1427 if (!isValid) {
1319 break;1428 break;
1320 }1429 }
1430+ AppendModeTypeIfExists(curDi);
1321 if (!firstIteration) {1431 if (!firstIteration) {
1322 argTypesFullName += T{ ARGS_DELIMITER };1432 argTypesFullName += T{ ARGS_DELIMITER };
1323 }1433 }
@@ -1325,6 +1435,13 @@ DemangleInfo<T> Demangler<T>::DemangleFunctionParameterTypes()
1325 firstIteration = false;1435 firstIteration = false;
1326 }1436 }
1327 }1437 }
1438+ if (!thisPrefix.IsEmpty()) {
1439+ if (argTypesFullName.IsEmpty()) {
1440+ argTypesFullName = thisPrefix;
1441+ } else {
1442+ argTypesFullName = thisPrefix + T{ ARGS_DELIMITER } + argTypesFullName;
1443+ }
1444+ }
1328 di.args = argTypesFullName;1445 di.args = argTypesFullName;
1329 return di;1446 return di;
1330}1447}
@@ -1373,14 +1490,14 @@ DemangleInfo<T> Demangler<T>::DemangleInnerFunction()
1373}1490}
1374 1491 
1375template<typename T>1492template<typename T>
1376-DemangleInfo<T> Demangler<T>::DemangleWrappedFunction() 1493+DemangleInfo<T> Demangler<T>::DemangleWrappedFunction()
1377{1494{
1378 auto endIndex = mangledName.Find(MANGLE_END, currentIndex);1495 auto endIndex = mangledName.Find(MANGLE_END, currentIndex);
1379 auto prefixIndex = currentIndex + strlen(MANGLE_WRAPPED_FUNCTION_PREFIX);1496 auto prefixIndex = currentIndex + strlen(MANGLE_WRAPPED_FUNCTION_PREFIX);
1380 mangledName = T(MANGLE_CANGJIE_PREFIX) + mangledName.SubStr(prefixIndex, endIndex - prefixIndex);1497 mangledName = T(MANGLE_CANGJIE_PREFIX) + mangledName.SubStr(prefixIndex, endIndex - prefixIndex);
1381 auto di = DemangleDecl();1498 auto di = DemangleDecl();
1382 di.demangled += WRAPPED_FUNCTION_SUFFIX_INFO;1499 di.demangled += WRAPPED_FUNCTION_SUFFIX_INFO;
1383- di.type = TypeKind::WRAPPED_FUNCTION; 1500+ di.type = TypeKind::WRAPPED_FUNCTION;
1384 return di;1501 return di;
1385}1502}
1386 1503 
@@ -13,9 +13,12 @@
13#include <vector>13#include <vector>
14#include "Base/CString.h"14#include "Base/CString.h"
15#endif15#endif
16+#ifdef BUILD_LIB_CANGJIE_DEMANGLE
17+#include <string>
18+#endif
16#include <functional>19#include <functional>
17#include <cassert>20#include <cassert>
18- 21+#include <cstdint>
19 22 
20namespace Cangjie {23namespace Cangjie {
21 24 
@@ -280,7 +283,7 @@ private:
280 bool IsQualifiedType() const;283 bool IsQualifiedType() const;
281 bool IsDecl() const;284 bool IsDecl() const;
282 bool IsNotEndOfMangledName() const;285 bool IsNotEndOfMangledName() const;
283- bool MatchForward(const char pattern[], uint32_t len) const;286+ bool MatchForward(const char pattern[], size_t len) const;
284 287 
285 /**288 /**
286 * @brief Get the current character without incrementing `currentIndex`.289 * @brief Get the current character without incrementing `currentIndex`.
@@ -300,6 +303,16 @@ private:
300 void SkipChar(char ch);303 void SkipChar(char ch);
301 304 
302 void SkipOptionalChar(char ch);305 void SkipOptionalChar(char ch);
306+ /// Whether the current character starts a <mode-set> leader (`Q` or `W`).
307+ bool IsModeLeader() const;
308+ /// Whether the current character is the <this-mode> leader `W`.
309+ bool IsThisMode() const;
310+ /// Parse a <mode-set> (`Q<payload>E` or `W<payload>E`) and return the demangled modal
311+ /// suffix, e.g. " @ local!" / " @ local?". The caller must ensure the current char is a leader.
312+ T DemangleModeSet();
313+ /// If the current position holds a <mode-set> (`Q<payload>E` | `W<payload>E`), parse it and append the
314+ /// demangled modal suffix to \p di.
315+ void AppendModeTypeIfExists(DemangleInfo<T>& di);
303 316 
304 void SkipString(const char pattern[]);317 void SkipString(const char pattern[]);
305 void ErrorLog(const char* msg) const;318 void ErrorLog(const char* msg) const;