diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2020-11-09 23:55:10 +0100 |
|---|---|---|
| committer | DanielGavin <danielgavin5@hotmail.com> | 2020-11-09 23:55:10 +0100 |
| commit | b08dcc40c81212755f6143ab47c7bc3dd746417d (patch) | |
| tree | 16a06d63d6d35f054429b99e61205595b2206d1e /src/server | |
| parent | f9416ac2e7ebef3b881305467edad22ea411603e (diff) | |
wrong format - need odin formatter pls
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/analysis.odin | 384 |
1 files changed, 192 insertions, 192 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin index 1996041..98639c2 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -198,24 +198,24 @@ get_document_position_context :: proc(document: ^Document, position: common.Posi } get_document_position :: proc{ - get_document_position_array, - get_document_position_dynamic_array, - get_document_position_node, + get_document_position_array, + get_document_position_dynamic_array, + get_document_position_node, }; get_document_position_array :: proc(array: $A/[]^$T, position_context: ^DocumentPositionContext) { - for elem, i in array { - get_document_position(elem, position_context); - } + for elem, i in array { + get_document_position(elem, position_context); + } } get_document_position_dynamic_array :: proc(array: $A/[dynamic]^$T, position_context: ^DocumentPositionContext) { - for elem, i in array { - get_document_position(elem, position_context); - } + for elem, i in array { + get_document_position(elem, position_context); + } } @@ -227,211 +227,211 @@ get_document_position_node :: proc(node: ^ast.Node, position_context: ^DocumentP using ast; - if node == nil { - return; - } + if node == nil { + return; + } if !(node.pos.offset <= position_context.position && position_context.position <= node.end.offset) { return; } - switch n in node.derived { - case Bad_Expr: - case Ident: + switch n in node.derived { + case Bad_Expr: + case Ident: position_context.identifier = node; return; - case Implicit: - case Undef: - case Basic_Lit: - case Ellipsis: - get_document_position(n.expr, position_context); - case Proc_Lit: - get_document_position(n.type, position_context); + case Implicit: + case Undef: + case Basic_Lit: + case Ellipsis: + get_document_position(n.expr, position_context); + case Proc_Lit: + get_document_position(n.type, position_context); if position_in_node(n.body, position_context.position) { position_context.function = node; - get_document_position(n.body, position_context); + get_document_position(n.body, position_context); return; } - case Comp_Lit: - get_document_position(n.type, position_context); - get_document_position(n.elems, position_context); - case Tag_Expr: - get_document_position(n.expr, position_context); - case Unary_Expr: - get_document_position(n.expr, position_context); - case Binary_Expr: - get_document_position(n.left, position_context); - get_document_position(n.right, position_context); - case Paren_Expr: - get_document_position(n.expr, position_context); + case Comp_Lit: + get_document_position(n.type, position_context); + get_document_position(n.elems, position_context); + case Tag_Expr: + get_document_position(n.expr, position_context); + case Unary_Expr: + get_document_position(n.expr, position_context); + case Binary_Expr: + get_document_position(n.left, position_context); + get_document_position(n.right, position_context); + case Paren_Expr: + get_document_position(n.expr, position_context); case Call_Expr: - get_document_position(n.expr, position_context); - get_document_position(n.args, position_context); - case Selector_Expr: - get_document_position(n.expr, position_context); + get_document_position(n.expr, position_context); + get_document_position(n.args, position_context); + case Selector_Expr: + get_document_position(n.expr, position_context); if position_in_node(n.field, position_context.position) { position_context.selector = n.expr; position_context.field = n.field; - get_document_position(n.field, position_context); + get_document_position(n.field, position_context); return; } - case Index_Expr: + case Index_Expr: get_document_position(n.expr, position_context); get_document_position(n.index, position_context); - case Deref_Expr: - get_document_position(n.expr, position_context); - case Slice_Expr: - get_document_position(n.expr, position_context); - get_document_position(n.low, position_context); - get_document_position(n.high, position_context); - case Field_Value: - get_document_position(n.field, position_context); - get_document_position(n.value, position_context); - case Ternary_Expr: - get_document_position(n.cond, position_context); - get_document_position(n.x, position_context); - get_document_position(n.y, position_context); - case Ternary_If_Expr: - get_document_position(n.x, position_context); - get_document_position(n.cond, position_context); - get_document_position(n.y, position_context); - case Ternary_When_Expr: - get_document_position(n.x, position_context); - get_document_position(n.cond, position_context); - get_document_position(n.y, position_context); - case Type_Assertion: - get_document_position(n.expr, position_context); - get_document_position(n.type, position_context); - case Type_Cast: - get_document_position(n.type, position_context); - get_document_position(n.expr, position_context); - case Auto_Cast: - get_document_position(n.expr, position_context); - case Bad_Stmt: - case Empty_Stmt: - case Expr_Stmt: - get_document_position(n.expr, position_context); - case Tag_Stmt: + case Deref_Expr: + get_document_position(n.expr, position_context); + case Slice_Expr: + get_document_position(n.expr, position_context); + get_document_position(n.low, position_context); + get_document_position(n.high, position_context); + case Field_Value: + get_document_position(n.field, position_context); + get_document_position(n.value, position_context); + case Ternary_Expr: + get_document_position(n.cond, position_context); + get_document_position(n.x, position_context); + get_document_position(n.y, position_context); + case Ternary_If_Expr: + get_document_position(n.x, position_context); + get_document_position(n.cond, position_context); + get_document_position(n.y, position_context); + case Ternary_When_Expr: + get_document_position(n.x, position_context); + get_document_position(n.cond, position_context); + get_document_position(n.y, position_context); + case Type_Assertion: + get_document_position(n.expr, position_context); + get_document_position(n.type, position_context); + case Type_Cast: + get_document_position(n.type, position_context); + get_document_position(n.expr, position_context); + case Auto_Cast: + get_document_position(n.expr, position_context); + case Bad_Stmt: + case Empty_Stmt: + case Expr_Stmt: + get_document_position(n.expr, position_context); + case Tag_Stmt: r := cast(^Expr_Stmt)node; - get_document_position(r.expr, position_context); - case Assign_Stmt: - get_document_position(n.lhs, position_context); - get_document_position(n.rhs, position_context); - case Block_Stmt: - get_document_position(n.label, position_context); - get_document_position(n.stmts, position_context); - case If_Stmt: - get_document_position(n.label, position_context); - get_document_position(n.init, position_context); - get_document_position(n.cond, position_context); - get_document_position(n.body, position_context); - get_document_position(n.else_stmt, position_context); - case When_Stmt: - get_document_position(n.cond, position_context); - get_document_position(n.body, position_context); - get_document_position(n.else_stmt, position_context); - case Return_Stmt: - get_document_position(n.results, position_context); - case Defer_Stmt: - get_document_position(n.stmt, position_context); - case For_Stmt: - get_document_position(n.label, position_context); - get_document_position(n.init, position_context); - get_document_position(n.cond, position_context); - get_document_position(n.post, position_context); - get_document_position(n.body, position_context); - case Range_Stmt: - get_document_position(n.label, position_context); - get_document_position(n.val0, position_context); - get_document_position(n.val1, position_context); - get_document_position(n.expr, position_context); - get_document_position(n.body, position_context); - case Case_Clause: - get_document_position(n.list, position_context); - get_document_position(n.body, position_context); - case Switch_Stmt: - get_document_position(n.label, position_context); - get_document_position(n.init, position_context); - get_document_position(n.cond, position_context); - get_document_position(n.body, position_context); - case Type_Switch_Stmt: - get_document_position(n.label, position_context); - get_document_position(n.tag, position_context); - get_document_position(n.expr, position_context); - get_document_position(n.body, position_context); - case Branch_Stmt: - get_document_position(n.label, position_context); - case Using_Stmt: - get_document_position(n.list, position_context); - case Bad_Decl: - case Value_Decl: - get_document_position(n.attributes, position_context); - get_document_position(n.names, position_context); - get_document_position(n.type, position_context); - get_document_position(n.values, position_context); - case Package_Decl: - case Import_Decl: - case Foreign_Block_Decl: - get_document_position(n.attributes, position_context); - get_document_position(n.foreign_library, position_context); - get_document_position(n.body, position_context); - case Foreign_Import_Decl: - get_document_position(n.name, position_context); - case Proc_Group: - get_document_position(n.args, position_context); - case Attribute: - get_document_position(n.elems, position_context); - case Field: - get_document_position(n.names, position_context); - get_document_position(n.type, position_context); - get_document_position(n.default_value, position_context); - case Field_List: - get_document_position(n.list, position_context); - case Typeid_Type: - get_document_position(n.specialization, position_context); - case Helper_Type: - get_document_position(n.type, position_context); - case Distinct_Type: - get_document_position(n.type, position_context); - case Opaque_Type: - get_document_position(n.type, position_context); - case Poly_Type: - get_document_position(n.type, position_context); - get_document_position(n.specialization, position_context); - case Proc_Type: - get_document_position(n.params, position_context); - get_document_position(n.results, position_context); - case Pointer_Type: - get_document_position(n.elem, position_context); - case Array_Type: - get_document_position(n.len, position_context); - get_document_position(n.elem, position_context); - case Dynamic_Array_Type: - get_document_position(n.elem, position_context); - case Struct_Type: - get_document_position(n.poly_params, position_context); - get_document_position(n.align, position_context); - get_document_position(n.fields, position_context); - case Union_Type: - get_document_position(n.poly_params, position_context); - get_document_position(n.align, position_context); - get_document_position(n.variants, position_context); - case Enum_Type: - get_document_position(n.base_type, position_context); - get_document_position(n.fields, position_context); - case Bit_Field_Type: - get_document_position(n.fields, position_context); - case Bit_Set_Type: - get_document_position(n.elem, position_context); - get_document_position(n.underlying, position_context); - case Map_Type: - get_document_position(n.key, position_context); - get_document_position(n.value, position_context); - case: - fmt.panicf("Unhandled node kind: %T", n); - } + get_document_position(r.expr, position_context); + case Assign_Stmt: + get_document_position(n.lhs, position_context); + get_document_position(n.rhs, position_context); + case Block_Stmt: + get_document_position(n.label, position_context); + get_document_position(n.stmts, position_context); + case If_Stmt: + get_document_position(n.label, position_context); + get_document_position(n.init, position_context); + get_document_position(n.cond, position_context); + get_document_position(n.body, position_context); + get_document_position(n.else_stmt, position_context); + case When_Stmt: + get_document_position(n.cond, position_context); + get_document_position(n.body, position_context); + get_document_position(n.else_stmt, position_context); + case Return_Stmt: + get_document_position(n.results, position_context); + case Defer_Stmt: + get_document_position(n.stmt, position_context); + case For_Stmt: + get_document_position(n.label, position_context); + get_document_position(n.init, position_context); + get_document_position(n.cond, position_context); + get_document_position(n.post, position_context); + get_document_position(n.body, position_context); + case Range_Stmt: + get_document_position(n.label, position_context); + get_document_position(n.val0, position_context); + get_document_position(n.val1, position_context); + get_document_position(n.expr, position_context); + get_document_position(n.body, position_context); + case Case_Clause: + get_document_position(n.list, position_context); + get_document_position(n.body, position_context); + case Switch_Stmt: + get_document_position(n.label, position_context); + get_document_position(n.init, position_context); + get_document_position(n.cond, position_context); + get_document_position(n.body, position_context); + case Type_Switch_Stmt: + get_document_position(n.label, position_context); + get_document_position(n.tag, position_context); + get_document_position(n.expr, position_context); + get_document_position(n.body, position_context); + case Branch_Stmt: + get_document_position(n.label, position_context); + case Using_Stmt: + get_document_position(n.list, position_context); + case Bad_Decl: + case Value_Decl: + get_document_position(n.attributes, position_context); + get_document_position(n.names, position_context); + get_document_position(n.type, position_context); + get_document_position(n.values, position_context); + case Package_Decl: + case Import_Decl: + case Foreign_Block_Decl: + get_document_position(n.attributes, position_context); + get_document_position(n.foreign_library, position_context); + get_document_position(n.body, position_context); + case Foreign_Import_Decl: + get_document_position(n.name, position_context); + case Proc_Group: + get_document_position(n.args, position_context); + case Attribute: + get_document_position(n.elems, position_context); + case Field: + get_document_position(n.names, position_context); + get_document_position(n.type, position_context); + get_document_position(n.default_value, position_context); + case Field_List: + get_document_position(n.list, position_context); + case Typeid_Type: + get_document_position(n.specialization, position_context); + case Helper_Type: + get_document_position(n.type, position_context); + case Distinct_Type: + get_document_position(n.type, position_context); + case Opaque_Type: + get_document_position(n.type, position_context); + case Poly_Type: + get_document_position(n.type, position_context); + get_document_position(n.specialization, position_context); + case Proc_Type: + get_document_position(n.params, position_context); + get_document_position(n.results, position_context); + case Pointer_Type: + get_document_position(n.elem, position_context); + case Array_Type: + get_document_position(n.len, position_context); + get_document_position(n.elem, position_context); + case Dynamic_Array_Type: + get_document_position(n.elem, position_context); + case Struct_Type: + get_document_position(n.poly_params, position_context); + get_document_position(n.align, position_context); + get_document_position(n.fields, position_context); + case Union_Type: + get_document_position(n.poly_params, position_context); + get_document_position(n.align, position_context); + get_document_position(n.variants, position_context); + case Enum_Type: + get_document_position(n.base_type, position_context); + get_document_position(n.fields, position_context); + case Bit_Field_Type: + get_document_position(n.fields, position_context); + case Bit_Set_Type: + get_document_position(n.elem, position_context); + get_document_position(n.underlying, position_context); + case Map_Type: + get_document_position(n.key, position_context); + get_document_position(n.value, position_context); + case: + fmt.panicf("Unhandled node kind: %T", n); + } }
\ No newline at end of file |