Update release

This commit is contained in:
vczh
2021-12-28 06:41:40 -08:00
parent 40803a1be8
commit 0a7bf9b4f7
12 changed files with 68 additions and 9 deletions
+4 -2
View File
@@ -23609,8 +23609,10 @@ GuiToolstripCommand::ShortcutBuilder Parser
Ptr<RegexMatch> match=regexShortcut.MatchHead(text); Ptr<RegexMatch> match=regexShortcut.MatchHead(text);
if (match && match->Result().Length() != text.Length()) if (match && match->Result().Length() != text.Length())
{ {
errors.Add(glr::ParsingError(nullptr, {}, L"Failed to parse a shortcut \"" + text + L"\".")); glr::ParsingError error;
return 0; error.message = L"Failed to parse a shortcut \"" + text + L"\".";
errors.Add(error);
return nullptr;
} }
Ptr<ShortcutBuilder> builder = new ShortcutBuilder; Ptr<ShortcutBuilder> builder = new ShortcutBuilder;
+9 -2
View File
@@ -1705,7 +1705,9 @@ GuiInstanceContext::ElementName Parser
Ptr<RegexMatch> match = regexElementName.MatchHead(text); Ptr<RegexMatch> match = regexElementName.MatchHead(text);
if (!match || match->Result().Length() != text.Length()) if (!match || match->Result().Length() != text.Length())
{ {
errors.Add(glr::ParsingError(nullptr, {}, L"Failed to parse an element name \"" + text + L"\".")); glr::ParsingError error;
error.message = L"Failed to parse an element name \"" + text + L"\".";
errors.Add(error);
return nullptr; return nullptr;
} }
@@ -4183,7 +4185,9 @@ namespace vl
WfAssemblyLoadErrors loadErrors; WfAssemblyLoadErrors loadErrors;
if (!compiled->Initialize(true, loadErrors)) if (!compiled->Initialize(true, loadErrors))
{ {
manager->errors.Add(glr::ParsingError(nullptr, {}, L"Internal error happened during loading an assembly that just passed type verification.")); glr::ParsingError error;
error.message = L"Internal error happened during loading an assembly that just passed type verification.";
manager->errors.Add(error);
} }
} }
else else
@@ -9105,6 +9109,7 @@ ExecuteQueryVisitor
case GuiIqBinaryOperator::Substract: case GuiIqBinaryOperator::Substract:
CopyFrom(output, From(first).Except(second)); CopyFrom(output, From(first).Except(second));
break; break;
default:;
} }
} }
}; };
@@ -9210,6 +9215,7 @@ GuiIqPrint
case GuiIqChildOption::Indirect: case GuiIqChildOption::Indirect:
writer.WriteString(L"//"); writer.WriteString(L"//");
break; break;
default:;
} }
if (node->attributeNameOption == GuiIqNameOption::Specified) if (node->attributeNameOption == GuiIqNameOption::Specified)
@@ -9259,6 +9265,7 @@ GuiIqPrint
case GuiIqBinaryOperator::Substract: case GuiIqBinaryOperator::Substract:
writer.WriteString(L" - "); writer.WriteString(L" - ");
break; break;
default:;
} }
node->second->Accept(this); node->second->Accept(this);
writer.WriteChar(L')'); writer.WriteChar(L')');
+12
View File
@@ -602,11 +602,23 @@ namespace vl
const K& key; const K& key;
const V& value; const V& value;
#if defined(__clang__)
#pragma clang dignostic push
#pragma clang diagnostic ignored "-Wnull-dereference"
#elif defined(__GNUC__)
#pragma GCC dignostic push
#pragma GCC diagnostic ignored "-Wnull-dereference"
#endif
Pair() Pair()
: key(*(const K*)nullptr) : key(*(const K*)nullptr)
, value(*(const V*)nullptr) , value(*(const V*)nullptr)
{ {
} }
#if defined(__clang__)
#pragma clang dignostic pop
#elif defined(__GNUC__)
#pragma GCC dignostic popd
#endif
Pair(const K& _key, const V& _value) Pair(const K& _key, const V& _value)
: key(_key) : key(_key)
+4
View File
@@ -1284,6 +1284,7 @@ JsonPrintVisitor
case JsonLiteralValue::Null: case JsonLiteralValue::Null:
writer.WriteString(L"null"); writer.WriteString(L"null");
break; break;
default:;
} }
} }
@@ -4135,6 +4136,7 @@ RunInstruction
CHECK_ERROR(objectCount > 0, ERROR_MESSAGE_PREFIX L"Encountered unbalanced instructions."); CHECK_ERROR(objectCount > 0, ERROR_MESSAGE_PREFIX L"Encountered unbalanced instructions.");
objectCount--; objectCount--;
break; break;
default:;
} }
switch (ins.type) switch (ins.type)
@@ -4145,6 +4147,7 @@ RunInstruction
case AstInsType::DelayFieldAssignment: case AstInsType::DelayFieldAssignment:
reopenCount--; reopenCount--;
break; break;
default:;
} }
// if we found a ReopenObject // if we found a ReopenObject
@@ -4339,6 +4342,7 @@ FindBalancedBoOrDfa
return; return;
} }
break; break;
default:;
} }
} }
} }
+2 -2
View File
@@ -1403,9 +1403,9 @@ ParserBase<TTokens, TStates, TReceiver, TStateTypes>
#define ERROR_MESSAGE_PREFIX L"vl::glr::ParserBase<...>::Parse<TAst, TStates>(List<RegexToken>& TraceManager::ITypeCallback*)#" #define ERROR_MESSAGE_PREFIX L"vl::glr::ParserBase<...>::Parse<TAst, TStates>(List<RegexToken>& TraceManager::ITypeCallback*)#"
automaton::TraceManager tm(*executable.Obj(), typeCallback); automaton::TraceManager tm(*executable.Obj(), typeCallback);
auto ast = ParseInternal(tokens, (vint32_t)State, tm, typeCallback, codeIndex); auto ast = ParseInternal(tokens, (vint32_t)State, tm, typeCallback, codeIndex);
auto typedAst = ast.Cast<TAst>(); auto typedAst = ast.template Cast<TAst>();
if (!typedAst) if (ast && !typedAst)
{ {
auto args = ErrorArgs::UnexpectedAstType(tokens, *executable.Obj(), tm, ast); auto args = ErrorArgs::UnexpectedAstType(tokens, *executable.Obj(), tm, ast);
OnError(args); OnError(args);
+7 -1
View File
@@ -3336,7 +3336,7 @@ LexerSymbolManager
FINISHED_CALCULATING_DISPLAY_TEXT: FINISHED_CALCULATING_DISPLAY_TEXT:
if (expanding.Count() == 0) if (expanding.Count() == 0)
{ {
token->displayText = u32tow(U32String::Unmanaged(&buffer[0])); token->displayText = u32tow(&buffer[0]);
if (tokensByDisplayText.Keys().Contains(token->displayText)) if (tokensByDisplayText.Keys().Contains(token->displayText))
{ {
AddError( AddError(
@@ -3507,6 +3507,7 @@ CompileAst
case GlrPropType::Array: case GlrPropType::Array:
propSymbol->SetPropType(AstPropType::Array, prop->propTypeName.value, prop->propTypeName.codeRange); propSymbol->SetPropType(AstPropType::Array, prop->propTypeName.value, prop->propTypeName.codeRange);
break; break;
default:;
} }
} }
} }
@@ -4167,6 +4168,7 @@ CompileSyntaxVisitor
case GlrOptionalPriority::PreferSkip: case GlrOptionalPriority::PreferSkip:
clauseDisplayText += L"-[ "; clauseDisplayText += L"-[ ";
break; break;
default:;
} }
auto bodyPair = Build(node->syntax); auto bodyPair = Build(node->syntax);
clauseDisplayText += L" ]"; clauseDisplayText += L" ]";
@@ -9291,6 +9293,7 @@ SyntaxSymbolManager::BuildAutomaton
case EdgeImportancy::LowPriority: case EdgeImportancy::LowPriority:
edgeDesc.priority = automaton::EdgePriority::LowPriority; edgeDesc.priority = automaton::EdgePriority::LowPriority;
break; break;
default:;
} }
edgeDesc.insBeforeInput.start = (vint32_t)instructionsInOrder.Count(); edgeDesc.insBeforeInput.start = (vint32_t)instructionsInOrder.Count();
@@ -9333,6 +9336,7 @@ SyntaxSymbolManager::BuildAutomaton
case EdgeImportancy::LowPriority: case EdgeImportancy::LowPriority:
returnDesc.priority = automaton::EdgePriority::LowPriority; returnDesc.priority = automaton::EdgePriority::LowPriority;
break; break;
default:;
} }
returnDesc.insAfterInput.start = (vint32_t)instructionsInOrder.Count(); returnDesc.insAfterInput.start = (vint32_t)instructionsInOrder.Count();
@@ -9714,6 +9718,7 @@ CompactSyntaxBuilder
case EdgeInputType::Epsilon: case EdgeInputType::Epsilon:
BuildEpsilonEliminatedEdgesInternal(edge->To(), newState, endState, visited, accumulatedEdges); BuildEpsilonEliminatedEdgesInternal(edge->To(), newState, endState, visited, accumulatedEdges);
break; break;
default:;
} }
accumulatedEdges.RemoveAt(accumulatedEdges.Count() - 1); accumulatedEdges.RemoveAt(accumulatedEdges.Count() - 1);
} }
@@ -10111,6 +10116,7 @@ SyntaxSymbolManager::FixCrossReferencedRuleEdge
accumulatedEdges.RemoveAt(accumulatedEdges.Count() - 1); accumulatedEdges.RemoveAt(accumulatedEdges.Count() - 1);
} }
break; break;
default:;
} }
} }
} }
+30 -2
View File
@@ -139,6 +139,7 @@ CheckBaseClass
} }
} }
break; break;
default:;
} }
if (!depItems.Keys().Contains(baseTd)) continue; if (!depItems.Keys().Contains(baseTd)) continue;
@@ -1175,6 +1176,7 @@ BuildGlobalNameFromModules
case WfClassKind::Interface: case WfClassKind::Interface:
td = MakePtr<WfInterface>(typeName); td = MakePtr<WfInterface>(typeName);
break; break;
default:;
} }
AddCustomType(manager, scopeName, declaration, td); AddCustomType(manager, scopeName, declaration, td);
@@ -1215,6 +1217,7 @@ BuildGlobalNameFromModules
manager->declarationMemberInfos.Add(node, info); manager->declarationMemberInfos.Add(node, info);
} }
break; break;
default:;
} }
} }
} }
@@ -2905,6 +2908,7 @@ CompleteScopeForDeclaration
value |= items[itemInt->name.value]; value |= items[itemInt->name.value];
} }
break; break;
default:;
} }
td->AddEnumItem(item->name.value, value); td->AddEnumItem(item->name.value, value);
items.Add(item->name.value, value); items.Add(item->name.value, value);
@@ -3249,6 +3253,7 @@ ContextFreeModuleDesugar
needProperty = true; needProperty = true;
} }
break; break;
default:;
} }
} }
else if (surroundingLambda) else if (surroundingLambda)
@@ -8201,6 +8206,7 @@ ExpandStateMachineStatementVisitor
defaultBlock->statements.Add(gotoStat); defaultBlock->statements.Add(gotoStat);
} }
break; break;
default:;
} }
if (defaultBlock->statements.Count() > 0) if (defaultBlock->statements.Count() > 0)
@@ -8299,6 +8305,7 @@ ExpandStateMachineStatementVisitor
} }
} }
break; break;
default:;
} }
SetCodeRange(Ptr<WfStatement>(block), node->codeRange); SetCodeRange(Ptr<WfStatement>(block), node->codeRange);
result = block; result = block;
@@ -12532,6 +12539,7 @@ ValidateSemantic(Expression)
default:; default:;
} }
break; break;
default:;
} }
results.Add(ResolveExpressionResult::ReadonlyType(typeInfo)); results.Add(ResolveExpressionResult::ReadonlyType(typeInfo));
@@ -15037,6 +15045,7 @@ ValidateStructure(Declaration)
case WfFunctionKind::Override: case WfFunctionKind::Override:
manager->errors.Add(WfErrors::OverrideShouldImplementInterfaceMethod(node)); manager->errors.Add(WfErrors::OverrideShouldImplementInterfaceMethod(node));
break; break;
default:;
} }
} }
break; break;
@@ -15059,9 +15068,11 @@ ValidateStructure(Declaration)
case WfFunctionKind::Override: case WfFunctionKind::Override:
manager->errors.Add(WfErrors::OverrideShouldImplementInterfaceMethod(node)); manager->errors.Add(WfErrors::OverrideShouldImplementInterfaceMethod(node));
break; break;
default:;
} }
} }
break; break;
default:;
} }
} }
else else
@@ -15077,6 +15088,7 @@ ValidateStructure(Declaration)
break; break;
case WfFunctionKind::Override: case WfFunctionKind::Override:
break; break;
default:;
} }
} }
if (!node->statement) if (!node->statement)
@@ -15423,8 +15435,7 @@ ValidateStructure(Declaration)
} }
} }
break; break;
case WfClassKind::Interface: default:;
break;
} }
for (auto type : node->baseTypes) for (auto type : node->baseTypes)
@@ -15483,6 +15494,7 @@ ValidateStructure(Declaration)
case WfEnumKind::Flag: case WfEnumKind::Flag:
manager->errors.Add(WfErrors::FlagValuesNotConsecutiveFromZero(node)); manager->errors.Add(WfErrors::FlagValuesNotConsecutiveFromZero(node));
break; break;
default:;
} }
} }
switch (node->kind) switch (node->kind)
@@ -15493,6 +15505,7 @@ ValidateStructure(Declaration)
case WfEnumKind::Flag: case WfEnumKind::Flag:
current = current == 0 ? 1 : current * 2; current = current == 0 ? 1 : current * 2;
break; break;
default:;
} }
} }
break; break;
@@ -15505,6 +15518,7 @@ ValidateStructure(Declaration)
} }
} }
break; break;
default:;
} }
if (discoveredItems.Contains(item->name.value)) if (discoveredItems.Contains(item->name.value))
@@ -15567,6 +15581,7 @@ ValidateStructure(Declaration)
manager->errors.Add(WfErrors::OverrideShouldImplementInterfaceMethod(node)); manager->errors.Add(WfErrors::OverrideShouldImplementInterfaceMethod(node));
} }
break; break;
default:;
} }
if (classDecl) if (classDecl)
@@ -15585,6 +15600,7 @@ ValidateStructure(Declaration)
manager->errors.Add(WfErrors::AutoPropertyCannotBeInitializedInInterface(node, classDecl)); manager->errors.Add(WfErrors::AutoPropertyCannotBeInitializedInInterface(node, classDecl));
} }
break; break;
default:;
} }
} }
else if (dynamic_cast<WfNewInterfaceExpression*>(surroundingLambda)) else if (dynamic_cast<WfNewInterfaceExpression*>(surroundingLambda))
@@ -19418,6 +19434,7 @@ WfGenerateExpressionVisitor
case WfLiteralValue::False: case WfLiteralValue::False:
writer.WriteString(L"false"); writer.WriteString(L"false");
break; break;
default:;
} }
} }
@@ -19521,6 +19538,7 @@ WfGenerateExpressionVisitor
writer.WriteString(L")"); writer.WriteString(L")");
} }
break; break;
default:;
} }
} }
@@ -20146,6 +20164,7 @@ WfGenerateExpressionVisitor
writer.WriteString(L" nullptr)"); writer.WriteString(L" nullptr)");
} }
break; break;
default:;
} }
} }
break; break;
@@ -20198,6 +20217,7 @@ WfGenerateExpressionVisitor
writer.WriteString(L" nullptr)"); writer.WriteString(L" nullptr)");
} }
break; break;
default:;
} }
} }
break; break;
@@ -20237,6 +20257,7 @@ WfGenerateExpressionVisitor
writer.WriteString(L"true"); writer.WriteString(L"true");
} }
break; break;
default:;
} }
} }
break; break;
@@ -20285,6 +20306,7 @@ WfGenerateExpressionVisitor
writer.WriteString(L" nullptr)"); writer.WriteString(L" nullptr)");
} }
break; break;
default:;
} }
} }
else if ((type->GetTypeDescriptor() == result.type->GetTypeDescriptor()) == (node->test == WfTypeTesting::IsType)) else if ((type->GetTypeDescriptor() == result.type->GetTypeDescriptor()) == (node->test == WfTypeTesting::IsType))
@@ -21657,6 +21679,7 @@ namespace vl
} }
} }
break; break;
default:;
} }
writer.WriteLine(L"public ::vl::reflection::Description<" + name + L">"); writer.WriteLine(L"public ::vl::reflection::Description<" + name + L">");
writer.WriteLine(prefix + L"{"); writer.WriteLine(prefix + L"{");
@@ -21931,6 +21954,7 @@ namespace vl
} }
writer.WriteLine(L","); writer.WriteLine(L",");
break; break;
default:;
} }
} }
writer.WriteLine(prefix + L"};"); writer.WriteLine(prefix + L"};");
@@ -25207,6 +25231,7 @@ GenerateInstructions(Expression)
case WfLiteralValue::False: case WfLiteralValue::False:
INSTRUCTION(Ins::LoadValue({ false })); INSTRUCTION(Ins::LoadValue({ false }));
break; break;
default:;
} }
} }
@@ -25263,6 +25288,7 @@ GenerateInstructions(Expression)
case WfUnaryOperator::Negative: case WfUnaryOperator::Negative:
INSTRUCTION(Ins::OpNegative(GetInstructionTypeArgument(type))); INSTRUCTION(Ins::OpNegative(GetInstructionTypeArgument(type)));
break; break;
default:;
} }
} }
@@ -25767,6 +25793,7 @@ GenerateInstructions(Expression)
INSTRUCTION(Ins::OpNot(WfInsType::Bool)); INSTRUCTION(Ins::OpNot(WfInsType::Bool));
} }
break; break;
default:;
} }
} }
@@ -28398,6 +28425,7 @@ Print (Declaration)
CHECK_FAIL(L"Internal error: Unknown value."); CHECK_FAIL(L"Internal error: Unknown value.");
} }
break; break;
default:;
} }
for (auto [type, index] : indexed(node->baseTypes)) for (auto [type, index] : indexed(node->baseTypes))
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.