// Inject into $get factory functions // Improves type information for the returned provider // this.$get = [ '$cacheFactory', function($cacheFactory) { ... private void ProcessInjectionIntoProviderGet(ISimpleAssignmentExpression simpleAssignmentExpression) { if (IsAssignmentToGet(simpleAssignmentExpression)) { var factoryFunction = GetFactoryFunction(simpleAssignmentExpression.Source); if (factoryFunction == null) { return; } ProcessServiceInjection(simpleAssignmentExpression.Source, factoryFunction); } }
public override void VisitSimpleAssignmentExpression(ISimpleAssignmentExpression operation) { base.VisitSimpleAssignmentExpression(operation); }
public virtual void VisitSimpleAssignmentExpression(ISimpleAssignmentExpression operation) { DefaultVisit(operation); }
private static bool IsAssignmentToGet(ISimpleAssignmentExpression simpleAssignmentExpression) { var target = simpleAssignmentExpression.Dest as IReferenceExpression; return(target != null && target.Name == "$get" && target.Qualifier is IThisExpression); }
public override void VisitSimpleAssignmentExpression(ISimpleAssignmentExpression simpleAssignmentExpression) { ProcessInjectionIntoProviderGet(simpleAssignmentExpression); base.VisitSimpleAssignmentExpression(simpleAssignmentExpression); }
public override IOperation VisitSimpleAssignmentExpression(ISimpleAssignmentExpression operation, object argument) { return(new SimpleAssignmentExpression(Visit(operation.Target), Visit(operation.Value), ((Operation)operation).SemanticModel, operation.Syntax, operation.Type, operation.ConstantValue, operation.IsImplicit)); }
// Inject into $get factory functions // Improves type information for the returned provider // this.$get = [ '$cacheFactory', function($cacheFactory) { ... private void ProcessInjectionIntoProviderGet(ISimpleAssignmentExpression simpleAssignmentExpression) { if (IsAssignmentToGet(simpleAssignmentExpression)) { var factoryFunction = GetFactoryFunction(simpleAssignmentExpression.Source); if (factoryFunction == null) return; ProcessServiceInjection(simpleAssignmentExpression.Source, factoryFunction); } }
private static bool IsAssignmentToGet(ISimpleAssignmentExpression simpleAssignmentExpression) { var target = simpleAssignmentExpression.Dest as IReferenceExpression; return target != null && target.Name == "$get" && target.Qualifier is IThisExpression; }