ID mirrors the overload signature and provides a unique id which may be referenced within the type-checker and interpreter to optimize performance. The ID format is usually one of two styles: global: _ _ member: _ _ _
()
| 640 | // global: <functionName>_<argType>_<argTypeN> |
| 641 | // member: <memberType>_<functionName>_<argType>_<argTypeN> |
| 642 | func (o *OverloadDecl) ID() string { |
| 643 | if o == nil { |
| 644 | return "" |
| 645 | } |
| 646 | return o.id |
| 647 | } |
| 648 | |
| 649 | // ArgTypes contains the set of argument types expected by the overload. |
| 650 | // |