Package sc.lang.js

Class JSRuntimeProcessor.JSBuildInfo

  • All Implemented Interfaces:
    java.io.Serializable
    Enclosing class:
    JSRuntimeProcessor

    public static class JSRuntimeProcessor.JSBuildInfo
    extends java.lang.Object
    implements java.io.Serializable
    This is the info that is preserved for an incremental build. For a full build, it gets created from scratch. TODO: currently does not support 'remove' of a type. We'll need to force a complete build then for this to work.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      java.util.HashMap<java.lang.String,​java.util.HashSet<java.lang.String>> aliasedPackages
      Used to implement mappings so you can replace one package source in the java/compiled world with another during the JS environment - e.g.
      java.util.ArrayList<java.lang.String> jsFiles
      All javascript files - both libraries and generated
      java.util.HashMap<java.lang.String,​JSRuntimeProcessor.JSGenFile> jsGenFiles
      Just library generated files
      java.util.HashSet<java.lang.String> jsLibFiles
      Just library javascript files
      java.util.HashMap<java.lang.String,​java.lang.String> jsLibFilesForType
      Cached jsLibFiles for a given type name
      java.util.HashMap<java.lang.String,​java.lang.String> jsModuleNames
      Cached jsModuleFile for a given type name
      java.util.HashMap<java.lang.String,​JSRuntimeProcessor.JSTypeInfo> jsTypeInfo
      Map from Java type names to JSTypeInfo for that type
      java.util.HashMap<java.lang.String,​JSRuntimeProcessor.JSTypeInfo> jsTypeInfoByJS
      Map from JS type names to JSTypeInfo for that type
      java.util.HashMap<java.lang.String,​java.lang.String> prefixAliases  
      java.util.HashMap<java.lang.String,​java.lang.String> replaceNativeTypes
      Like replaceTypes but for types where there's no _c variant for types
      java.util.HashMap<java.lang.String,​java.lang.String> replaceTypes
      Map from Java full type name to the JS type name to use
      java.util.HashMap<java.lang.String,​java.util.List<java.lang.String>> typeAliases
      The inverse of replaceTypes - the list of Java types registered for a given JS type
      java.util.HashSet<sc.lang.js.JSRuntimeProcessor.JSFileDep> typeDeps
      Maintains the dependencies between the JS files.
      java.util.HashMap<java.lang.String,​java.util.List<sc.lang.js.JSRuntimeProcessor.JSFileDep>> typeDepsByType  
    • Constructor Summary

      Constructors 
      Constructor Description
      JSBuildInfo()  
    • Field Detail

      • jsLibFiles

        public java.util.HashSet<java.lang.String> jsLibFiles
        Just library javascript files
      • jsFiles

        public java.util.ArrayList<java.lang.String> jsFiles
        All javascript files - both libraries and generated
      • typeDeps

        public java.util.HashSet<sc.lang.js.JSRuntimeProcessor.JSFileDep> typeDeps
        Maintains the dependencies between the JS files. Used to figure out when we have cyclic references and to order the includes
      • typeDepsByType

        public java.util.HashMap<java.lang.String,​java.util.List<sc.lang.js.JSRuntimeProcessor.JSFileDep>> typeDepsByType
      • prefixAliases

        public java.util.HashMap<java.lang.String,​java.lang.String> prefixAliases
      • aliasedPackages

        public java.util.HashMap<java.lang.String,​java.util.HashSet<java.lang.String>> aliasedPackages
        Used to implement mappings so you can replace one package source in the java/compiled world with another during the JS environment - e.g. how we substitute in the JS version of the binding code
      • replaceTypes

        public java.util.HashMap<java.lang.String,​java.lang.String> replaceTypes
        Map from Java full type name to the JS type name to use
      • replaceNativeTypes

        public java.util.HashMap<java.lang.String,​java.lang.String> replaceNativeTypes
        Like replaceTypes but for types where there's no _c variant for types
      • typeAliases

        public java.util.HashMap<java.lang.String,​java.util.List<java.lang.String>> typeAliases
        The inverse of replaceTypes - the list of Java types registered for a given JS type
      • jsModuleNames

        public java.util.HashMap<java.lang.String,​java.lang.String> jsModuleNames
        Cached jsModuleFile for a given type name
      • jsLibFilesForType

        public java.util.HashMap<java.lang.String,​java.lang.String> jsLibFilesForType
        Cached jsLibFiles for a given type name
      • jsTypeInfo

        public java.util.HashMap<java.lang.String,​JSRuntimeProcessor.JSTypeInfo> jsTypeInfo
        Map from Java type names to JSTypeInfo for that type
      • jsTypeInfoByJS

        public java.util.HashMap<java.lang.String,​JSRuntimeProcessor.JSTypeInfo> jsTypeInfoByJS
        Map from JS type names to JSTypeInfo for that type
    • Constructor Detail

      • JSBuildInfo

        public JSBuildInfo()
    • Method Detail

      • addReplaceType

        public void addReplaceType​(java.lang.String javaType,
                                   java.lang.String jsType,
                                   boolean nativeReplace)
      • addJSGenFile

        public void addJSGenFile​(java.lang.String fileName,
                                 BodyTypeDeclaration type)