Lines Matching refs:checker_
34 typeAnnotation->Check(checker_);
35 Type *annotationType = typeAnnotation->GetType(checker_);
38 checker_->ElaborateElementwise(annotationType, initializer, loc);
51 inferredType_ = initializer->Check(checker_);
58 checker_->ThrowTypeError({"Cannot find name '", ident->Name(), "'."}, ident->Start());
64 if (defaultType != nullptr && !checker_->IsTypeAssignableTo(defaultType, variable->TsType())) {
65 checker_->ThrowAssignmentError(defaultType, variable->TsType(), ident->Start());
68 if (inferredType != nullptr && !checker_->IsTypeAssignableTo(inferredType, variable->TsType())) {
69 checker_->ThrowAssignmentError(inferredType, variable->TsType(), ident->Start());
78 if (!checker_->HasStatus(CheckerStatus::IN_CONST_CONTEXT)) {
79 inferredType = checker_->GetBaseTypeOfLiteralType(inferredType);
83 checker_->IsTypeIdenticalTo(var->TsType(), inferredType,
120 checker_->ThrowTypeError({"Object literal may only specify known properties, and property '", sourceName,
132 {checker_, assignmentPattern->Left(), inAssignment_, convertTupleToArray_, nullptr, nullptr});
141 if (validateTypeAnnotation_ && !checker_->IsTypeAssignableTo(defaultType, inferredType)) {
142 checker_->ThrowAssignmentError(defaultType, inferredType, assignmentPattern->Left()->Start());
153 checker_->RemoveStatus(CheckerStatus::FORCE_TUPLE);
156 Type *defaultType = assignmentPattern->Right()->Check(checker_);
157 if (!checker_->HasStatus(CheckerStatus::IN_CONST_CONTEXT)) {
158 defaultType = checker_->GetBaseTypeOfLiteralType(defaultType);
167 checker_->AddStatus(CheckerStatus::FORCE_TUPLE);
171 inferredType = checker_->GlobalUndefinedType();
177 inferredType->AsUnionType()->AddConstituentType(defaultType, checker_->Relation());
179 inferredType = checker_->CreateUnionType({inferredType, defaultType});
200 {checker_, assignmentPattern->Left(), inAssignment_, convertTupleToArray_, nullptr, nullptr});
209 checker_->ThrowTypeError(
217 checker_->ThrowTypeError(
227 util::StringView memberIndex = util::Helpers::ToStringView(checker_->Allocator(), index_);
248 if (!validateTypeAnnotation_ && checker_->HasStatus(CheckerStatus::IN_PARAMETER)) {
252 checker_->ThrowTypeError({"Tuple type ", inferredType_, " of length ",
263 ArenaVector<Type *> unionTypes(checker_->Allocator()->Adapter());
283 checker_->ThrowTypeError({"Property ", index_, " does not exist on type ", inferredType_, "."},
290 return checker_->CreateUnionType(std::move(unionTypes));
295 ArenaVector<Type *> unionTypes(checker_->Allocator()->Adapter());
316 Type *restArrayElementType = checker_->CreateUnionType(std::move(unionTypes));
317 return checker_->Allocator()->New<ArrayType>(restArrayElementType);
322 ObjectDescriptor *desc = checker_->Allocator()->New<ObjectDescriptor>(checker_->Allocator());
323 ArenaVector<ElementFlags> elementFlags(checker_->Allocator()->Adapter());
331 util::StringView memberIndex = util::Helpers::ToStringView(checker_->Allocator(), iterIndex);
332 auto *memberVar = varbinder::Scope::CreateVar(checker_->Allocator(), memberIndex,
346 return checker_->CreateTupleType(desc, std::move(elementFlags), tupleTypeInfo);
373 ArenaVector<Type *> tupleUnion(checker_->Allocator()->Adapter());
381 return checker_->CreateUnionType(std::move(tupleUnion));
400 {checker_, rest->Argument(), inAssignment_, convertTupleToArray_, nullptr, nullptr});
408 ObjectDestructuringContext({checker_, rest->Argument(), inAssignment_, convertTupleToArray_, nullptr, nullptr});
429 return type->AsObjectType()->AsTupleType()->ConvertToArrayType(checker_);
452 SetParameterType(it, checker_->GlobalAnyType());
470 ArrayDestructuringContext({checker_, element, inAssignment_, convertTupleToArray_, nullptr, nullptr});
477 ObjectDestructuringContext({checker_, element, inAssignment_, convertTupleToArray_, nullptr, nullptr});
501 util::StringView name = util::Helpers::ToStringView(checker_->Allocator(), 0);
512 if (nextInferredType == nullptr && checker_->HasStatus(CheckerStatus::IN_PARAMETER)) {
556 ObjectDescriptor *desc = checker_->Allocator()->New<ObjectDescriptor>(checker_->Allocator());
561 varbinder::Scope::CreateVar(checker_->Allocator(), it->Name(), varbinder::VariableFlags::NONE, nullptr);
568 Type *returnType = checker_->Allocator()->New<ObjectLiteralType>(desc);
576 ArenaVector<Type *> unionTypes(checker_->Allocator()->Adapter());
584 checker_->ThrowTypeError("Rest types may only be created from object types.", loc);
587 return checker_->CreateUnionType(std::move(unionTypes));
594 checker_->ThrowTypeError("Rest types may only be created from object types.", loc);
621 return type->AsObjectType()->AsTupleType()->ConvertToArrayType(checker_);
629 varbinder::Variable *prop = checker_->GetPropertyOfType(inferredType_, searchName, !throwError,
646 checker_->ThrowTypeError({"Property ", searchName, " does not exist on type ", inferredType_, "."},
689 ArrayDestructuringContext({checker_, property->Value()->AsArrayPattern(), inAssignment_,
698 ObjectDestructuringContext({checker_, property->Value()->AsObjectPattern(), inAssignment_,