import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
import org.eclipse.linuxtools.ctf.core.event.types.Definition;
import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
byb.put((byte) i);
}
BitBuffer bb = new BitBuffer(byb);
- Definition fieldDef = sd.createDefinition(structDef, "fff-fffield", bb);
+ IDefinition fieldDef = sd.createDefinition(structDef, "fff-fffield", bb);
assertNotNull(fieldDef);
}
final StringDeclaration elemType = new StringDeclaration();
byte[] bytes = { 'T', 'e', 's', 't', '\0' };
ByteBuffer bb = testMemory(ByteBuffer.wrap(bytes));
- Definition fieldDef = elemType.createDefinition(null, fieldName, new BitBuffer(bb));
+ IDefinition fieldDef = elemType.createDefinition(null, fieldName, new BitBuffer(bb));
assertNotNull(fieldDef);
}
import java.io.File;
import java.io.FilenameFilter;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
import org.eclipse.linuxtools.ctf.core.trace.CTFStream;
*/
@Test
public void testLookupDefinition() {
- Definition result = fixture.lookupDefinition("id");
+ IDefinition result = fixture.lookupDefinition("id");
assertNull(result);
}
import java.util.UUID;
import org.eclipse.linuxtools.ctf.core.event.CTFClock;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
@Test
public void testLookupDefinition() {
String lookupPath = "trace.packet.header";
- Definition result = fixture.lookupDefinition(lookupPath);
+ IDefinition result = fixture.lookupDefinition(lookupPath);
assertNotNull(result);
}
import org.eclipse.linuxtools.ctf.core.event.types.Definition;
import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
@Test
public void testgetElem_noDefs() {
int i = 0;
- Definition result = charArrayFixture.getDefinitions().get(i);
+ IDefinition result = charArrayFixture.getDefinitions().get(i);
assertNotNull(result);
}
ArrayDefinition ad = new ArrayDefinition((CompoundDeclaration) charArrayFixture.getDeclaration(), definitionScope, "test", defs);
int j = 1;
- Definition result = ad.getDefinitions().get(j);
+ IDefinition result = ad.getDefinitions().get(j);
assertNotNull(result);
}
import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
import org.eclipse.linuxtools.ctf.core.event.types.Definition;
import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
import org.junit.Test;
*/
@Test
public void testToString() {
- Definition fixture = new DefTest(null, "Hello");
+ IDefinition fixture = new DefTest(null, "Hello");
String result = fixture.toString();
assertNotNull(result);
import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
import org.eclipse.linuxtools.ctf.core.event.types.Definition;
import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
@Test
public void testGetElem() {
int i = 1;
- Definition result = fixture.getDefinitions().get(i);
+ IDefinition result = fixture.getDefinitions().get(i);
assertNotNull(result);
}
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
*/
@Test
public void testGetDefinitions_1() {
- Definition result = fixture.getDefinition("_id");
+ IDefinition result = fixture.getDefinition("_id");
assertNotNull(result);
}
@Test
public void testLookupDefinition() {
String lookupPath = "args";
- Definition result = fixture.lookupDefinition(lookupPath);
+ IDefinition result = fixture.lookupDefinition(lookupPath);
assertNotNull(result);
}
import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.FloatDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
*/
@Test
public void testGetCurrentField() {
- Definition result = fixture.getCurrentField();
+ IDefinition result = fixture.getCurrentField();
assertNotNull(result);
}
*/
@Test
public void testGetDefinitions() {
- Definition result = fixture.getCurrentField();
+ IDefinition result = fixture.getCurrentField();
assertNotNull(result);
}
*/
@Test
public void testLookupDefinition() {
- Definition result = fixture.lookupDefinition(ENUM_1);
+ IDefinition result = fixture.lookupDefinition(ENUM_1);
assertNotNull(result);
assertEquals("a", ((EnumDefinition) result).getStringValue());
}
* @author Matthew Khouzam
* @author Simon Marchi
*/
-public abstract class Definition {
+public abstract class Definition implements IDefinition {
// ------------------------------------------------------------------------
// Attributes
private final String fFieldName;
/** The complete path of this field */
- private final LexicalScope fPath;
+ private final @NonNull LexicalScope fPath;
private final IDefinitionScope fDefinitionScope;
return fFieldName;
}
- /**
- * Get the complete path of this field.
- *
- * @return The path
- * @since 3.0
- */
+ @Override
public LexicalScope getScopePath() {
return fPath;
}
// Operations
// ------------------------------------------------------------------------
- /**
- *
- * @return gets the declaration of a datatype
- *
- */
- @NonNull
+ @Override
public IDeclaration getDeclaration() {
return fDeclaration;
}
* @return the path of the definition
* @since 3.0
*/
- public LexicalScope getPath(IDefinitionScope definitionScope, @NonNull String fieldName);
+ public @NonNull LexicalScope getPath(IDefinitionScope definitionScope, @NonNull String fieldName);
/**
* The minimum alignment. if the field is 32 bits, the definition will pad
--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2014 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Matthew Khouzam - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.ctf.core.event.types;
+
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
+
+/**
+ * Interface for data definitions. A definition is when a value is given to a
+ * declaration
+ *
+ * @author Matthew Khouzam
+ * @since 3.1
+ */
+@NonNullByDefault
+public interface IDefinition {
+
+ /**
+ * Get the complete path of this field.
+ *
+ * @return The path
+ */
+ LexicalScope getScopePath();
+
+ /**
+ * Get the declaration of this definition
+ *
+ * @return the declaration of a datatype
+ */
+ IDeclaration getDeclaration();
+
+}
\ No newline at end of file
import org.eclipse.linuxtools.ctf.core.event.types.Definition;
import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.FloatDefinition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
for (String field : streamPacketContextDef.getDeclaration()
.getFieldsList()) {
- Definition id = streamPacketContextDef.lookupDefinition(field);
+ IDefinition id = streamPacketContextDef.lookupDefinition(field);
if (id instanceof IntegerDefinition) {
packetIndex.addAttribute(field,
((IntegerDefinition) id).getValue());
import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
import org.eclipse.linuxtools.ctf.core.event.types.Definition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.SimpleDatatypeDefinition;
fCurrentStreamEventHeaderDef = getStreamEventHeaderDefinition(currentBitBuffer);
/* Check for the event id. */
- Definition idDef = fCurrentStreamEventHeaderDef.lookupDefinition("id"); //$NON-NLS-1$
+ IDefinition idDef = fCurrentStreamEventHeaderDef.lookupDefinition("id"); //$NON-NLS-1$
if (idDef instanceof SimpleDatatypeDefinition) {
eventID = ((SimpleDatatypeDefinition) idDef).getIntegerValue();
} else if (idDef != null) {
} // else timestamp remains 0
/* Check for the variant v. */
- Definition variantDef = fCurrentStreamEventHeaderDef.lookupDefinition("v"); //$NON-NLS-1$
+ IDefinition variantDef = fCurrentStreamEventHeaderDef.lookupDefinition("v"); //$NON-NLS-1$
if (variantDef instanceof VariantDefinition) {
/* Get the variant current field */
* Try to get the id field in the current field of the variant.
* If it is present, it overrides the previously read event id.
*/
- Definition idIntegerDef = variantCurrentField.lookupDefinition("id"); //$NON-NLS-1$
+ IDefinition idIntegerDef = variantCurrentField.lookupDefinition("id"); //$NON-NLS-1$
if (idIntegerDef instanceof IntegerDefinition) {
eventID = ((IntegerDefinition) idIntegerDef).getValue();
}
* Get the timestamp. This would overwrite any previous
* timestamp definition
*/
- Definition def = variantCurrentField.lookupDefinition("timestamp"); //$NON-NLS-1$
+ IDefinition def = variantCurrentField.lookupDefinition("timestamp"); //$NON-NLS-1$
if (def instanceof IntegerDefinition) {
timestamp = calculateTimestamp((IntegerDefinition) def);
}
import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
import org.eclipse.linuxtools.ctf.core.event.types.Definition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
}
/* Check UUID */
- Definition lookupDefinition = fPacketHeaderDef.lookupDefinition("uuid"); //$NON-NLS-1$
+ IDefinition lookupDefinition = fPacketHeaderDef.lookupDefinition("uuid"); //$NON-NLS-1$
ArrayDefinition uuidDef = (ArrayDefinition) lookupDefinition;
if (uuidDef != null) {
UUID otheruuid = Utils.getUUIDfromDefinition(uuidDef);
}
/* Read the stream ID */
- Definition streamIDDef = fPacketHeaderDef.lookupDefinition("stream_id"); //$NON-NLS-1$
+ IDefinition streamIDDef = fPacketHeaderDef.lookupDefinition("stream_id"); //$NON-NLS-1$
if (streamIDDef instanceof IntegerDefinition) { // this doubles as a
// null check
import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.Definition;
import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
@Override
public AbstractArrayDefinition createDefinition(
IDefinitionScope definitionScope, String fieldName, BitBuffer input) throws CTFReaderException {
- Definition lenDef = null;
+ IDefinition lenDef = null;
if (definitionScope != null) {
lenDef = definitionScope.lookupDefinition(getLengthName());
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.FloatDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.FloatDefinition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
@Test
public void testParseField_float() {
FloatDefinition fieldDef = (FloatDefinition) fixture.lookupDefinition(FLOAT);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, "_" + NAME);
+ CtfTmfEventField result = CtfTmfEventField.parseField((IDefinition)fieldDef, "_" + NAME);
assertEquals("test=2.0", result.toString());
}
*/
@Test
public void testParseField_array_float() {
- Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_FLOAT);
+ IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_FLOAT);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=[2.0, 2.0]", result.toString());
}
*/
@Test
public void testParseField_int() {
- Definition fieldDef = fixture.lookupDefinition(INT);
+ IDefinition fieldDef = fixture.lookupDefinition(INT);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=2", result.toString());
}
*/
@Test
public void testParseField_array_int() {
- Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_INT);
+ IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_INT);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=[2, 2]", result.toString());
}
*/
@Test
public void testParseField_sequence() {
- Definition fieldDef = fixture.lookupDefinition(SEQ);
+ IDefinition fieldDef = fixture.lookupDefinition(SEQ);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=[2, 2]", result.toString());
}
*/
@Test
public void testParseField_sequence_value() {
- Definition fieldDef = fixture.lookupDefinition(SEQ);
+ IDefinition fieldDef = fixture.lookupDefinition(SEQ);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
long[] values = (long[]) result.getValue();
long[] expected = new long[] { 2, 2 };
*/
@Test
public void testParseField_string() {
- Definition fieldDef = fixture.lookupDefinition(STR);
+ IDefinition fieldDef = fixture.lookupDefinition(STR);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=two", result.toString());
}
*/
@Test
public void testParseField_array_string() {
- Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_STR);
+ IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_STR);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=[two, two]", result.toString());
}
*/
@Test
public void testParseField_struct() {
- Definition fieldDef = fixture.lookupDefinition(STRUCT);
+ IDefinition fieldDef = fixture.lookupDefinition(STRUCT);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=[str=two, int=2]", result.toString());
}
*/
@Test
public void testParseField_array_struct() {
- Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_STRUCT);
+ IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_STRUCT);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=[[str=two, int=2], [str=two, int=2]]", result.toString());
}
*/
@Test
public void testParseField_enum() {
- Definition fieldDef = fixture.lookupDefinition(ENUM);
+ IDefinition fieldDef = fixture.lookupDefinition(ENUM);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=float", result.toString());
}
*/
@Test
public void testParseField_array_enum() {
- Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_ENUM);
+ IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_ENUM);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=[float, float]", result.toString());
}
*/
@Test
public void testParseField_variant() {
- Definition fieldDef = fixture.lookupDefinition(VARIANT);
+ IDefinition fieldDef = fixture.lookupDefinition(VARIANT);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=float=2.0", result.toString());
}
*/
@Test
public void testParseField_array_variant() {
- Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_VARIANT);
+ IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_VARIANT);
CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
assertEquals("test=[float=2.0, float=2.0]", result.toString());
}
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.0.0.qualifier
+Bundle-Version: 3.1.0.qualifier
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.linuxtools.tmf.ctf.core;singleton:=true
Bundle-Activator: org.eclipse.linuxtools.internal.tmf.ctf.core.Activator
</parent>
<artifactId>org.eclipse.linuxtools.tmf.ctf.core</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.1.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<name>CTF support for TMF Core Plug-in</name>
import org.eclipse.linuxtools.ctf.core.event.CTFCallsite;
import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
import org.eclipse.linuxtools.tmf.core.event.ITmfCustomAttributes;
if (structFields != null) {
if (structFields.getFieldNames() != null) {
for (String curFieldName : structFields.getFieldNames()) {
- fields.add(CtfTmfEventField.parseField(structFields.getDefinition(curFieldName), curFieldName));
+ fields.add(CtfTmfEventField.parseField((IDefinition)structFields.getDefinition(curFieldName), curFieldName));
}
}
}
for (String contextName : structContext.getFieldNames()) {
/* Prefix field name */
String curContextName = CtfConstants.CONTEXT_FIELD_PREFIX + contextName;
- fields.add(CtfTmfEventField.parseField(structContext.getDefinition(contextName), curContextName));
+ fields.add(CtfTmfEventField.parseField((IDefinition)structContext.getDefinition(contextName), curContextName));
}
}
import org.eclipse.linuxtools.ctf.core.CTFStrings;
import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
/* Handle the special case of lost events */
if (eventDecl.getName().equals(CTFStrings.LOST_EVENT_NAME)) {
- Definition nbLostEventsDef = eventDef.getFields().getDefinition(CTFStrings.LOST_EVENTS_FIELD);
- Definition durationDef = eventDef.getFields().getDefinition(CTFStrings.LOST_EVENTS_DURATION);
+ IDefinition nbLostEventsDef = eventDef.getFields().getDefinition(CTFStrings.LOST_EVENTS_FIELD);
+ IDefinition durationDef = eventDef.getFields().getDefinition(CTFStrings.LOST_EVENTS_DURATION);
if (!(nbLostEventsDef instanceof IntegerDefinition) || !(durationDef instanceof IntegerDefinition)) {
/*
* One or both of these fields doesn't exist, or is not of the
import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.FloatDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
* @param fieldName
* String The name to assign to this field
* @return The resulting CtfTmfEventField object
+ * @deprecated use {@link CtfTmfEventField#parseField(IDefinition, String)}
*/
+ @Deprecated
public static CtfTmfEventField parseField(Definition fieldDef,
String fieldName) {
+ return parseField((IDefinition) fieldDef, fieldName);
+ }
+
+ /**
+ * Factory method to instantiate CtfTmfEventField objects.
+ *
+ * @param fieldDef
+ * The CTF Definition of this event field
+ * @param fieldName
+ * String The name to assign to this field
+ * @return The resulting CtfTmfEventField object
+ * @since 3.1
+ */
+ public static CtfTmfEventField parseField(IDefinition fieldDef,
+ String fieldName) {
CtfTmfEventField field = null;
/* Determine the Definition type */
IntegerDeclaration elemIntType = (IntegerDeclaration) elemType;
long[] values = new long[arrayDef.getLength()];
for (int i = 0; i < arrayDef.getLength(); i++) {
- Definition elem = arrayDef.getDefinitions().get(i);
+ IDefinition elem = arrayDef.getDefinitions().get(i);
if (elem == null) {
break;
}
CtfTmfEventField[] elements = new CtfTmfEventField[arrayDef.getLength()];
/* Parse the elements of the array. */
int i = 0;
- for (Definition definition : definitions) {
+ for (IDefinition definition : definitions) {
CtfTmfEventField curField = CtfTmfEventField.parseField(
definition, fieldName + '[' + i + ']');
elements[i] = curField;
VariantDefinition varDef = (VariantDefinition) fieldDef;
String curFieldName = varDef.getCurrentFieldName();
- Definition curFieldDef = varDef.getCurrentField();
+ IDefinition curFieldDef = varDef.getCurrentField();
if (curFieldDef != null) {
CtfTmfEventField subField = CtfTmfEventField.parseField(curFieldDef, curFieldName);
field = new CTFVariantField(fieldName, subField);