📄 trafo.c
字号:
case kstatement:/* line 127 "java.puma" */ return get_objects (t->statement.next, get_objects (t->statement.statement, o)); case knostatement:/* line 130 "java.puma" */ return o; case kvar_decl_stmt:/* line 133 "java.puma" */ t = t->var_decl_stmt.decl_list; goto yyRecursion; case ktype_decl_stmt:/* line 136 "java.puma" */ t = t->type_decl_stmt.type_decl; goto yyRecursion; case kif_stmt: case kif_else_stmt:/* line 139 "java.puma" */ t = t->if_stmt.then; goto yyRecursion; case kwhile_stmt:/* line 145 "java.puma" */ t = t->while_stmt.statement; goto yyRecursion; case kdo_stmt:/* line 148 "java.puma" */ t = t->do_stmt.statement; goto yyRecursion; case ksynchronized_stmt:/* line 151 "java.puma" */ t = t->synchronized_stmt.statement; goto yyRecursion; case klabeled_stmt:/* line 154 "java.puma" */ { { register tTree yyV1; yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yobject,MakeTree,yyV1,kobject,Tree_InitHead) yyV1->object.object = t; yyV1->object.ident = t->labeled_stmt.ident; yyV1->object.next = o; begintTree (yyV1->object.collision) return get_objects (t->labeled_stmt.statement, yyV1); } } case ktry_stmt:/* line 157 "java.puma" */ return get_objects (t->try_stmt.finally, get_objects (t->try_stmt.statement, o)); case kswitch_stmt:/* line 160 "java.puma" */ t = t->switch_stmt.switch_list; goto yyRecursion; case kstatement_c: case kcompound_stmt: case kexpression_stmt: case kbreak_stmt: case kbreak_id_stmt: case kcontinue_stmt: case kcontinue_id_stmt: case kreturn_stmt: case kreturn_expr_stmt: case kfor_stmt: case kthrow_stmt: case knull_stmt:/* line 163 "java.puma" */ return o; case kswitch_:/* line 166 "java.puma" */ return get_objects (t->switch_.next, get_objects (t->switch_.statement_list, o)); case knoswitch:/* line 169 "java.puma" */ return o; } yyAbort ("get_objects"); return 0;}static void use_object#if defined __STDC__ | defined __cplusplus(register tTree yyP11)#else(yyP11) register tTree yyP11;#endif{ if (yyP11->Kind == kident) { if (yyP11->ident.object->Kind == knoobject) {/* line 177 "java.puma" */ {/* line 178 "java.puma" */ put_cross_ref (no_of_args >= 0 ? PAF_REF_TO_MBR_FUNC : PAF_REF_TO_MBR_VAR, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, "?", GetCStr (yyP11->ident.ident), null, current_file, (int) yyP11->ident.pos . Line, acc); } return; } if (yyP11->ident.object->Kind == kobject) { switch (yyP11->ident.object->object.object->Kind) { case kparameter:/* line 183 "java.puma" */ {/* line 185 "java.puma" */ put_cross_ref (PAF_REF_TO_LOCAL_VAR, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_LOCAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, null, GetCStr (yyP11->ident.ident), null, current_file, (int) yyP11->ident.pos . Line, acc); } return; case kvariable:/* line 189 "java.puma" */ {/* line 191 "java.puma" */ if (! (yyP11->ident.object->object.object->variable.env -> Kind == kenv2 && Tree_IsType (yyP11->ident.object->object.object->variable.env -> env2 . env1 -> env . object, ktype_decl))) goto yyL3; {/* line 192 "java.puma" */ put_cross_ref (PAF_REF_TO_MBR_VAR, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, get_class_name (yyP11->ident.object->object.object->variable.env), GetCStr (yyP11->ident.ident), null, current_file, (int) yyP11->ident.pos . Line, acc); } } return;yyL3:;/* line 196 "java.puma" */ {/* line 198 "java.puma" */ put_cross_ref (PAF_REF_TO_LOCAL_VAR, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_LOCAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, null, GetCStr (yyP11->ident.ident), null, current_file, (int) yyP11->ident.pos . Line, acc); } return; case klabeled_stmt:/* line 202 "java.puma" */ {/* line 204 "java.puma" */ put_cross_ref (PAF_REF_TO_CONSTANT, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_LOCAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, null, GetCStr (yyP11->ident.ident), null, current_file, (int) yyP11->ident.pos . Line, PAF_REF_READ); } return; case kfunction: case kmethod: case kconstructor:/* line 208 "java.puma" */ {/* line 210 "java.puma" */ to_types (yyP11->ident.object->object.object->function.decl_list, ref_arg_types);/* line 211 "java.puma" */ put_cross_ref (PAF_REF_TO_MBR_FUNC, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, get_class_name (yyP11->ident.object->object.object->function.env), GetCStr (yyP11->ident.ident), ref_arg_types, current_file, (int) yyP11->ident.pos . Line, acc); } return; case ktype_decl: case kclass: case kinterface:/* line 215 "java.puma" */ {/* line 217 "java.puma" */ put_cross_ref (PAF_REF_TO_CLASS, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, null, GetCStr (yyP11->ident.ident), null, current_file, (int) yyP11->ident.pos . Line, acc); } return; case kident:/* line 221 "java.puma" */ {/* line 225 "java.puma" */ put_cross_ref (PAF_REF_TO_CLASS, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, null, GetCStr (yyP11->ident.ident), null, current_file, (int) yyP11->ident.pos . Line, PAF_REF_READ); } return; case kqualification:/* line 221 "java.puma" */ {/* line 225 "java.puma" */ put_cross_ref (PAF_REF_TO_CLASS, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, null, GetCStr (yyP11->ident.ident), null, current_file, (int) yyP11->ident.pos . Line, PAF_REF_READ); } return; } } } if (yyP11->Kind == kqualification) { if (yyP11->qualification.object->Kind == knoobject) { if (yyP11->qualification.qualified_symbol->qualified_symbol.object->Kind == kobject) { if (Tree_IsType (yyP11->qualification.qualified_symbol->qualified_symbol.object->object.object, ktype_decl)) {/* line 229 "java.puma" */ {/* line 232 "java.puma" */ put_cross_ref (no_of_args >= 0 ? PAF_REF_TO_MBR_FUNC : PAF_REF_TO_MBR_VAR, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, GetCStr (yyP11->qualification.qualified_symbol->qualified_symbol.object->object.object->type_decl.ident), GetCStr (yyP11->qualification.ident), null, current_file, (int) yyP11->qualification.pos . Line, acc); } return; } if (Tree_IsType (yyP11->qualification.qualified_symbol->qualified_symbol.object->object.object, kdecl)) { if (yyP11->qualification.qualified_symbol->qualified_symbol.object->object.object->decl.type->Kind == knamed_type) {/* line 237 "java.puma" */ {/* line 241 "java.puma" */ to_types (yyP11->qualification.qualified_symbol->qualified_symbol.object->object.object->decl.type->named_type.qualified_symbol, ref_class);/* line 242 "java.puma" */ put_cross_ref (no_of_args >= 0 ? PAF_REF_TO_MBR_FUNC : PAF_REF_TO_MBR_VAR, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, ref_class, GetCStr (yyP11->qualification.ident), null, current_file, (int) yyP11->qualification.pos . Line, acc); } return; } } }/* line 247 "java.puma" */ {/* line 249 "java.puma" */ to_types (yyP11->qualification.qualified_symbol, ref_class);/* line 250 "java.puma" */ put_cross_ref (no_of_args >= 0 ? PAF_REF_TO_MBR_FUNC : PAF_REF_TO_MBR_VAR, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, ref_class, GetCStr (yyP11->qualification.ident), null, current_file, (int) yyP11->qualification.pos . Line, acc); } return; } if (yyP11->qualification.object->Kind == kobject) { if (yyP11->qualification.object->object.object->Kind == kvariable) {/* line 255 "java.puma" */ {/* line 258 "java.puma" */ put_cross_ref (PAF_REF_TO_MBR_VAR, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, get_class_name (yyP11->qualification.object->object.object->variable.env), GetCStr (yyP11->qualification.ident), null, current_file, (int) yyP11->qualification.pos . Line, acc); } return; } if (Tree_IsType (yyP11->qualification.object->object.object, kfunction)) {/* line 262 "java.puma" */ {/* line 265 "java.puma" */ to_types (yyP11->qualification.object->object.object->function.decl_list, ref_arg_types);/* line 266 "java.puma" */ put_cross_ref (PAF_REF_TO_MBR_FUNC, PAF_MBR_FUNC_DEF, PAF_REF_SCOPE_GLOBAL, cur_class_ptr, cur_method_ptr, cur_arg_types_ptr, get_class_name (yyP11->qualification.object->object.object->function.env), GetCStr (yyP11->qualification.ident), ref_arg_types, current_file, (int) yyP11->qualification.pos . Line, acc); } return; } } };}static tString get_class_name#if defined __STDC__ | defined __cplusplus(register tTree yyP12)#else(yyP12) register tTree yyP12;#endif{ yyRecursion: if (yyP12 == NULL) {/* line 273 "java.puma" */ return null; } if (yyP12->Kind == kenv) { if (Tree_IsType (yyP12->env.object, ktype_decl)) {/* line 276 "java.puma" */ return GetCStr (yyP12->env.object->type_decl.ident); } if (yyP12->env.object->Kind == kanonymous) {/* line 279 "java.puma" */ return s_anonymous; } } if (yyP12->Kind == kenv2) {/* line 282 "java.puma" */ yyP12 = yyP12->env2.env1; goto yyRecursion; } yyAbort ("get_class_name"); return 0;}static tString get_class_name_2#if defined __STDC__ | defined __cplusplus(register tTree yyP13)#else(yyP13) register tTree yyP13;#endif{ if (Tree_IsType (yyP13, ktype_decl)) {/* line 288 "java.puma" */ return GetCStr (yyP13->type_decl.ident); } if (yyP13->Kind == kanonymous) {/* line 291 "java.puma" */ return s_anonymous; } yyAbort ("get_class_name_2"); return 0;}static tTree get_current_class#if defined __STDC__ | defined __cplusplus(register tTree yyP14)#else(yyP14) register tTree yyP14;#endif{ yyRecursion: if (yyP14->Kind == kenv) { switch (yyP14->env.object->Kind) { case kcompilation_unit:/* line 297 "java.puma" */ return NULL; case ktype_decl: case kclass: case kinterface:/* line 300 "java.puma" */ return yyP14->env.object; case kanonymous:/* line 303 "java.puma" */ return yyP14->env.object; case kfunction: case kmethod: case kconstructor:/* line 306 "java.puma" */ yyP14 = yyP14->env.object->function.env; goto yyRecursion; case kcompound_stmt:/* line 306 "java.puma" */ yyP14 = yyP14->env.object->compound_stmt.env; goto yyRecursion; case kfor_stmt:/* line 306 "java.puma" */ yyP14 = yyP14->env.object->for_stmt.env; goto yyRecursion; case kcatch:/* line 306 "java.puma" */ yyP14 = yyP14->env.object->catch.env; goto yyRecursion; } } if (yyP14->Kind == kenv2) {/* line 312 "java.puma" */ yyP14 = yyP14->env2.env1; goto yyRecursion; }/* line 315 "java.puma" */ return NULL;}static void Tsuperclass#if defined __STDC__ | defined __cplusplus(register tTree yyP15)#else(yyP15) register tTree yyP15;#endif{ yyRecursion: if (yyP15->Kind == kclass) { if (yyP15->class.extends->Kind == knamed_type) {/* line 321 "java.puma" */ {/* line 322 "java.puma" */ cur_class_ptr = GetCStr (yyP15->class.ident);/* line 323 "java.puma" */ Tclass (yyP15->class.extends->named_type.qualified_symbol);/* line 324 "java.puma" */ if (yyP15->class.extends->named_type.qualified_symbol->qualified_symbol.object != nnoobject && yyP15->class.extends->named_type.qualified_symbol->qualified_symbol.object->object.object->Kind == kclass) yyP15->class.block->field_list.env->env2.env1->env.env = yyP15->class.extends->named_type.qualified_symbol->qualified_symbol.object->object.object->type_decl.block->field_list.env->env2.env1;/* line 328 "java.puma" */ yyP15 = yyP15->class.next; goto yyRecursion; } }/* line 330 "java.puma" */ {/* line 331 "java.puma" */ yyP15 = yyP15->class.next; goto yyRecursion; } } if (yyP15->Kind == kinterface) {/* line 333 "java.puma" */ {/* line 334 "java.puma" */ cur_class_ptr = GetCStr (yyP15->my_interface.ident);/* line 335 "java.puma" */ Tclass (yyP15->my_interface.extends);/* line 336 "java.puma" */ yyP15 = yyP15->my_interface.next; goto yyRecursion; } };}void Traverse#if defined __STDC__ | defined __cplusplus(register tTree yyP16)#else(yyP16) register tTree yyP16;#endif{ yyRecursion: switch (yyP16->Kind) { case kcompilation_unit:/* line 341 "java.puma" */ {/* line 342 "java.puma" */ cur_class_ptr = null;/* line 342 "java.puma" */ cur_method_ptr = null;/* line 342 "java.puma" */ cur_arg_types_ptr = null;/* line 345 "java.puma" */ Tsuperclass (yyP16->compilation_unit.field_list);/* line 346 "java.puma" */ cur_class_ptr = null;/* line 346 "java.puma" */ cur_method_ptr = null;/* line 346 "java.puma" */ cur_arg_types_ptr = null;/* line 347 "java.puma" */ yyP16 = yyP16->compilation_unit.field_list; goto yyRecursion; } case kimport: case kimport_asterisk:/* line 349 "java.puma" */ {/* line 350 "java.puma" */ Tclass (yyP16->import.qualified_symbol);/* line 351 "java.puma" */ yyP16 = yyP16->import.next; goto yyRecursion; } case kclass:/* line 353 "java.puma" */ { tString prev_class; {/* line 354 "java.puma" *//* line 354 "java.puma" */ prev_class = cur_class_ptr;/* line 355 "java.puma" */ cur_class_ptr = GetCStr (yyP16->class.ident);/* line 356 "java.puma" */ Tclass (yyP16->class.interfaces);/* line 357 "java.puma" */ Traverse (yyP16->class.block);/* line 358 "java.puma" */ cur_class_ptr = prev_class;/* line 359 "java.puma" */ yyP16 = yyP16->class.next; goto yyRecursion; } } case kinterface:/* line 361 "java.puma" */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -