8.2 Labels
8.2.1 Static Semantics: ContainsDuplicateLabels
With parameter labelSet.
- Return
false .
- Let hasDuplicates be
ContainsDuplicateLabels ofStatementList with argument labelSet. - If hasDuplicates is
true , returntrue . - Return
ContainsDuplicateLabels ofStatementListItem with argument labelSet.
- Let hasDuplicate be
ContainsDuplicateLabels of the firstStatement with argument labelSet. - If hasDuplicate is
true , returntrue . - Return
ContainsDuplicateLabels of the secondStatement with argument labelSet.
- Return
ContainsDuplicateLabels ofStatement with argument labelSet.
- Return
ContainsDuplicateLabels ofStatement with argument labelSet.
- Return
ContainsDuplicateLabels ofStatement with argument labelSet.
- Return
ContainsDuplicateLabels ofStatement with argument labelSet.
- Return
ContainsDuplicateLabels ofStatement with argument labelSet.
This section is extended by Annex
- Return
ContainsDuplicateLabels ofStatement with argument labelSet.
- Return
ContainsDuplicateLabels ofCaseBlock with argument labelSet.
- Return
false .
- If the first
CaseClauses is present, then- Let hasDuplicates be
ContainsDuplicateLabels of the firstCaseClauses with argument labelSet. - If hasDuplicates is
true , returntrue .
- Let hasDuplicates be
- Let hasDuplicates be
ContainsDuplicateLabels ofDefaultClause with argument labelSet. - If hasDuplicates is
true , returntrue . - If the second
CaseClauses is not present, returnfalse . - Return
ContainsDuplicateLabels of the secondCaseClauses with argument labelSet.
- Let hasDuplicates be
ContainsDuplicateLabels ofCaseClauses with argument labelSet. - If hasDuplicates is
true , returntrue . - Return
ContainsDuplicateLabels ofCaseClause with argument labelSet.
- If the
StatementList is present, returnContainsDuplicateLabels ofStatementList with argument labelSet. - Return
false .
- If the
StatementList is present, returnContainsDuplicateLabels ofStatementList with argument labelSet. - Return
false .
- Let label be the
StringValue ofLabelIdentifier . - If label is an element of labelSet, return
true . - Let newLabelSet be a copy of labelSet with label appended.
- Return
ContainsDuplicateLabels ofLabelledItem with argument newLabelSet.
- Return
false .
- Let hasDuplicates be
ContainsDuplicateLabels ofBlock with argument labelSet. - If hasDuplicates is
true , returntrue . - Return
ContainsDuplicateLabels ofCatch with argument labelSet.
- Let hasDuplicates be
ContainsDuplicateLabels ofBlock with argument labelSet. - If hasDuplicates is
true , returntrue . - Return
ContainsDuplicateLabels ofFinally with argument labelSet.
- Let hasDuplicates be
ContainsDuplicateLabels ofBlock with argument labelSet. - If hasDuplicates is
true , returntrue . - Let hasDuplicates be
ContainsDuplicateLabels ofCatch with argument labelSet. - If hasDuplicates is
true , returntrue . - Return
ContainsDuplicateLabels ofFinally with argument labelSet.
- Return
ContainsDuplicateLabels ofBlock with argument labelSet.
- Return
false .
- Let hasDuplicates be
ContainsDuplicateLabels ofModuleItemList with argument labelSet. - If hasDuplicates is
true , returntrue . - Return
ContainsDuplicateLabels ofModuleItem with argument labelSet.
- Return
false .
8.2.2 Static Semantics: ContainsUndefinedBreakTarget
With parameter labelSet.
- Return
false .
- Let hasUndefinedLabels be
ContainsUndefinedBreakTarget ofStatementList with argument labelSet. - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedBreakTarget ofStatementListItem with argument labelSet.
- Let hasUndefinedLabels be
ContainsUndefinedBreakTarget of the firstStatement with argument labelSet. - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedBreakTarget of the secondStatement with argument labelSet.
- Return
ContainsUndefinedBreakTarget ofStatement with argument labelSet.
- Return
ContainsUndefinedBreakTarget ofStatement with argument labelSet.
- Return
ContainsUndefinedBreakTarget ofStatement with argument labelSet.
- Return
ContainsUndefinedBreakTarget ofStatement with argument labelSet.
- Return
ContainsUndefinedBreakTarget ofStatement with argument labelSet.
This section is extended by Annex
- Return
false .
- If the
StringValue ofLabelIdentifier is not an element of labelSet, returntrue . - Return
false .
- Return
ContainsUndefinedBreakTarget ofStatement with argument labelSet.
- Return
ContainsUndefinedBreakTarget ofCaseBlock with argument labelSet.
- Return
false .
- If the first
CaseClauses is present, then- Let hasUndefinedLabels be
ContainsUndefinedBreakTarget of the firstCaseClauses with argument labelSet. - If hasUndefinedLabels is
true , returntrue .
- Let hasUndefinedLabels be
- Let hasUndefinedLabels be
ContainsUndefinedBreakTarget ofDefaultClause with argument labelSet. - If hasUndefinedLabels is
true , returntrue . - If the second
CaseClauses is not present, returnfalse . - Return
ContainsUndefinedBreakTarget of the secondCaseClauses with argument labelSet.
- Let hasUndefinedLabels be
ContainsUndefinedBreakTarget ofCaseClauses with argument labelSet. - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedBreakTarget ofCaseClause with argument labelSet.
- If the
StatementList is present, returnContainsUndefinedBreakTarget ofStatementList with argument labelSet. - Return
false .
- If the
StatementList is present, returnContainsUndefinedBreakTarget ofStatementList with argument labelSet. - Return
false .
- Let label be the
StringValue ofLabelIdentifier . - Let newLabelSet be a copy of labelSet with label appended.
- Return
ContainsUndefinedBreakTarget ofLabelledItem with argument newLabelSet.
- Return
false .
- Let hasUndefinedLabels be
ContainsUndefinedBreakTarget ofBlock with argument labelSet. - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedBreakTarget ofCatch with argument labelSet.
- Let hasUndefinedLabels be
ContainsUndefinedBreakTarget ofBlock with argument labelSet. - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedBreakTarget ofFinally with argument labelSet.
- Let hasUndefinedLabels be
ContainsUndefinedBreakTarget ofBlock with argument labelSet. - If hasUndefinedLabels is
true , returntrue . - Let hasUndefinedLabels be
ContainsUndefinedBreakTarget ofCatch with argument labelSet. - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedBreakTarget ofFinally with argument labelSet.
- Return
ContainsUndefinedBreakTarget ofBlock with argument labelSet.
- Return
false .
- Let hasUndefinedLabels be
ContainsUndefinedBreakTarget ofModuleItemList with argument labelSet. - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedBreakTarget ofModuleItem with argument labelSet.
- Return
false .
8.2.3 Static Semantics: ContainsUndefinedContinueTarget
With parameters iterationSet and labelSet.
- Return
false .
- Let newIterationSet be a copy of iterationSet with all the elements of labelSet appended.
- Return
ContainsUndefinedContinueTarget ofIterationStatement with arguments newIterationSet and « ».
- Let hasUndefinedLabels be
ContainsUndefinedContinueTarget ofStatementList with arguments iterationSet and « ». - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedContinueTarget ofStatementListItem with arguments iterationSet and « ».
- Let hasUndefinedLabels be
ContainsUndefinedContinueTarget of the firstStatement with arguments iterationSet and « ». - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedContinueTarget of the secondStatement with arguments iterationSet and « ».
- Return
ContainsUndefinedContinueTarget ofStatement with arguments iterationSet and « ».
- Return
ContainsUndefinedContinueTarget ofStatement with arguments iterationSet and « ».
- Return
ContainsUndefinedContinueTarget ofStatement with arguments iterationSet and « ».
- Return
ContainsUndefinedContinueTarget ofStatement with arguments iterationSet and « ».
- Return
ContainsUndefinedContinueTarget ofStatement with arguments iterationSet and « ».
This section is extended by Annex
- Return
false .
- If the
StringValue ofLabelIdentifier is not an element of iterationSet, returntrue . - Return
false .
- Return
ContainsUndefinedContinueTarget ofStatement with arguments iterationSet and « ».
- Return
ContainsUndefinedContinueTarget ofCaseBlock with arguments iterationSet and « ».
- Return
false .
- If the first
CaseClauses is present, then- Let hasUndefinedLabels be
ContainsUndefinedContinueTarget of the firstCaseClauses with arguments iterationSet and « ». - If hasUndefinedLabels is
true , returntrue .
- Let hasUndefinedLabels be
- Let hasUndefinedLabels be
ContainsUndefinedContinueTarget ofDefaultClause with arguments iterationSet and « ». - If hasUndefinedLabels is
true , returntrue . - If the second
CaseClauses is not present, returnfalse . - Return
ContainsUndefinedContinueTarget of the secondCaseClauses with arguments iterationSet and « ».
- Let hasUndefinedLabels be
ContainsUndefinedContinueTarget ofCaseClauses with arguments iterationSet and « ». - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedContinueTarget ofCaseClause with arguments iterationSet and « ».
- If the
StatementList is present, returnContainsUndefinedContinueTarget ofStatementList with arguments iterationSet and « ». - Return
false .
- If the
StatementList is present, returnContainsUndefinedContinueTarget ofStatementList with arguments iterationSet and « ». - Return
false .
- Let label be the
StringValue ofLabelIdentifier . - Let newLabelSet be a copy of labelSet with label appended.
- Return
ContainsUndefinedContinueTarget ofLabelledItem with arguments iterationSet and newLabelSet.
- Return
false .
- Let hasUndefinedLabels be
ContainsUndefinedContinueTarget ofBlock with arguments iterationSet and « ». - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedContinueTarget ofCatch with arguments iterationSet and « ».
- Let hasUndefinedLabels be
ContainsUndefinedContinueTarget ofBlock with arguments iterationSet and « ». - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedContinueTarget ofFinally with arguments iterationSet and « ».
- Let hasUndefinedLabels be
ContainsUndefinedContinueTarget ofBlock with arguments iterationSet and « ». - If hasUndefinedLabels is
true , returntrue . - Let hasUndefinedLabels be
ContainsUndefinedContinueTarget ofCatch with arguments iterationSet and « ». - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedContinueTarget ofFinally with arguments iterationSet and « ».
- Return
ContainsUndefinedContinueTarget ofBlock with arguments iterationSet and « ».
- Return
false .
- Let hasUndefinedLabels be
ContainsUndefinedContinueTarget ofModuleItemList with arguments iterationSet and « ». - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedContinueTarget ofModuleItem with arguments iterationSet and « ».
- Return
false .