@@ -295,7 +295,7 @@ private static void ApplyDefaultFunction(FunctionEntity baseEntity, Entity targe
295295 break ;
296296 case EntityVariant . ALIAS :
297297 AliasEntity aliasEntity = ( AliasEntity ) entity ;
298- Entity aliasedEntity = aliasEntity . alias . GetPointedEntity ( _commands ) ;
298+ Entity aliasedEntity = aliasEntity . alias . GetPointedEntity ( _commands , composite ) ;
299299 if ( aliasedEntity != null )
300300 parameters . AddRange ( GetAllParameters ( aliasedEntity , composite ) ) ;
301301 break ;
@@ -398,11 +398,11 @@ private static void ApplyDefaultFunction(FunctionEntity baseEntity, Entity targe
398398 }
399399
400400 /* Get metadata about a parameter on an entity: variant, type, and function/composite that implements (if applicable) */
401- public static ( ParameterVariant ? , DataType ? , ShortGuid ) GetParameterMetadata ( Entity entity , string parameter )
401+ public static ( ParameterVariant ? , DataType ? , ShortGuid ) GetParameterMetadata ( Entity entity , string parameter , Composite composite )
402402 {
403- return GetParameterMetadata ( entity , ShortGuidUtils . Generate ( parameter ) ) ;
403+ return GetParameterMetadata ( entity , ShortGuidUtils . Generate ( parameter ) , composite ) ;
404404 }
405- public static ( ParameterVariant ? , DataType ? , ShortGuid ) GetParameterMetadata ( Entity entity , ShortGuid parameter )
405+ public static ( ParameterVariant ? , DataType ? , ShortGuid ) GetParameterMetadata ( Entity entity , ShortGuid parameter , Composite composite )
406406 {
407407 switch ( entity . variant )
408408 {
@@ -435,18 +435,18 @@ public static (ParameterVariant?, DataType?, ShortGuid) GetParameterMetadata(Ent
435435 functionType = GetInheritedFunction ( functionType . Value ) ;
436436 if ( functionType == null ) break ;
437437 }
438- Composite composite = _commands . GetComposite ( functionEntity . function ) ;
439- if ( composite != null )
438+ Composite compositeInstance = _commands . GetComposite ( functionEntity . function ) ;
439+ if ( compositeInstance != null )
440440 {
441- VariableEntity var = composite . variables . FirstOrDefault ( o => o . name == parameter ) ;
441+ VariableEntity var = compositeInstance . variables . FirstOrDefault ( o => o . name == parameter ) ;
442442 if ( var != null )
443443 {
444- CompositePinInfoTable . PinInfo info = CompositeUtils . GetParameterInfo ( composite , var ) ;
444+ CompositePinInfoTable . PinInfo info = CompositeUtils . GetParameterInfo ( compositeInstance , var ) ;
445445 if ( info == null )
446- return ( ParameterVariant . PARAMETER , var . type , composite . shortGUID ) ;
446+ return ( ParameterVariant . PARAMETER , var . type , compositeInstance . shortGUID ) ;
447447 else
448448 {
449- return ( CompositeUtils . PinTypeToParameterVariant ( info . PinTypeGUID ) , var . type , composite . shortGUID ) ;
449+ return ( CompositeUtils . PinTypeToParameterVariant ( info . PinTypeGUID ) , var . type , compositeInstance . shortGUID ) ;
450450 }
451451 }
452452 }
@@ -466,14 +466,14 @@ public static (ParameterVariant?, DataType?, ShortGuid) GetParameterMetadata(Ent
466466 ProxyEntity proxyEntity = ( ProxyEntity ) entity ;
467467 Entity proxiedEntity = proxyEntity . proxy . GetPointedEntity ( _commands ) ;
468468 if ( proxiedEntity != null )
469- return GetParameterMetadata ( proxiedEntity , parameter ) ;
469+ return GetParameterMetadata ( proxiedEntity , parameter , composite ) ;
470470 break ;
471471 }
472472 case EntityVariant . ALIAS :
473473 AliasEntity aliasEntity = ( AliasEntity ) entity ;
474- Entity aliasedEntity = aliasEntity . alias . GetPointedEntity ( _commands ) ;
474+ Entity aliasedEntity = aliasEntity . alias . GetPointedEntity ( _commands , composite ) ;
475475 if ( aliasedEntity != null )
476- return GetParameterMetadata ( aliasedEntity , parameter ) ;
476+ return GetParameterMetadata ( aliasedEntity , parameter , composite ) ;
477477 break ;
478478 }
479479 return ( null , null , ShortGuid . Invalid ) ;
@@ -683,7 +683,7 @@ public static ParameterData CreateDefaultParameterData(Entity entity, Composite
683683 }
684684 case EntityVariant . ALIAS :
685685 AliasEntity aliasEntity = ( AliasEntity ) entity ;
686- Entity aliasedEntity = aliasEntity . alias . GetPointedEntity ( _commands , out Composite aliasedComposite ) ;
686+ Entity aliasedEntity = aliasEntity . alias . GetPointedEntity ( _commands , composite , out Composite aliasedComposite ) ;
687687 if ( aliasedEntity != null )
688688 return CreateDefaultParameterData ( aliasedEntity , aliasedComposite , parameter ) ;
689689 break ;
0 commit comments