/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser; import gw.internal.gosu.parser.statements.SyntheticFunctionStatement; import gw.lang.reflect.gs.IGosuClass; import gw.lang.parser.ScriptPartId; import gw.lang.reflect.IFunctionType; import gw.lang.reflect.IMethodInfo; import gw.lang.reflect.java.JavaTypes; /** */ public class GosuObjectFunctionSymbol extends DynamicFunctionSymbol { private IMethodInfo _mi; public GosuObjectFunctionSymbol( IGosuClassInternal gsClass, DynamicFunctionSymbol dfs ) { super( dfs.getSymbolTable(), dfs.getDisplayName(), (IFunctionType)dfs.getType(), dfs.getArgs(), new SyntheticFunctionStatement() ); SyntheticFunctionStatement stmt = (SyntheticFunctionStatement)getValueDirectly(); stmt.setDfsOwner( this ); setClassMember( true ); setName( (String)dfs.getName() ); _scriptPartId = new ScriptPartId( gsClass, null ); _mi = JavaTypes.IGOSU_OBJECT().getTypeInfo().getMethod( dfs.getDisplayName(), ((IFunctionType)dfs.getType()).getParameterTypes() ); } public DynamicFunctionSymbol getParameterizedVersion( IGosuClass gsClass ) { return this; } }