/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser; import gw.internal.gosu.parser.statements.SyntheticFunctionStatement; import gw.lang.reflect.FunctionType; import gw.lang.reflect.gs.IGosuClass; import gw.lang.parser.ISymbol; import gw.lang.parser.ISymbolTable; import gw.lang.parser.ScriptPartId; import gw.lang.reflect.gs.ICompilableType; import gw.lang.reflect.IType; import java.util.Collections; /** */ public class VarPropertyGetFunctionSymbol extends DynamicFunctionSymbol { private String _varIdentifier; public VarPropertyGetFunctionSymbol( ICompilableType gsClass, ISymbolTable symTable, String strProperty, String strVarIdentifier, IType varType ) { super( symTable, '@' + strProperty, new FunctionType( '@' + strProperty, varType, null ), Collections.<ISymbol>emptyList(), new SyntheticFunctionStatement() ); SyntheticFunctionStatement stmt = (SyntheticFunctionStatement)getValueDirectly(); stmt.setDfsOwner( this ); _scriptPartId = new ScriptPartId( gsClass, null ); _varIdentifier = strVarIdentifier; } public String getVarIdentifier() { return _varIdentifier; } public DynamicFunctionSymbol getParameterizedVersion( IGosuClass gsClass ) { return this; } }