27dc9fa5ca
This is a reland of 0f15ed05b9
Original change's description:
> [torque]: Implement catch handlers for try blocks
>
> In addition (and in combination), try statements now support "catch"
> clauses at the end that catch JavaScript exceptions throw by any builtin
> or runtime function contained in the try block:
>
> try {
> ThrowTypeError(context, ...);
> }
> catch (e) {
> // e has type Object
> }
>
> Bug: v8:7793
> Change-Id: Ie285ff888c49c112276240f7360f70c8b540ed19
> Reviewed-on: https://chromium-review.googlesource.com/c/1302055
> Commit-Queue: Daniel Clifford <danno@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57169}
Bug: v8:7793
Change-Id: I3c4182303acfdfa625654976bec372cf531d954f
Reviewed-on: https://chromium-review.googlesource.com/c/1310295
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Daniel Clifford <danno@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57184}
85 lines
3.1 KiB
VimL
85 lines
3.1 KiB
VimL
" Copyright 2018 the V8 project authors. All rights reserved.
|
|
" Use of this source code is governed by a BSD-style license that can be
|
|
" found in the LICENSE file.
|
|
|
|
if !exists("main_syntax")
|
|
" quit when a syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
let main_syntax = 'torque'
|
|
elseif exists("b:current_syntax") && b:current_syntax == "torque"
|
|
finish
|
|
endif
|
|
|
|
let s:cpo_save = &cpo
|
|
set cpo&vim
|
|
|
|
syn match torqueLineComment "\/\/.*" contains=@Spell
|
|
syn region torqueComment start="/\*" end="\*/" contains=@Spell
|
|
syn region torqueStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+
|
|
|
|
syn keyword torqueAssert assert check debug unreachable
|
|
syn keyword torqueAtom True False Undefined Hole Null
|
|
syn keyword torqueBoolean true false
|
|
syn keyword torqueBranch break continue goto
|
|
syn keyword torqueConditional if else typeswitch otherwise
|
|
syn match torqueConstant /\v<[A-Z][A-Z0-9_]+>/
|
|
syn match torqueConstant /\v<k[A-Z][A-Za-z0-9]*>/
|
|
syn keyword torqueFunction macro builtin runtime
|
|
syn keyword torqueKeyword cast convert from_constexpr min max unsafe_cast
|
|
syn keyword torqueLabel case
|
|
syn keyword torqueMatching try label catch
|
|
syn keyword torqueModifier extern javascript constexpr transitioning transient
|
|
syn match torqueNumber /\v<[0-9]+(\.[0-9]*)?>/
|
|
syn match torqueNumber /\v<0x[0-9a-fA-F]+>/
|
|
syn keyword torqueOperator operator
|
|
syn keyword torqueRel extends generates labels
|
|
syn keyword torqueRepeat while for of
|
|
syn keyword torqueStatement return tail
|
|
syn keyword torqueStructure module struct type
|
|
syn keyword torqueVariable const let
|
|
|
|
syn match torqueType /\v(\<)@<=([A-Za-z][0-9A-Za-z_]*)(>)@=/
|
|
syn match torqueType /\v(:\s*(constexpr\s*)?)@<=([A-Za-z][0-9A-Za-z_]*)/
|
|
" Include some common types also
|
|
syn keyword torqueType Arguments void never
|
|
syn keyword torqueType Tagged Smi HeapObject Object
|
|
syn keyword torqueType int32 uint32 int64 intptr uintptr float32 float64
|
|
syn keyword torqueType bool string
|
|
syn keyword torqueType int31 RawPtr AbstractCode Code JSReceiver Context String
|
|
syn keyword torqueType Oddball HeapNumber Number BigInt Numeric Boolean JSProxy
|
|
syn keyword torqueType JSObject JSArray JSFunction JSBoundFunction Callable Map
|
|
|
|
hi def link torqueAssert Statement
|
|
hi def link torqueAtom Constant
|
|
hi def link torqueBoolean Boolean
|
|
hi def link torqueBranch Conditional
|
|
hi def link torqueComment Comment
|
|
hi def link torqueConditional Conditional
|
|
hi def link torqueConstant Constant
|
|
hi def link torqueFunction Function
|
|
hi def link torqueKeyword Keyword
|
|
hi def link torqueLabel Label
|
|
hi def link torqueLineComment Comment
|
|
hi def link torqueMatching Exception
|
|
hi def link torqueModifier StorageClass
|
|
hi def link torqueNumber Number
|
|
hi def link torqueOperator Operator
|
|
hi def link torqueRel StorageClass
|
|
hi def link torqueRepeat Repeat
|
|
hi def link torqueStatement Statement
|
|
hi def link torqueStringS String
|
|
hi def link torqueStructure Structure
|
|
hi def link torqueType Type
|
|
hi def link torqueVariable Identifier
|
|
|
|
let b:current_syntax = "torque"
|
|
if main_syntax == 'torque'
|
|
unlet main_syntax
|
|
endif
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|
|
|
|
" vim: set ts=8:
|