asar coverage - build #101


src/asar/
File: src/asar/assembleblock.h
Date: 2024-01-19 20:31:24
Lines:
7/7
100.0%
Functions:
1/1
100.0%
Branches:
3/6
50.0%

Line Branch Exec Source
1 #pragma once
2
3 enum { arch_65816, arch_spc700, arch_spc700_inline, arch_superfx };
4 extern int arch;
5
6 bool assemblemapper(char** word, int numwords);
7
8
0/2
✗ Branch 0 not taken.
✗ Branch 1 not taken.
96 struct snes_struct {
9 string parent;
10 int base_end;
11 int struct_size;
12 int object_size;
13 bool is_static;
14 };
15
16 extern assocarr<snes_struct> structs;
17
18
19 struct snes_label {
20 unsigned int pos;
21 bool is_static;
22
23 2286 snes_label()
24 3317 {
25 3297 pos = 0;
26
3/4
✓ Branch 0 taken 11 times.
✓ Branch 1 taken 227 times.
✓ Branch 2 taken 239 times.
✗ Branch 3 not taken.
3317 is_static = false;
27 2286 }
28 };
29
30
31 // RPG Hacker: Really the only purpose of this struct is to support pushtable and pulltable
32 // Also don't know where else to put this, so putting it in this header
33 struct chartabledata {
34 unsigned int table[256];
35 };
36
37 extern chartabledata table;
38
39 106037 struct whiletracker {
40 bool iswhile;
41 int startline;
42 bool cond;
43 bool is_for;
44 string for_variable;
45 string for_var_backup;
46 bool for_has_var_backup;
47 int for_start;
48 int for_end;
49 int for_cur;
50 };
51
52 extern autoarray<whiletracker> whilestatus;
53
54 // 0 - not first block, not in for
55 // 1 - first block
56 // 2 - inside single-line for
57 // 3 - after endfor
58 extern int single_line_for_tracker;
59
60 bool confirmname(const char * name);
61 string posneglabelname(const char ** input, bool define);
62
63 void write1_pick(unsigned int num);
64 void write2(unsigned int num);
65 void write3(unsigned int num);
66 void write4(unsigned int num);
67
68 int read1(int snespos);
69 int read2(int snespos);
70 int read3(int snespos);
71
72 int snestopc_pick(int addr);
73
74 int getlenfromchar(char c);
75
76 snes_label labelval(const char ** rawname, bool define = false);
77 snes_label labelval(char ** rawname, bool define = false);
78 snes_label labelval(string name, bool define = false);
79 bool labelval(const char ** rawname, snes_label * rval, bool define = false);
80 bool labelval(char ** rawname, snes_label * rval, bool define = false);
81 bool labelval(string name, snes_label * rval, bool define = false);
82
83 const char * safedequote(char * str);
84
85 void checkbankcross();
86
87 void initstuff();
88 void finishpass();
89
90 void assembleblock(const char * block, bool isspecialline);
91
92 extern int snespos;
93 extern int realsnespos;
94 extern int startpos;
95 extern int realstartpos;
96
97 extern int bytes;
98
99 extern int numopcodes;
100
101 extern bool warnxkas;
102
103 extern int numif;
104 extern int numtrue;
105
106 extern bool emulatexkas;
107
108 extern int freespaceextra;
109
110 extern assocarr<snes_label> labels;
111
112 extern autoarray<int>* macroposlabels;
113 extern autoarray<int>* macroneglabels;
114 extern autoarray<string>* macrosublabels;
115
116 extern autoarray<string> sublabels;
117 extern string ns;
118 extern autoarray<string> namespace_list;
119
120 extern autoarray<string> includeonce;
121