示例#1
0
 public AstClassMethod(
     AstVisibilityModifier visibility,
     AstStaticModifier staticMod,
     AstIdExpression typeDef,
     AstIdExpression name,
     AstArgumentsDefList argumentsDefinition,
     AstStatementsBlock statementsBlock
 )
 {
     Visibility = visibility;
     Static = staticMod;
     TypeDef = typeDef;
     Name = name;
     ArgumentsDefinition = argumentsDefinition;
     StatementsBlock = statementsBlock;
 }
 public override bool Visit(AstVisibilityModifier node)
 {
     return true;
 }
示例#3
0
 public AstClassField(
     AstVisibilityModifier visibility,
     AstStaticModifier staticMod,
     AstIdExpression typeDef,
     AstIdExpression name
 )
 {
     Visibility = visibility;
     Static = staticMod;
     TypeDef = typeDef;
     Name = name;
 }
示例#4
0
 // #VISIBILITY_MODIFIER PUBLIC
 private void ConstructPublicVisibilityModifier()
 {
     var mod = new AstVisibilityModifier(VisibilityModifier.PUBLIC);
     PushNode(mod);
 }
示例#5
0
 // #VISIBILITY_MODIFIER PRIVATE
 private void ConstructPrivateVisibilityModifier()
 {
     var mod = new AstVisibilityModifier(VisibilityModifier.PRIVATE);
     PushNode(mod);
 }
 private string GetLLVMVisibility(AstVisibilityModifier node)
 {
     switch (node.Value)
     {
         case VisibilityModifier.PRIVATE:
             return "private";
         case VisibilityModifier.PUBLIC:
             return "external";
         default:
             return "";
     }
 }
 public abstract bool Visit(AstVisibilityModifier node);