/// <summary> /// Produces the right visibility token for a node. /// </summary> /// <param name="tokenList">The <see cref="SyntaxTokenList"/> containing the list of modifiers.</param> /// <returns></returns> public static VisibilityToken Get(this SyntaxTokenList tokenList) { if (tokenList == null) { throw new ArgumentNullException("tokenList"); } VisibilityToken visibility = VisibilityToken.None; foreach (SyntaxToken token in tokenList) { if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Public)) == 0) { visibility = visibility | VisibilityToken.Public; continue; } if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Private)) == 0) { visibility = visibility | VisibilityToken.Private; continue; } if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Internal)) == 0) { visibility = visibility | VisibilityToken.Internal; continue; } if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Protected)) == 0) { visibility = visibility | VisibilityToken.Protected; continue; } if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Static)) == 0) { visibility = visibility | VisibilityToken.Static; continue; } } return(visibility); }
/// <summary> /// Converts the visibility into the appropriate TypeScript token. /// </summary> /// <param name="visibilityToken">The visibility.</param> /// <returns></returns> public static string ToString(this VisibilityToken visibilityToken) { string representation = string.Empty; if (visibilityToken != VisibilityToken.None) { var modifiers = new List <string>(); foreach (VisibilityToken flag in Enum.GetValues(typeof(VisibilityToken))) { if (flag == VisibilityToken.None) { continue; } if (visibilityToken.HasFlag(flag)) { modifiers.Add(flag.ToString("G").ToLower()); } } representation = string.Join(" ", modifiers); } return(representation); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <returns></returns> public static ConstructorDeclarationTranslationUnit Create(VisibilityToken visibility) { return(new ConstructorDeclarationTranslationUnit() { Visibility = visibility, ReturnType = null }); }
/// <summary> /// Initializes a new instance of the <see cref="PropertyDefinitionTranslationUnit"/> class. /// </summary> /// <param name="name"></param> /// <param name="returnType"></param> /// <param name="visibility"></param> protected PropertyDefinitionTranslationUnit(ITranslationUnit name, ITranslationUnit returnType, VisibilityToken visibility) : base(name, visibility) { this.type = returnType; this.hasGet = true; this.hasSet = true; }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <returns></returns> public static ConstructorDeclarationTranslationUnit Create(VisibilityToken visibility) { return new ConstructorDeclarationTranslationUnit() { Visibility = visibility, ReturnType = null }; }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <returns></returns> public static ConstructorDefinitionTranslationUnit Create(VisibilityToken visibility) { return(new ConstructorDefinitionTranslationUnit() { Visibility = visibility, Name = IdentifierTranslationUnit.Create(Lexems.ConstructorKeyword), ReturnType = null }); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="name"></param> /// <returns></returns> public static ITranslationUnit BuildInterfaceTranslationUnit(VisibilityToken visibility, string name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } return(InterfaceDeclarationTranslationUnit.Create( visibility, IdentifierTranslationUnit.Create(name))); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="name"></param> /// <param name="baseClassName"></param> /// <returns></returns> public static ITranslationUnit BuildClassTranslationUnit(VisibilityToken visibility, string name, string baseClassName) { if (name == null) { throw new ArgumentNullException(nameof(name)); } return ClassDeclarationTranslationUnit.Create( visibility, IdentifierTranslationUnit.Create(name), baseClassName == null ? null : IdentifierTranslationUnit.Create(baseClassName)); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="returnType"></param> /// <param name="name"></param> /// <returns></returns> public static ITranslationUnit BuildMethodSignatureTranslationUnit(VisibilityToken visibility, string returnType, string name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } return(MethodSignatureDeclarationTranslationUnit.Create( visibility, returnType == null ? null : TypeIdentifierTranslationUnit.Create(returnType), IdentifierTranslationUnit.Create(name))); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="name"></param> /// <param name="baseClassName"></param> /// <returns></returns> public static ITranslationUnit BuildClassTranslationUnit(VisibilityToken visibility, string name, string baseClassName) { if (name == null) { throw new ArgumentNullException(nameof(name)); } return(ClassDeclarationTranslationUnit.Create( visibility, IdentifierTranslationUnit.Create(name), baseClassName == null ? null : IdentifierTranslationUnit.Create(baseClassName))); }
/// <summary> /// Initializes a new instance of the <see cref="PropertyDeclarationTranslationUnit"/> class. /// </summary> /// <param name="name"></param> /// <param name="returnType"></param> /// <param name="visibility"></param> protected PropertyDeclarationTranslationUnit(ITranslationUnit name, ITranslationUnit returnType, VisibilityToken visibility) : base(name, visibility) { // We create empty groups this.getStatements = StatementsGroupTranslationUnit.Create(); this.setStatements = StatementsGroupTranslationUnit.Create(); this.type = returnType; this.hasGet = true; this.hasSet = true; }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="name"></param> /// <returns></returns> public static new EmptyInterfaceDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name) { if (name == null) { throw new ArgumentNullException(nameof(name), "Interface name cannot be null!"); } return new EmptyInterfaceDefinitionTranslationUnit() { Visibility = visibility, Name = name }; }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="name"></param> /// <returns></returns> public static EnumTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name) { if (name == null) { throw new ArgumentNullException(nameof(name), "Enum name cannot be null!"); } return(new EnumTranslationUnit() { Visibility = visibility, Name = name }); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="name"></param> /// <returns></returns> public static new InterfaceDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name) { if (name == null) { throw new ArgumentNullException(nameof(name), "Interface name cannot be null!"); } return(new InterfaceDefinitionTranslationUnit() { Visibility = visibility, Name = name }); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="type"></param> /// <param name="name"></param> /// <returns></returns> public static ITranslationUnit BuildMemberTranslationUnit(VisibilityToken visibility, string type, string name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (type == null) { throw new ArgumentNullException(nameof(type)); } return FieldDeclarationTranslationUnit.Create( visibility, IdentifierTranslationUnit.Create(type), IdentifierTranslationUnit.Create(name)); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="returnType"></param> /// <param name="name"></param> /// <returns></returns> public new static MethodDeclarationTranslationUnit Create(VisibilityToken visibility, ITranslationUnit returnType, ITranslationUnit name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } return(new MethodDeclarationTranslationUnit() { Visibility = visibility, Name = name, ReturnType = returnType }); }
public void Static() { VisibilityToken source = VisibilityToken.None; source |= VisibilityToken.Static; VisibilityToken equivalent = source.ConvertToTypeScriptEquivalent(); Assert.IsFalse(equivalent.HasFlag(VisibilityToken.Public), "A flag was not expected in the equivalent modifiers list."); Assert.IsFalse(equivalent.HasFlag(VisibilityToken.Protected), "A flag was not expected in the equivalent modifiers list."); Assert.IsFalse(equivalent.HasFlag(VisibilityToken.Private), "A flag was not expected in the equivalent modifiers list."); Assert.IsFalse(equivalent.HasFlag(VisibilityToken.Internal), "A flag was not expected in the equivalent modifiers list."); Assert.IsTrue(equivalent.HasFlag(VisibilityToken.Static), "A flag was expected in the equivalent modifiers list."); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="type"></param> /// <param name="name"></param> /// <returns></returns> public static ITranslationUnit BuildMemberTranslationUnit(VisibilityToken visibility, string type, string name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (type == null) { throw new ArgumentNullException(nameof(type)); } return(FieldDeclarationTranslationUnit.Create( visibility, IdentifierTranslationUnit.Create(type), IdentifierTranslationUnit.Create(name))); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="statements"></param> /// <returns></returns> public static ITranslationUnit BuildConstructorTranslationUnit(VisibilityToken visibility, ITranslationUnit[] statements = null) { ConstructorDeclarationTranslationUnit translationUnit = ConstructorDeclarationTranslationUnit.Create(visibility); if (statements != null) { foreach (ITranslationUnit statement in statements) { translationUnit.AddStatement(statement); } } return translationUnit; }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="name"></param> /// <param name="baseClassName"></param> /// <returns></returns> public static new ClassDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name, ITranslationUnit baseClassName) { if (name == null) { throw new ArgumentNullException(nameof(name), "Class name cannot be null!"); } return new ClassDefinitionTranslationUnit() { Visibility = visibility, Name = name, BaseClassName = baseClassName }; }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="name"></param> /// <param name="baseClassName"></param> /// <returns></returns> public static new ClassDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name, ITranslationUnit baseClassName) { if (name == null) { throw new ArgumentNullException(nameof(name), "Class name cannot be null!"); } return(new ClassDefinitionTranslationUnit() { Visibility = visibility, Name = name, BaseClassName = baseClassName }); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="statements"></param> /// <returns></returns> public static ITranslationUnit BuildConstructorTranslationUnit(VisibilityToken visibility, ITranslationUnit[] statements = null) { ConstructorDeclarationTranslationUnit translationUnit = ConstructorDeclarationTranslationUnit.Create(visibility); if (statements != null) { foreach (ITranslationUnit statement in statements) { translationUnit.AddStatement(statement); } } return(translationUnit); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="returnType"></param> /// <param name="name"></param> /// <returns></returns> public static new MethodDeclarationTranslationUnit Create( VisibilityToken visibility, ITranslationUnit returnType, ITranslationUnit name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } return new MethodDeclarationTranslationUnit() { Visibility = visibility, Name = name, ReturnType = returnType }; }
public void PrivateVisibilityTokenApplied() { VisibilityToken visibility = VisibilityToken.Private; ITranslationUnit translationUnit = MethodDeclarationTranslationUnit.Create( visibility, IdentifierTranslationUnit.Void, IdentifierTranslationUnit.Create("SampleMethod")); string typescript = translationUnit.Translate(); new Utils.FileWriter(TestSuite.Context).WriteToFile(typescript, string.Format("{0}.Method", nameof(this.PrivateVisibilityTokenApplied)), Utils.FileType.TypeScript); Assert.IsTrue(typescript.Contains(TokenUtility.PrivateVisibilityToken), string.Format("Token {0} expected!", TokenUtility.PrivateVisibilityToken)); }
/// <summary> /// Generates a <see cref="VisibilityToken"/> which is fully TypeScript compliant. /// </summary> /// <param name="visibilityToken"></param> /// <returns></returns> public static VisibilityToken ConvertToTypeScriptEquivalent(this VisibilityToken visibilityToken) { VisibilityToken modifiers = VisibilityToken.None; if (visibilityToken.HasFlag(VisibilityToken.Static)) { modifiers |= VisibilityToken.Static; } if (visibilityToken.HasFlag(VisibilityToken.Private)) { modifiers |= VisibilityToken.Private; return(modifiers); } if (visibilityToken.HasFlag(VisibilityToken.Public)) { modifiers |= VisibilityToken.Public; return(modifiers); } if (visibilityToken.HasFlag(VisibilityToken.Protected)) { modifiers |= VisibilityToken.Protected; if (visibilityToken.HasFlag(VisibilityToken.Internal)) { modifiers &= ~VisibilityToken.Protected; // Remove protected modifiers |= VisibilityToken.Public; // Add public return(modifiers); } return(modifiers); } if (visibilityToken.HasFlag(VisibilityToken.Internal)) { modifiers |= VisibilityToken.Public; return(modifiers); } return(modifiers); }
public void NoVisibilityTokenApplied() { VisibilityToken visibility = VisibilityToken.None; ITranslationUnit translationUnit = ClassDeclarationTranslationUnit.Create( visibility, IdentifierTranslationUnit.Create("SampleClass"), null); string typescript = translationUnit.Translate(); new Utils.FileWriter(TestSuite.Context).WriteToFile(typescript, string.Format("{0}.Class", nameof(this.NoVisibilityTokenApplied)), Utils.FileType.TypeScript); Assert.IsFalse(typescript.Contains(TokenUtility.PublicVisibilityToken), string.Format("Token {0} not expected!", TokenUtility.PublicVisibilityToken)); Assert.IsFalse(typescript.Contains(TokenUtility.PrivateVisibilityToken), string.Format("Token {0} not expected!", TokenUtility.PrivateVisibilityToken)); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="type"></param> /// <param name="name"></param> /// <returns></returns> public static new FieldDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name) { if (type == null) { throw new ArgumentNullException(nameof(type)); } if (name == null) { throw new ArgumentNullException(nameof(name)); } return new FieldDefinitionTranslationUnit() { Visibility = visibility, Name = name, Type = type }; }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="type"></param> /// <param name="name"></param> /// <returns></returns> public static new FieldDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name) { if (type == null) { throw new ArgumentNullException(nameof(type)); } if (name == null) { throw new ArgumentNullException(nameof(name)); } return(new FieldDefinitionTranslationUnit() { Visibility = visibility, Name = name, Type = type }); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="type"></param> /// <param name="name"></param> /// <param name="hasGet"></param> /// <param name="hasSet"></param> /// <returns></returns> public static PropertyDeclarationTranslationUnit Create( VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name, bool hasGet = true, bool hasSet = true) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (type == null) { throw new ArgumentNullException(nameof(type)); } return(new PropertyDeclarationTranslationUnit() { Visibility = visibility, Name = name, type = type }); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="returnType"></param> /// <param name="name"></param> /// <param name="statements"></param> /// <returns></returns> public static ITranslationUnit BuildMethodTranslationUnit(VisibilityToken visibility, string returnType, string name, ITranslationUnit[] statements = null) { if (name == null) { throw new ArgumentNullException(nameof(name)); } MethodDeclarationTranslationUnit translationUnit = MethodDeclarationTranslationUnit.Create( visibility, returnType == null ? null : IdentifierTranslationUnit.Create(returnType), IdentifierTranslationUnit.Create(name)); if (statements != null) { foreach (ITranslationUnit statement in statements) { translationUnit.AddStatement(statement); } } return(translationUnit); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="returnType"></param> /// <param name="name"></param> /// <param name="statements"></param> /// <returns></returns> public static ITranslationUnit BuildMethodTranslationUnit(VisibilityToken visibility, string returnType, string name, ITranslationUnit[] statements = null) { if (name == null) { throw new ArgumentNullException(nameof(name)); } MethodDeclarationTranslationUnit translationUnit = MethodDeclarationTranslationUnit.Create( visibility, returnType == null ? null : IdentifierTranslationUnit.Create(returnType), IdentifierTranslationUnit.Create(name)); if (statements != null) { foreach (ITranslationUnit statement in statements) { translationUnit.AddStatement(statement); } } return translationUnit; }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="returnType"></param> /// <param name="name"></param> /// <param name="getStatements"></param> /// <param name="setStatements"></param> /// <returns></returns> public static ITranslationUnit BuildPropertyTranslationUnit(VisibilityToken visibility, string returnType, string name, ITranslationUnit[] getStatements = null, ITranslationUnit[] setStatements = null) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (returnType == null) { throw new ArgumentNullException(nameof(returnType)); } PropertyDeclarationTranslationUnit translationUnit = PropertyDeclarationTranslationUnit.Create( visibility, TypeIdentifierTranslationUnit.Create(returnType), IdentifierTranslationUnit.Create(name), true, true); if (getStatements != null) { var statementsGroup = StatementsGroupTranslationUnit.Create(); foreach (ITranslationUnit statement in getStatements) { statementsGroup.AddStatement(statement); } translationUnit.SetGetAccessor(statementsGroup); } if (setStatements != null) { var statementsGroup = StatementsGroupTranslationUnit.Create(); foreach (ITranslationUnit statement in setStatements) { statementsGroup.AddStatement(statement); } translationUnit.SetSetAccessor(statementsGroup); } return(translationUnit); }
/// <summary> /// Initializes a new instance of the <see cref="ScopedElementTranslationUnit"/>. /// </summary> /// <param name="visibility"></param> /// <param name="nestingLevel"></param> protected ScopedElementTranslationUnit(VisibilityToken visibility, int nestingLevel) : base(nestingLevel) { this.Visibility = visibility; }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <returns></returns> protected virtual ITranslationUnit CreateTranslationUnit(VisibilityToken visibility) { return ConstructorDeclarationTranslationUnit.Create(visibility); }
/// <summary> /// Initializes a new instance of the <see cref="ScopedElementTranslationUnit"/>. /// </summary> /// <param name="visibility"></param> protected ScopedElementTranslationUnit(VisibilityToken visibility) : this(visibility, AutomaticNestingLevel) { }
/// <summary> /// Converts the visibility into the appropriate TypeScript token. /// </summary> /// <param name="visibilityToken">The visibility.</param> /// <returns></returns> public static string ToString(this VisibilityToken visibilityToken) { return(visibilityToken != VisibilityToken.None ? visibilityToken.ToString("G").ToLower() : string.Empty); }
/// <summary> /// Gets a value indicating whether the visibility is expression access to member. /// </summary> /// <param name="visibilityToken"></param> /// <returns></returns> public static bool IsExposedVisibility(this VisibilityToken visibilityToken) { return(visibilityToken.HasFlag(VisibilityToken.Public) || visibilityToken.HasFlag(VisibilityToken.Internal)); }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="InterfaceDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <param name="name"></param> /// <returns></returns> protected virtual ITranslationUnit CreateTranslationUnit(VisibilityToken visibility, ITranslationUnit name) { return InterfaceDeclarationTranslationUnit.Create(visibility, name); }
/// <summary> /// Creates the translation unit. /// </summary> /// <param name="visibility"></param> /// <param name="type"></param> /// <param name="name"></param> /// <param name="hasGet"></param> /// <param name="hasSet"></param> /// <returns></returns> protected override ITranslationUnit CreateTranslationUnit( VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name, bool hasGet, bool hasSet) { return PropertyDefinitionTranslationUnit.Create(visibility, type, name, hasGet, hasSet); }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <returns></returns> protected override ITranslationUnit CreateTranslationUnit(VisibilityToken visibility) { return ConstructorDefinitionTranslationUnit.Create(visibility); }
/// <summary> /// Creates the translation unit. /// </summary> /// <param name="visibility"></param> /// <param name="type"></param> /// <param name="name"></param> /// <returns></returns> protected virtual ITranslationUnit CreateTranslationUnit( VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name) { return FieldDeclarationTranslationUnit.Create(visibility, type, name); }
/// <summary> /// Initializes a new instance of the <see cref="FieldDefinitionTranslationUnit"/> class. /// </summary> /// <param name="name"></param> /// <param name="visibility"></param> protected FieldDefinitionTranslationUnit(ITranslationUnit name, VisibilityToken visibility) : base(name, visibility) { }
/// <summary> /// Initializes a new instance of the <see cref="FieldDeclarationTranslationUnit"/> class. /// </summary> /// <param name="name"></param> /// <param name="visibility"></param> protected FieldDeclarationTranslationUnit(ITranslationUnit name, VisibilityToken visibility) : base(name, visibility) { this.Type = null; }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <param name="returnType"></param> /// <param name="name"></param> /// <returns></returns> protected virtual ITranslationUnit CreateTranslationUnit( VisibilityToken visibility, ITranslationUnit returnType, ITranslationUnit name) { return MethodDeclarationTranslationUnit.Create(visibility, returnType, name); }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="ClassDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <param name="name"></param> /// <param name="baseClassName"></param> /// <returns></returns> protected override ITranslationUnit CreateTranslationUnit( VisibilityToken visibility, ITranslationUnit name, ITranslationUnit baseClassName) { return(ClassDefinitionTranslationUnit.Create(visibility, name, baseClassName)); }
/// <summary> /// Initializes a new instance of the <see cref="PropertyDefinitionTranslationUnit"/> class. /// </summary> /// <param name="name"></param> /// <param name="returnType"></param> /// <param name="visibility"></param> protected PropertyDefinitionTranslationUnit(ITranslationUnit name, ITranslationUnit returnType, VisibilityToken visibility) : base(name, visibility) { this.type = returnType; this.hasGet = true; this.hasSet = true; }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="name"></param> /// <returns></returns> public static EnumTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name) { if (name == null) { throw new ArgumentNullException(nameof(name), "Enum name cannot be null!"); } return new EnumTranslationUnit() { Visibility = visibility, Name = name }; }
/// <summary> /// Initializes a new instance of the <see cref="PropertyDeclarationTranslationUnit"/> class. /// </summary> /// <param name="name"></param> /// <param name="returnType"></param> /// <param name="visibility"></param> protected PropertyDeclarationTranslationUnit(ITranslationUnit name, ITranslationUnit returnType, VisibilityToken visibility) : base(name, visibility) { // We create empty groups this.getStatements = StatementsGroupTranslationUnit.Create(); this.setStatements = StatementsGroupTranslationUnit.Create(); this.type = returnType; this.hasGet = true; this.hasSet = true; }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="EnumTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <param name="name"></param> /// <returns></returns> protected virtual ITranslationUnit CreateTranslationUnit(VisibilityToken visibility, ITranslationUnit name) { return(EnumTranslationUnit.Create(visibility, name)); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="type"></param> /// <param name="name"></param> /// <param name="hasGet"></param> /// <param name="hasSet"></param> /// <returns></returns> public static PropertyDeclarationTranslationUnit Create( VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name, bool hasGet = true, bool hasSet = true) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (type == null) { throw new ArgumentNullException(nameof(type)); } return new PropertyDeclarationTranslationUnit() { Visibility = visibility, Name = name, type = type }; }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="InterfaceDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <param name="name"></param> /// <returns></returns> protected virtual ITranslationUnit CreateTranslationUnit(VisibilityToken visibility, ITranslationUnit name) { return(InterfaceDeclarationTranslationUnit.Create(visibility, name)); }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="ClassDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <param name="name"></param> /// <param name="baseClassName"></param> /// <returns></returns> protected override ITranslationUnit CreateTranslationUnit( VisibilityToken visibility, ITranslationUnit name, ITranslationUnit baseClassName) { return ClassDefinitionTranslationUnit.Create(visibility, name, baseClassName); }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="ClassDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <param name="name"></param> /// <param name="baseClassName"></param> /// <returns></returns> protected virtual ITranslationUnit CreateTranslationUnit( VisibilityToken visibility, ITranslationUnit name, ITranslationUnit baseClassName) { return ClassDeclarationTranslationUnit.Create(visibility, name, baseClassName); }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <returns></returns> protected virtual ITranslationUnit CreateTranslationUnit(VisibilityToken visibility) { return(ConstructorDeclarationTranslationUnit.Create(visibility)); }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <param name="returnType"></param> /// <param name="name"></param> /// <returns></returns> protected override ITranslationUnit CreateTranslationUnit( VisibilityToken visibility, ITranslationUnit returnType, ITranslationUnit name) { return MethodDefinitionTranslationUnit.Create(visibility, returnType, name); }
/// <summary> /// Creates the translation unit. /// </summary> /// <param name="visibility"></param> /// <param name="type"></param> /// <param name="name"></param> /// <returns></returns> protected override ITranslationUnit CreateTranslationUnit( VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name) { return FieldDefinitionTranslationUnit.Create(visibility, type, name); }
/// <summary> /// /// </summary> /// <param name="visibility"></param> /// <param name="returnType"></param> /// <param name="name"></param> /// <param name="getStatements"></param> /// <param name="setStatements"></param> /// <returns></returns> public static ITranslationUnit BuildPropertyTranslationUnit(VisibilityToken visibility, string returnType, string name, ITranslationUnit[] getStatements = null, ITranslationUnit[] setStatements = null) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (returnType == null) { throw new ArgumentNullException(nameof(returnType)); } PropertyDeclarationTranslationUnit translationUnit = PropertyDeclarationTranslationUnit.Create( visibility, TypeIdentifierTranslationUnit.Create(returnType), IdentifierTranslationUnit.Create(name), true, true); if (getStatements != null) { var statementsGroup = StatementsGroupTranslationUnit.Create(); foreach (ITranslationUnit statement in getStatements) { statementsGroup.AddStatement(statement); } translationUnit.SetGetAccessor(statementsGroup); } if (setStatements != null) { var statementsGroup = StatementsGroupTranslationUnit.Create(); foreach (ITranslationUnit statement in setStatements) { statementsGroup.AddStatement(statement); } translationUnit.SetSetAccessor(statementsGroup); } return translationUnit; }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <returns></returns> protected override ITranslationUnit CreateTranslationUnit(VisibilityToken visibility) { return(ConstructorDefinitionTranslationUnit.Create(visibility)); }
/// <summary> /// Creates the translation unit. /// </summary> /// <remarks> /// Must return a type inheriting from <see cref="InterfaceDeclarationTranslationUnit"/>. /// </remarks> /// <param name="visibility"></param> /// <param name="name"></param> /// <returns></returns> protected override ITranslationUnit CreateTranslationUnit(VisibilityToken visibility, ITranslationUnit name) { return InterfaceDefinitionTranslationUnit.Create(visibility, name); }
/// <summary> /// Initializes a new instance of the <see cref="MemberTranslationUnit"/>. /// </summary> /// <param name="name"></param> /// <param name="visibility"></param> protected MemberTranslationUnit(ITranslationUnit name, VisibilityToken visibility) : base(visibility) { this.Name = name; }