/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser; import gw.internal.gosu.parser.statements.SyntheticFunctionStatement; import gw.lang.parser.IProgramClassFunctionSymbol; import gw.lang.reflect.gs.IGosuClass; import gw.lang.parser.ISymbolTable; import gw.lang.parser.ScriptPartId; import gw.lang.reflect.IFunctionType; /** */ public class ProgramClassFunctionSymbol extends DynamicFunctionSymbol implements IProgramClassFunctionSymbol { public ProgramClassFunctionSymbol( IGosuClassInternal gsClass, ISymbolTable symTable, GosuMethodInfo mi ) { super( symTable, mi.getDisplayName(), (IFunctionType) mi.getDfs().getType(), ReducedSymbol.makeArgs(mi.getArgs()), new SyntheticFunctionStatement() ); SyntheticFunctionStatement stmt = (SyntheticFunctionStatement)getValueDirectly(); stmt.setDfsOwner( this ); setClassMember( true ); setName( (String)mi.getName() ); _scriptPartId = new ScriptPartId( gsClass, null ); } public DynamicFunctionSymbol getParameterizedVersion( IGosuClass gsClass ) { return this; } }