Class ParamExpressionSymbol
java.lang.Object
org.ek9lang.compiler.symbols.Symbol
org.ek9lang.compiler.symbols.ParamExpressionSymbol
- All Implemented Interfaces:
Serializable, ISymbol, ISymbolNature, ITokenReference
While we don't add these in the scoped structures when compiling.
We do use these to augment the parse tree for the appropriate context.
We do this so that we can work out what type of result will be returned from an expression.
For this call we need the order list of parameters specifically the types of those parameters.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddParameter(ISymbol symbol) Clone the symbol and re-parent if this symbol like a method should have a parent.protected ParamExpressionSymbolbooleanProvide the name an end user would need to see on the screen.inthashCode()Methods inherited from class Symbol
clearInitialisedBy, cloneIntoSymbol, copySymbolProperties, getAssignableCostTo, getAssignableCostTo, getCategory, getFullyQualifiedName, getGenus, getInitialisedBy, getName, getParsedModule, getProduceFullyQualifiedName, getSourceToken, getSquirrelledData, getSymbolTypeAsString, getType, getUnCoercedAssignableCostTo, isAssignableTo, isAssignableTo, isDevSource, isEk9Core, isExactSameType, isInjectionExpected, isLibSource, isMarkedPure, isMutable, isNullAllowed, isPromotionSupported, isReferenced, putSquirrelledData, setCategory, setEk9Core, setGenus, setInitialisedBy, setInjectionExpected, setMarkedPure, setName, setNotMutable, setNullAllowed, setParsedModule, setProduceFullyQualifiedName, setReferenced, setSourceToken, setType, toStringMethods inherited from interface ISymbol
isDeclaredAsConstant, isExtensionOfInjectable, isFromLiteral, isIncomingParameter, isInitialised, isInjectable, isLoopVariable, isMarkedAbstract, isPrivate, isPropertyField, isProtected, isPublic, isReturningParameter, setTypeMethods inherited from interface ISymbolNature
isApplication, isConceptualTypeParameter, isConstant, isControl, isFunction, isGenericInNature, isMethod, isParameterisedType, isPrimitiveType, isTemplateFunction, isTemplateType, isType, isVariable
-
Constructor Details
-
ParamExpressionSymbol
-
-
Method Details
-
addParameter
-
clone
Description copied from interface:ISymbolClone the symbol and re-parent if this symbol like a method should have a parent. Other symbols like VariableSymbols are un-parented -
cloneIntoStreamPipeLineSymbol
-
getParameters
-
getFriendlyName
Description copied from interface:ISymbolProvide the name an end user would need to see on the screen. Normally this is just 'getName' but in the case of Templates We use a very nasty internal naming for List of SomeClass - which will probably be something like _List_hashed_version_of_ComeClass and the end user needs to see 'List of SomeClass' for it to be meaningful.- Specified by:
getFriendlyNamein interfaceISymbol- Overrides:
getFriendlyNamein classSymbol- Returns:
- a user presentable of the symbol name.
-
equals
-
hashCode
-