Home | History | Annotate | Download | only in utils
      1 
      2 [Visualizer]
      3 
      4 llvm::SmallVector<*,*>{
      5 	preview (
      6 		#(
      7 			"[",
      8 			($T1*)$e.EndX - ($T1*)$e.BeginX,
      9 			"](",
     10 			#array(
     11 				expr: (($T1*)$e.BeginX)[$i],
     12 				size: ($T1*)$e.EndX - ($T1*)$e.BeginX
     13 			),
     14 			")"
     15 		)
     16 	)
     17 
     18 	children (
     19 		#(
     20 			#([size] : ($T1*)$e.EndX - ($T1*)$e.BeginX),
     21 			#([capacity] : ($T1*)$e.CapacityX - ($T1*)$e.BeginX),
     22 			#array(
     23 				expr: (($T1*)$e.BeginX)[$i],
     24 				size: ($T1*)$e.EndX - ($T1*)$e.BeginX
     25 			)
     26 		)
     27 	)
     28 }
     29 
     30 llvm::StringRef{
     31 	preview ([$e.Data,s])
     32 	stringview ([$e.Data,sb])
     33 
     34 	children (
     35 		#(
     36 			#([size] : $e.Length),
     37 			#array(expr: $e.Data[$i], size: $e.Length)
     38 		)
     39 	)
     40 }
     41 
     42 clang::Token{
     43 	preview((clang::tok::TokenKind)(int)$e.Kind)
     44 }
     45 
     46 llvm::PointerIntPair<*,*,*,*>{
     47 	preview (
     48 		#(
     49 			($T1*)($e.Value & $e.PointerBitMask),
     50 			" [",
     51 			($T3)(($e.Value >> $e.IntShift) & $e.IntMask),
     52 			"]"
     53 		)
     54 	)
     55 	
     56 	children (
     57 		#(
     58 			#([ptr] : ($T1*)($e.Value & $e.PointerBitMask)),
     59 			#([int] : ($T3)($e.Value >> $e.IntShift) & $e.IntMask)
     60 		)
     61 	)
     62 }
     63 
     64 llvm::PointerUnion<*,*>{
     65 	preview (
     66 		#if ((($e.Val.Value >> $e.Val.IntShift) & $e.Val.IntMask) == 0) (
     67 			"PT1"
     68 		) #else (
     69 			"PT2"
     70 		)
     71 	)
     72 	
     73 	children (
     74 		#(
     75 			#if ((($e.Val.Value >> $e.Val.IntShift) & $e.Val.IntMask) == 0) (
     76 				#([ptr] : ($T1)($e.Val.Value & $e.Val.PointerBitMask))
     77 			)	#else (
     78 				#([ptr] : ($T2)($e.Val.Value & $e.Val.PointerBitMask))
     79 			)
     80 		)
     81 	)
     82 }
     83 
     84 llvm::PointerUnion3<*,*,*>{
     85 	preview (
     86 		#if (($e.Val.Val.Value & 0x2) == 2) (
     87 			"PT2"
     88 		) #elif (($e.Val.Val.Value & 0x1) == 1) (
     89 			"PT3"
     90 		) #else (
     91 			"PT1"
     92 		)
     93 	)
     94 	
     95 	children (
     96 		#(
     97 			#if (($e.Val.Val.Value & 0x2) == 2) (
     98 				#([ptr] : ($T2)(($e.Val.Val.Value >> 2) << 2))
     99 			) #elif (($e.Val.Val.Value & 0x1) == 1) (
    100 				#([ptr] : ($T3)(($e.Val.Val.Value >> 2) << 2))
    101 			) #else (
    102 				#([ptr] : ($T1)(($e.Val.Val.Value >> 2) << 2))
    103 			)
    104 		)
    105 	)
    106 }
    107 
    108 llvm::PointerUnion4<*,*,*,*>{
    109 	preview (
    110 		#if (($e.Val.Val.Value & 0x3) == 3) (
    111 			"PT4"
    112 		)	#elif (($e.Val.Val.Value & 0x2) == 2) (
    113 			"PT2"
    114 		) #elif (($e.Val.Val.Value & 0x1) == 1) (
    115 			"PT3"
    116 		) #else (
    117 			"PT1"
    118 		)
    119 	)
    120 	
    121 	children (
    122 		#(
    123 			#if (($e.Val.Val.Value & 0x3) == 3) (
    124 				#([ptr] : ($T4)(($e.Val.Val.Value >> 2) << 2))
    125 			)	#elif (($e.Val.Val.Value & 0x2) == 2) (
    126 				#([ptr] : ($T2)(($e.Val.Val.Value >> 2) << 2))
    127 			) #elif (($e.Val.Val.Value & 0x1) == 1) (
    128 				#([ptr] : ($T3)(($e.Val.Val.Value >> 2) << 2))
    129 			) #else (
    130 				#([ptr] : ($T1)(($e.Val.Val.Value >> 2) << 2))
    131 			)
    132 		)
    133 	)
    134 }
    135