8.3 Labels
8.3.1 Static Semantics: ContainsDuplicateLabels
The
- 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- If
ContainsDuplicateLabels of the firstCaseClauses with argument labelSet istrue , returntrue .
- If
- If
ContainsDuplicateLabels ofDefaultClause with argument labelSet istrue , 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 labelSet contains label, return
true . - Let newLabelSet be the
list-concatenation of labelSet and « label ». - 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.
- If
ContainsDuplicateLabels ofBlock with argument labelSet istrue , returntrue . - If
ContainsDuplicateLabels ofCatch with argument labelSet istrue , returntrue . - Return
ContainsDuplicateLabels ofFinally with argument labelSet.
- Return
ContainsDuplicateLabels ofBlock with argument labelSet.
- Return
false .
- Return
false .
- Let hasDuplicates be
ContainsDuplicateLabels ofModuleItemList with argument labelSet. - If hasDuplicates is
true , returntrue . - Return
ContainsDuplicateLabels ofModuleItem with argument labelSet.
- Return
false .
8.3.2 Static Semantics: ContainsUndefinedBreakTarget
The
- 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 labelSet does not contain the
StringValue ofLabelIdentifier , returntrue . - Return
false .
- Return
ContainsUndefinedBreakTarget ofStatement with argument labelSet.
- Return
ContainsUndefinedBreakTarget ofCaseBlock with argument labelSet.
- Return
false .
- If the first
CaseClauses is present, then- If
ContainsUndefinedBreakTarget of the firstCaseClauses with argument labelSet istrue , returntrue .
- If
- If
ContainsUndefinedBreakTarget ofDefaultClause with argument labelSet istrue , 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 the
list-concatenation of labelSet and « label ». - 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.
- If
ContainsUndefinedBreakTarget ofBlock with argument labelSet istrue , returntrue . - If
ContainsUndefinedBreakTarget ofCatch with argument labelSet istrue , returntrue . - Return
ContainsUndefinedBreakTarget ofFinally with argument labelSet.
- Return
ContainsUndefinedBreakTarget ofBlock with argument labelSet.
- Return
false .
- Return
false .
- Let hasUndefinedLabels be
ContainsUndefinedBreakTarget ofModuleItemList with argument labelSet. - If hasUndefinedLabels is
true , returntrue . - Return
ContainsUndefinedBreakTarget ofModuleItem with argument labelSet.
- Return
false .
8.3.3 Static Semantics: ContainsUndefinedContinueTarget
The
- Return
false .
- Return
ContainsUndefinedContinueTarget ofBlockStatement with arguments iterationSet and « ».
- Let newIterationSet be the
list-concatenation of iterationSet and labelSet. - 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 iterationSet does not contain the
StringValue ofLabelIdentifier , 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- If
ContainsUndefinedContinueTarget of the firstCaseClauses with arguments iterationSet and « » istrue , returntrue .
- If
- If
ContainsUndefinedContinueTarget ofDefaultClause with arguments iterationSet and « » istrue , 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 the
list-concatenation of labelSet and « label ». - 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 « ».
- If
ContainsUndefinedContinueTarget ofBlock with arguments iterationSet and « » istrue , returntrue . - If
ContainsUndefinedContinueTarget ofCatch with arguments iterationSet and « » istrue , returntrue . - Return
ContainsUndefinedContinueTarget ofFinally with arguments iterationSet and « ».
- Return
ContainsUndefinedContinueTarget ofBlock with arguments iterationSet and « ».
- Return
false .
- 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 .