/*******************************************************************************
* Copyright (c) 2015 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
*******************************************************************************/
package org.eclipse.tracecompass.internal.ctf.core.event.metadata.tsdl.environment;
import java.util.List;
import java.util.Map;
import org.antlr.runtime.tree.CommonTree;
import org.eclipse.tracecompass.internal.ctf.core.event.metadata.ICommonTreeParser;
import com.google.common.collect.ImmutableMap;
/**
* A scope containing pairs of values that are immutable to the trace.
*
* @author Matthew Khouzam - Initial API and implementation
*
*/
public final class EnvironmentParser implements ICommonTreeParser {
/**
* The instance
*/
public static final EnvironmentParser INSTANCE = new EnvironmentParser();
private EnvironmentParser() {
}
@Override
public Map<String, String> parse(CommonTree environment, ICommonTreeParserParameter param) {
ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<>();
List<CommonTree> children = environment.getChildren();
for (CommonTree child : children) {
String left;
String right;
left = child.getChild(0).getChild(0).getChild(0).getText();
right = child.getChild(1).getChild(0).getChild(0).getText();
builder.put(left, right);
}
return builder.build();
}
}