github.com/Konstantin8105/c4go@v0.0.0-20240505174241-768bb1c65a51/ast/implicit_cast_expr_test.go (about)

     1  package ast
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestImplicitCastExpr(t *testing.T) {
     8  	nodes := map[string]Node{
     9  		`0x7f9f5b0a1288 <col:8> 'FILE *' <LValueToRValue>`: &ImplicitCastExpr{
    10  			Addr:       0x7f9f5b0a1288,
    11  			Pos:        NewPositionFromString("col:8"),
    12  			Type:       "FILE *",
    13  			Kind:       "LValueToRValue",
    14  			ChildNodes: []Node{},
    15  		},
    16  		`0x7f9f5b0a7828 <col:11> 'int (*)(int, FILE *)' <FunctionToPointerDecay>`: &ImplicitCastExpr{
    17  			Addr:       0x7f9f5b0a7828,
    18  			Pos:        NewPositionFromString("col:11"),
    19  			Type:       "int (*)(int, FILE *)",
    20  			Kind:       "FunctionToPointerDecay",
    21  			ChildNodes: []Node{},
    22  		},
    23  		`0x21267c8 <col:8> 'enum week1':'enum week2' <IntegralCast>`: &ImplicitCastExpr{
    24  			Addr:       0x21267c8,
    25  			Pos:        NewPositionFromString("col:8"),
    26  			Type:       "enum week1",
    27  			Type2:      "enum week2",
    28  			Kind:       "IntegralCast",
    29  			ChildNodes: []Node{},
    30  		},
    31  		`0x26fd2d8 <col:20, col:32> 'extCoord':'extCoord' <LValueToRValue>`: &ImplicitCastExpr{
    32  			Addr:       0x26fd2d8,
    33  			Pos:        NewPositionFromString("col:20, col:32"),
    34  			Type:       "extCoord",
    35  			Type2:      "extCoord",
    36  			Kind:       "LValueToRValue",
    37  			ChildNodes: []Node{},
    38  		},
    39  		`0x55d0624a21e8 <col:32> 'void (*)(UA_Server *, UA_Session *, const UA_CloseSessionRequest *, UA_CloseSessionResponse *)' <FunctionToPointerDecay> part_of_explicit_cast`: &ImplicitCastExpr{
    40  			Addr:               0x55d0624a21e8,
    41  			Pos:                NewPositionFromString("col:32"),
    42  			Type:               "void (*)(UA_Server *, UA_Session *, const UA_CloseSessionRequest *, UA_CloseSessionResponse *)",
    43  			Type2:              "",
    44  			Kind:               "FunctionToPointerDecay",
    45  			IsPartExplicitCast: true,
    46  			ChildNodes:         []Node{},
    47  		},
    48  	}
    49  
    50  	runNodeTests(t, nodes)
    51  }