/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.lang.ir.statement;
import gw.lang.UnstableAPI;
import gw.lang.ir.IRAnnotation;
import gw.lang.ir.IRStatement;
import gw.lang.ir.IRType;
import java.util.Collections;
import java.util.List;
@UnstableAPI
public class IRFieldDecl extends IRStatement {
private int _modifiers;
private String _name;
private IRType _type;
private Object _value;
private List<IRAnnotation> _annotations = Collections.emptyList();
public IRFieldDecl( int modifiers, String name, IRType type, Object value ) {
_modifiers = modifiers;
_name = name;
_type = maybeEraseStructuralType( type );
_value = value;
}
public int getModifiers() {
return _modifiers;
}
public String getName() {
return _name;
}
public IRType getType() {
return _type;
}
public Object getValue() {
return _value;
}
@Override
public IRTerminalStatement getLeastSignificantTerminalStatement() {
return null;
}
public void setAnnotations( List<IRAnnotation> irAnnotations )
{
_annotations = irAnnotations;
}
public List<IRAnnotation> getAnnotations()
{
return _annotations;
}
}