oppositeBracket finds the bracket that opposes the given bracketer, or NilToken if the given token isn't a bracketer. "Bracketer", for the sake of this function, is one end of a matching open/close set of tokens that establish a bracketing context.
(ty TokenType)
| 2186 | // "Bracketer", for the sake of this function, is one end of a matching |
| 2187 | // open/close set of tokens that establish a bracketing context. |
| 2188 | func (p *parser) oppositeBracket(ty TokenType) TokenType { |
| 2189 | switch ty { |
| 2190 | |
| 2191 | case TokenOBrace: |
| 2192 | return TokenCBrace |
| 2193 | case TokenOBrack: |
| 2194 | return TokenCBrack |
| 2195 | case TokenOParen: |
| 2196 | return TokenCParen |
| 2197 | case TokenOQuote: |
| 2198 | return TokenCQuote |
| 2199 | case TokenOHeredoc: |
| 2200 | return TokenCHeredoc |
| 2201 | |
| 2202 | case TokenCBrace: |
| 2203 | return TokenOBrace |
| 2204 | case TokenCBrack: |
| 2205 | return TokenOBrack |
| 2206 | case TokenCParen: |
| 2207 | return TokenOParen |
| 2208 | case TokenCQuote: |
| 2209 | return TokenOQuote |
| 2210 | case TokenCHeredoc: |
| 2211 | return TokenOHeredoc |
| 2212 | |
| 2213 | case TokenTemplateControl: |
| 2214 | return TokenTemplateSeqEnd |
| 2215 | case TokenTemplateInterp: |
| 2216 | return TokenTemplateSeqEnd |
| 2217 | case TokenTemplateSeqEnd: |
| 2218 | // This is ambigous, but we return Interp here because that's |
| 2219 | // what's assumed by the "recover" method. |
| 2220 | return TokenTemplateInterp |
| 2221 | |
| 2222 | default: |
| 2223 | return TokenNil |
| 2224 | } |
| 2225 | } |
| 2226 | |
| 2227 | func errPlaceholderExpr(rng hcl.Range) Expression { |
| 2228 | return &LiteralValueExpr{ |
no outgoing calls
no test coverage detected