Example usage for com.google.gwt.core.ext.linker SymbolData getJsniIdent

List of usage examples for com.google.gwt.core.ext.linker SymbolData getJsniIdent

Introduction

In this page you can find the example usage for com.google.gwt.core.ext.linker SymbolData getJsniIdent.

Prototype

String getJsniIdent();

Source Link

Document

Returns a JSNI-like identifier for the symbol if it a method or field, otherwise null.

Usage

From source file:com.ait.toolkit.node.dev.linker.NodeJsSymbolStoreLinker.java

License:Open Source License

private String buildSymbolJson(SymbolData symbol) {
    return new StringBuilder("{").append("'className' : ").append(toJsValue(symbol.getClassName())).append(',')
            .append("'jsniIdent' : ").append(toJsValue(symbol.getJsniIdent())).append(',')
            .append("'memberName' : ").append(toJsValue(symbol.getMemberName())).append(',')
            .append("'queryId' : ").append(toJsValue(symbol.getQueryId())).append(',').append("'sourceLine' : ")
            .append(toJsValue(symbol.getSourceLine())).append(',').append("'sourceUri' : ")
            .append(toJsValue(symbol.getSourceUri())).append(',').append("'symbolName' : ")
            .append(toJsValue(symbol.getSymbolName())).append(',').append("'isClass' : ")
            .append(toJsValue(symbol.isClass())).append(',').append("'isField' : ")
            .append(toJsValue(symbol.isField())).append(',').append("'isMethod' : ")
            .append(toJsValue(symbol.isMethod())).append("}").toString();
}

From source file:com.didactilab.gwt.phprpc.linker.PhpClientOracleLinker.java

License:Apache License

@Override
public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts, boolean onePermutation)
        throws UnableToCompleteException {

    if (onePermutation) {
        artifacts = new ArtifactSet(artifacts);

        Map<String, List<String>> allSerializableFields = new HashMap<String, List<String>>();

        for (RpcDataArtifact data : artifacts.find(RpcDataArtifact.class)) {
            allSerializableFields.putAll(data.getOperableFields());
        }/*  ww w .jav a2s .  c o m*/

        for (CompilationResult result : artifacts.find(CompilationResult.class)) {
            PhpWebClientOracleBuilder builder = new PhpWebClientOracleBuilder();

            for (Map.Entry<String, List<String>> entry : allSerializableFields.entrySet()) {
                builder.setSerializableFields(entry.getKey(), entry.getValue());
            }

            for (SymbolData symbolData : result.getSymbolMap()) {

                String castableTypeMapString = (symbolData.getCastableTypeMap() == null) ? null
                        : symbolData.getCastableTypeMap().toJs();

                builder.add(symbolData.getSymbolName(), symbolData.getJsniIdent(), symbolData.getClassName(),
                        symbolData.getMemberName(), symbolData.getQueryId(),
                        new CastableTypeDataImpl(castableTypeMapString));
            }

            ByteArrayOutputStream out = new ByteArrayOutputStream();
            try {
                builder.store(out);
            } catch (IOException e) {
                // Should generally not happen
                logger.log(TreeLogger.ERROR, "Unable to store deRPC data", e);
                throw new UnableToCompleteException();
            }

            SyntheticArtifact a = emitBytes(logger, out.toByteArray(), result.getStrongName() + SUFFIX);
            artifacts.add(a);
        }
    }
    return artifacts;
}