package parser

import (
	
	
)

type _scope struct {
	outer           *_scope
	allowIn         bool
	allowLet        bool
	inIteration     bool
	inSwitch        bool
	inFuncParams    bool
	inFunction      bool
	inAsync         bool
	allowAwait      bool
	allowYield      bool
	declarationList []*ast.VariableDeclaration

	labels []unistring.String
}

func ( *_parser) () {
	.scope = &_scope{
		outer:   .scope,
		allowIn: true,
	}
}

func ( *_parser) () {
	.scope = .scope.outer
}

func ( *_scope) ( *ast.VariableDeclaration) {
	.declarationList = append(.declarationList, )
}

func ( *_scope) ( unistring.String) bool {
	for ,  := range .labels {
		if  ==  {
			return true
		}
	}
	if .outer != nil && !.inFunction {
		// Crossing a function boundary to look for a label is verboten
		return .outer.()
	}
	return false
}