Copyright (c) 2015, 2016 Google, Inc and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
Stefan Xenos (Google) - Initial implementation
/*******************************************************************************
* Copyright (c) 2015, 2016 Google, Inc and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Stefan Xenos (Google) - Initial implementation
*******************************************************************************/
package org.eclipse.jdt.internal.core.nd.java;
import org.eclipse.jdt.internal.compiler.impl.Constant;
import org.eclipse.jdt.internal.compiler.impl.DoubleConstant;
import org.eclipse.jdt.internal.core.nd.Nd;
import org.eclipse.jdt.internal.core.nd.field.FieldDouble;
import org.eclipse.jdt.internal.core.nd.field.StructDef;
public final class NdConstantDouble extends NdConstant {
public static final FieldDouble VALUE;
@SuppressWarnings("hiding")
public static StructDef<NdConstantDouble> type;
static {
type = StructDef.create(NdConstantDouble.class, NdConstant.type);
VALUE = type.addDouble();
type.done();
}
public NdConstantDouble(Nd nd, long address) {
super(nd, address);
}
protected NdConstantDouble(Nd nd) {
super(nd);
}
public static NdConstantDouble create(Nd nd, double value) {
NdConstantDouble result = new NdConstantDouble(nd);
result.setValue(value);
return result;
}
public void setValue(double value) {
VALUE.put(getNd(), this.address, value);
}
public double getValue() {
return VALUE.get(getNd(), this.address);
}
@Override
public Constant getConstant() {
return DoubleConstant.fromValue(getValue());
}
}