102
103 <xsl:apply-templates select="value|structvalue|transition_value|relation" mode="write-empty-setters"/>
104 };
105
106 </xsl:template>
107
108
109 <xsl:template match="event" mode="trace">
110 <xsl:value-of select="concat('class Event', @id, ' : public TraceEvent<Event', @id, '>')"/>
111 {
112 public:
113 static const bool hasThread = <xsl:value-of select="@has_thread"/>;
114 static const bool hasStackTrace = <xsl:value-of select="@has_stacktrace"/>;
115 static const bool isInstant = <xsl:value-of select="@is_instant"/>;
116 static const bool isRequestable = <xsl:value-of select="@is_requestable"/>;
117 static const TraceEventId eventId = <xsl:value-of select="concat('Trace', @id, 'Event')"/>;
118
119 private:
120 <xsl:apply-templates select="value|structvalue|transition_value|relation" mode="write-fields"/>
121
122 public:
123 <xsl:apply-templates select="value|structvalue|transition_value|relation" mode="write-setters"/>
124
125 bool should_write(void) {
126 return true;
127 }
128 <xsl:text>
129
130 </xsl:text>
131 <xsl:value-of select="concat(' Event', @id, '(EventStartTime timing=TIMED) : TraceEvent<Event', @id, '>(timing) {}', $newline)"/>
132 void writeEvent(void) {
133 ResourceMark rm;
134 HandleMark hm;
135 TraceStream ts(*tty);
136 ts.print("<xsl:value-of select="@label"/>: [");
137 <xsl:apply-templates select="value|structvalue" mode="write-data"/>
138 ts.print("]\n");
139 }
140 };
141
142 </xsl:template>
143
144 <xsl:template match="value|transition_value|relation" mode="write-empty-setters">
145 <xsl:param name="cls"/>
146 <xsl:variable name="type" select="@type"/>
147 <xsl:variable name="wt" select="//primary_type[@symbol=$type]/@type"/>
148 <xsl:value-of select="concat(' void set_', @field, '(', $wt, ' value) { }')"/>
149 <xsl:if test="position() != last()">
150 <xsl:text>
151 </xsl:text>
152 </xsl:if>
153 </xsl:template>
154
155 <xsl:template match="structvalue" mode="write-empty-setters">
156 <xsl:param name="cls"/>
157 <xsl:value-of select="concat(' void set_', @field, '(const TraceStruct', @type, '& value) { }')"/>
158 <xsl:if test="position() != last()">
159 <xsl:text>
|
102
103 <xsl:apply-templates select="value|structvalue|transition_value|relation" mode="write-empty-setters"/>
104 };
105
106 </xsl:template>
107
108
109 <xsl:template match="event" mode="trace">
110 <xsl:value-of select="concat('class Event', @id, ' : public TraceEvent<Event', @id, '>')"/>
111 {
112 public:
113 static const bool hasThread = <xsl:value-of select="@has_thread"/>;
114 static const bool hasStackTrace = <xsl:value-of select="@has_stacktrace"/>;
115 static const bool isInstant = <xsl:value-of select="@is_instant"/>;
116 static const bool isRequestable = <xsl:value-of select="@is_requestable"/>;
117 static const TraceEventId eventId = <xsl:value-of select="concat('Trace', @id, 'Event')"/>;
118
119 private:
120 <xsl:apply-templates select="value|structvalue|transition_value|relation" mode="write-fields"/>
121
122 void writeEventContent(void) {
123 TraceStream ts(*tty);
124 ts.print("<xsl:value-of select="@label"/>: [");
125 <xsl:apply-templates select="value|structvalue" mode="write-data"/>
126 ts.print("]\n");
127 }
128
129 public:
130 <xsl:apply-templates select="value|structvalue|transition_value|relation" mode="write-setters"/>
131
132 bool should_write(void) {
133 return true;
134 }
135 <xsl:text>
136
137 </xsl:text>
138 <xsl:value-of select="concat(' Event', @id, '(EventStartTime timing=TIMED) : TraceEvent<Event', @id, '>(timing) {}', $newline)"/>
139 void writeEvent(void) {
140 ResourceMark rm;
141 HandleMark hm;
142 if (UseLockedTracing) {
143 ttyLocker lock;
144 writeEventContent();
145 } else {
146 writeEventContent();
147 }
148 }
149
150 };
151
152 </xsl:template>
153
154 <xsl:template match="value|transition_value|relation" mode="write-empty-setters">
155 <xsl:param name="cls"/>
156 <xsl:variable name="type" select="@type"/>
157 <xsl:variable name="wt" select="//primary_type[@symbol=$type]/@type"/>
158 <xsl:value-of select="concat(' void set_', @field, '(', $wt, ' value) { }')"/>
159 <xsl:if test="position() != last()">
160 <xsl:text>
161 </xsl:text>
162 </xsl:if>
163 </xsl:template>
164
165 <xsl:template match="structvalue" mode="write-empty-setters">
166 <xsl:param name="cls"/>
167 <xsl:value-of select="concat(' void set_', @field, '(const TraceStruct', @type, '& value) { }')"/>
168 <xsl:if test="position() != last()">
169 <xsl:text>
|