All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schemas.java-specific.json Maven / Gradle / Ivy

The newest version!
{
    "nodeKeys" : [
      {"id": 14, "name" : "BINARY_SIGNATURE", "comment" : "Binary type signature", "valueType" : "string", "cardinality" : "zeroOrOne" },
      {"id": 20, "name" : "CONTENT", "comment" : "Content of CONFIG_FILE node", "valueType" : "string", "cardinality" : "one"}
    ],

    "nodeTypes" : [

        // New node types introduced for annotations
        // This is only intended for Java.

        {"id" : 5, "name" : "ANNOTATION",
         "keys": ["CODE", "NAME", "FULL_NAME", "ORDER"],
         "comment" : "A method annotation",
         "outEdges" : [
             {"edgeName": "AST", "inNodes": ["ANNOTATION_PARAMETER_ASSIGN"]}
         ],
          "is" : ["AST_NODE"]
        },

        {"id" : 6, "name" : "ANNOTATION_PARAMETER_ASSIGN",
         "keys" : ["CODE", "ORDER"],
         "comment" : "Assignment of annotation argument to annotation parameter",
         "outEdges" : [
             {"edgeName": "AST", "inNodes": ["ANNOTATION_PARAMETER", "ARRAY_INITIALIZER", "ANNOTATION_LITERAL", "ANNOTATION"]}
         ],
          "is" : ["AST_NODE"]
        },

        {"id" : 7, "name" : "ANNOTATION_PARAMETER",
         "keys" : ["CODE", "ORDER"],
         "comment" : "Formal annotation parameter",
         "outEdges": [],
          "is" : ["AST_NODE"]
        },

        {"id" : 49, "name" : "ANNOTATION_LITERAL",
         "keys" : ["CODE", "NAME", "ORDER", "COLUMN_NUMBER", "LINE_NUMBER"],
         "comment" : "A literal value assigned to an ANNOTATION_PARAMETER",
         "outEdges" : [ ],
          "is" : ["EXPRESSION"]
        },

        {"name" : "ARRAY_INITIALIZER",
         "keys" : ["CODE", "COLUMN_NUMBER", "LINE_NUMBER", "ORDER"],
         "outEdges" : [
             {"edgeName": "AST", "inNodes": ["LITERAL"]},
             {"edgeName": "EVAL_TYPE", "inNodes": ["TYPE"]}
         ],
	 "is" : ["EXPRESSION"]
        },

        // Modifications to existing node types

        {"name" : "METHOD", "keys" : ["BINARY_SIGNATURE"],
         "outEdges" : [ {"edgeName": "AST", "inNodes": ["ANNOTATION"]} ]
        },
        {
         "name" : "METHOD_PARAMETER_IN", "keys" : [],
         "outEdges" : [{"edgeName" : "AST", "inNodes" : ["ANNOTATION"] }]
        },
        {
         "name" : "TYPE_DECL", "keys" : [],
         "outEdges" : [{"edgeName" : "AST", "inNodes" : ["ANNOTATION"] }]
        },
        {
         "name" : "MEMBER", "keys" : [],
         "outEdges" : [{"edgeName" : "AST", "inNodes" : ["ANNOTATION"] }]
        },

        // Node to store config files.
        { "id":50,
          "name": "CONFIG_FILE",
          "keys": ["NAME", "CONTENT"],
          "comment": "Configuration file contents. Might be in use by a framework",
          "outEdges": []
        }


    ]
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy