/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.internal.gosu.parser;
import gw.internal.gosu.parser.statements.MethodCallStatement;
import gw.lang.parser.IConstructorFunctionSymbol;
import gw.lang.parser.IReducedDynamicFunctionSymbol;
import gw.lang.parser.ISymbol;
import gw.lang.parser.Keyword;
import gw.lang.reflect.IConstructorInfo;
public class ThisConstructorFunctionSymbol extends DynamicFunctionSymbol implements IConstructorFunctionSymbol
{
private DynamicFunctionSymbol _dfsDelegate;
public ThisConstructorFunctionSymbol( DynamicFunctionSymbol dfsDelegate )
{
super( dfsDelegate );
_dfsDelegate = dfsDelegate;
setName( getSignatureName( getDisplayName() ) );
}
public ISymbol getLightWeightReference()
{
return this;
}
public String getDisplayName()
{
return Keyword.KW_this.toString();
}
public MethodCallStatement getInitializer()
{
return _dfsDelegate.getInitializer();
}
@Override
public IConstructorInfo getConstructorInfo() {
return (IConstructorInfo) _dfsDelegate.getMethodOrConstructorInfo();
}
public IReducedDynamicFunctionSymbol createReducedSymbol() {
return new ReducedThisConstructorFunctionSymbol(this);
}
public DynamicFunctionSymbol getDelegate() {
return _dfsDelegate;
}
}