/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser; import gw.lang.parser.IConstructorFunctionSymbol; import gw.lang.parser.IReducedDynamicFunctionSymbol; import gw.lang.parser.ISymbol; import gw.lang.parser.Keyword; import gw.lang.reflect.FunctionType; import gw.lang.reflect.IConstructorInfo; /** */ public class SuperConstructorFunctionSymbol extends DynamicFunctionSymbol implements IConstructorFunctionSymbol { public SuperConstructorFunctionSymbol( DynamicFunctionSymbol dfs ) { super( dfs ); setName( getSignatureName( getDisplayName() ) ); } public ISymbol getLightWeightReference() { return this; } public String getDisplayName() { return Keyword.KW_super.toString(); } @Override public IConstructorInfo getConstructorInfo() { return getGosuClass().getTypeInfo().getConstructor( ((FunctionType)getType()).getParameterTypes() ); } public IReducedDynamicFunctionSymbol createReducedSymbol() { return new ReducedSuperConstructorFunctionSymbol(this); } }